Work · 5 projects
Things I've built, and what they cost to run
Client work, internal tools, and open source. Where I can share code, there's a repo link.
Rustfinity
Rustfinity teaches Rust by making people write it. A daily hand-picked challenge drops at midnight, five structured tracks carry you from fundamentals through the standard library, and every submission is compiled by the real Rust toolchain in the cloud, so learners read the same compiler errors they'd hit in production, not a sandbox approximation. Hidden test suites decide when a challenge is done. Nothing to install: the editor, the compiler, the streaks and the leaderboards all live in the browser.
- Rust
- TypeScript
- Next.js
- Postgres
- Docker
RankMill
RankMill turns content marketing into a reviewable pipeline. A research agent reads your site, your competitors and the news around your niche, then proposes topics ranked by opportunity; you approve the ones worth writing; a writer agent drafts them in your brand voice with real structure and internal links; an editor agent takes revisions as plain conversation instead of prompt engineering. Tone rules, banned words and required facts are set once and enforced on every post. Agent runs stream live, budgets are visible to the whole team, and everything exports as markdown or through the CLI, and nothing goes out without an explicit approval.
- TypeScript
- Next.js
- Postgres
- LLM agents
LetterSpace
LetterSpace is a newsletter platform you run yourself: subscriber lists and segments, campaign composition and sending, open and click analytics, custom domains and an API to wire it into whatever you already have. The point is ownership without the usual self-hosted tax: the interface is built to be pleasant to live in daily, not merely functional. End-to-end typed with tRPC and Prisma over Postgres.
- TypeScript
- Next.js
- tRPC
- Prisma
- Postgres
- Tailwind CSS
- shadcn/ui
EasyChess
EasyChess is a focused trainer for the first fifteen moves. Pick an opening, play it back against the board, and repeat the lines until the moves come without thinking. It installs as a PWA on desktop and mobile and works offline, so a queue or a commute is enough time for a session. The whole design goal was to get from opening the app to playing a line in as few taps as possible.
- TypeScript
- React
- PWA
- IndexedDB
Booklover
Booklover is a reading app for the library you already own. Upload a book once and it's available on Windows, macOS, Linux, Android and iOS; your reading position, highlights and notes follow you between them, so closing the laptop mid-chapter and picking up the phone costs nothing. It ships as a PWA rather than five native builds, so you install it from the browser on any platform and it keeps working offline.
- TypeScript
- React
- PWA
- IndexedDB
- Postgres