Selected work
Five products, all live.
A curated index, not a wall of cards. Each of these is a real product I design, build, run, and answer for myself. Every entry carries a full written study, the decisions, the tradeoffs taken, and the numbers, and links to the running product and its code.
The index
05 entries, newest thinking first01 / flagship
Fork In The Road
A group decision app that ends the "where should we eat" spiral. One link, everyone votes, no accounts required: guest identity is an HMAC-signed cookie holding zero personal data, and live results stream over Server-Sent Events.
113k → 20k LOC, lines of code, version one to version two.The v2 rewrite deleted six of every seven lines, including whole subsystems that worked but were not the product, and runs with zero cron jobs: deadlines are enforced lazily on every read.
Next.js · React · TypeScript · MongoDB · Clerk · SSE
02
overlapp
Group scheduling that finds when everyone is actually free. Members sync their real calendars or add recurring blocks by hand, and the group gets a live availability heatmap with proposals and quorum voting.
2 built · 1 live, calendar providers behind one adapter seam: Google shipped, Microsoft complete but flag-gated.Recurrence expansion is hand-written plpgsql running inside Postgres, and privacy is enforced at the database layer: the group sees that you are busy, never why.
Next.js · React · TypeScript · Supabase · Postgres RLS
03
PersadPay
Household payroll with real compliance consequences: statutory tax math, W-2 and W-3 generation, and NYS-45 quarterly filings for an actual household employee.
Runs my family’s actual payroll, so accounts are private.
6 filing artifacts, compliance documents generated: W-2, W-3, Schedule H, NYS-45, 1040-ES, year-end packet.The tax engine cites IRS Publication 926 and NY DOL rules inline, and unit tests assert exact dollar amounts, including the scenarios where year-to-date wages cross a cap mid-payment.
Next.js · TypeScript · Supabase · Postgres RLS · TOTP MFA
04
pawscriptions
Pet medication tracking with timezone-aware push reminders and label scanning that never uploads a photo: OCR runs entirely on the device.
Household app behind a passphrase; the study carries screenshots.
0 duplicate sends, duplicate reminders possible under concurrent runs.Concurrent reminder runs can never double-notify. Claim-first inserts against a database unique constraint make the dedup race-safe by construction, not by luck.
Next.js · TypeScript · Supabase · Web Push · Tesseract.js
05 / web + iOS
ProteinChecker
One nutrition calculator, built twice: a native SwiftUI iOS app and a React web port with a written feature-parity matrix. Quality-adjusted protein math (DIAAS and PDCAAS), a 75-source database on the web, and calculation history on both platforms.
web + iOS, platforms built from one product spec.The same product logic expressed in two idioms: React Context and custom hooks on the web, SwiftUI views over a UserDefaults store on iOS, down to the same storage key and the same 100-item history cap.
Next.js · TypeScript · Swift · SwiftUI · Tailwind
The shelf
small hacks, one line each, no studiescalculator
An iOS-style pocket calculator built to a written spec in one day, chained operations and divide-by-zero guards included, with the whole state machine living inside a single state updater.
hue-scenes
A 256-line Node CLI that converts hex palettes to CIE color space and hands them to a Philips Hue bridge as native dynamic scenes, so the porch lights can cycle the Stars and Stripes with no polling loop.
Lives on my LAN and talks to my bridge; nothing to link.
End of the ledger. Small things stay small on purpose.