Built on my own time
The code is AI’s. Every product decision is mine.
Six builds between April and August 2026. Claude and Codex wrote essentially all the code. The scope, the decisions and the testing are mine. Vard CRM was the first, a frontend, a backend and a database. Before it I had built prototypes, not products.
Why I keep building
Between roles since March, building is how I keep doing product work for real instead of only talking about it.
It also teaches where my own judgement runs out. Architecture, security and what the code will cost to change are where a developer’s judgement lives, not mine.



Vard CRM
CRM for a freelance photographer · 2026
A narrow CRM built around one freelance photographer's actual workflow rather than a general feature set.
Finished for a friend. He got employed before he needed it.
Read more →
This website
Personal site · 2026
Built from scratch as a working product rather than a brochure, and used to test tone, structure and delivery thinking on something I own.
Still changing while I use it for my own job search.
Read more →



Resume Builder
CV document tool · 2026
A structured CV editor that keeps reusable content separate from layout, with fast previews while editing and a rendered PDF check before export.
In production. I use it myself, and a few select friends.
Read more →



Archive Lens
Historical photograph catalogue · 2026 · React, FastAPI, Supabase, Cloud Run
A searchable catalogue for a friend's photograph collection. Originals stay in Google Drive. OCR suggests, a person approves, and only approved records reach the catalogue.
In user testing with the person I built it for. Feedback goes straight back in.
Read more →
News Agent
AI news curation agent · 2026 · Python, FastAPI, PostgreSQL, OpenAI
AI agents wrote the code. I set the spending caps, made the decisions, and checked the AI's news judgement against my own. Closed once I had learned what I set out to learn.
A handful of sessions, closed on purpose. The learning stayed, the product went.
Read more →
Job Matcher
AI job-ad scorer · 2026 · Next.js, OpenRouter
AI agents built it, and I taught it what I want. A scorer that reads job ads and predicts my interest, tuned against 188 of my own ratings. The job boards, not the AI, turned out to be the hard part.
Two days, closed on purpose. The rulebook and the eval lessons keep the value.
Read more →
The harder skill turned out to be judging the result. I scored the AI’s news picks against my own on 46 articles, taught the job scorer with 188 rated ads and then tested it blind, and set spending caps I checked actually stopped things.
They are in the order I built them, and what changed most was not the products. It was how I plan a build, how I write the prompts, and having a second model review the first one’s plan and code before I trust it.
One of these was never used and two were closed on purpose. What each was for, and what it changed, is in the write-ups.