I take small products all the way to shipped.
A wedding quiz, a solar dashboard, a Mac menu bar app. Each one is live on its own domain and built end to end — schema, API, interface, container, deploy. Agentic workflows do a lot of the typing.
Built and running
-
VowQuiz
vowquiz.comWedding quizzes for the reception. Couples write a “who’s more likely to” round; guests join with a six-character code — no account, no app — and the leaderboard fills up between courses.
A whole product rather than a demo: accounts and Google sign-in, themes, a free tier and a paid one billed through Paddle, an end-to-end test suite, and an image that ships on every push.
- React
- Bun
- Express
- Postgres
- Drizzle
- Paddle
- Playwright
-
câtproduc
catproduc.roSolar production, shared with friends. Your inverter pushes a reading every minute; you get a page with live output, a daily curve and years of history.
Most of the work is about telling the truth. Measured, estimated and self-declared numbers are drawn differently so no roof looks better than it is, and a panel producing nothing at dusk is never confused with an inverter that has quietly stopped talking.
- Next.js
- React
- Drizzle
- Postgres
- Home Assistant
-
KeySound
keysound.filippopa.comMechanical keyboard sounds for your Mac. A menu bar app that plays Cherry MX switch audio as you type.
Separate key-down and key-up samples with randomised pitch, about three milliseconds from press to sound. No dock icon, no window, nothing to configure beyond a volume slider.
- Swift
- AppKit
- AVFoundation
- CoreGraphics
How they get built
One person, from the empty repo to the running container. I design the data model first, keep the stack boring — Postgres, a typed ORM, one deployable image — and put agents to work on everything that is more typing than thinking. Every one of these builds and deploys itself on push, and runs on hardware I look after.
Ten years of shipping behind all this — the longer version.