The stuff I run every day. Built because I needed them — and kept because they work.
Personal
I lose touch with people I actually care about. Not on purpose — I just forget to reach out, and six months disappear. Hearth's the nudge that keeps me from going quiet.
Stack
Next.js · Postgres
Status
V1 live, V2 in planning
Personal
I'm bad at getting my own money back. I'll buy something for work, mean to expense it, then never do — and the reimbursement just evaporates. Fronted makes filing easy enough that "later" stops turning into "never."
Stack
Next.js · Postgres · Claude API
Status
V1 live
iOS app
I've got a stack of things I mean to read and never get to. Reading takes hands and eyes; my commute doesn't. Aloud turns any of it into audio, read in a voice that doesn't sound like a robot — all on the phone.
Stack
Swift · SwiftUI · on-device AI
Status
In build · App Store soon
Personal
Staying current in product and design is a part-time job I don't have time for. So I built one that does it for me — and hands the good stuff back two ways: a tight email and a six-minute podcast for the walk.
Stack
AWS Lambda · Claude API · OpenAI TTS
Status
Live · Mon/Wed/Fri
Personal
I wanted my notes — linked, searchable, mine — without renting someone else's app. So one weekend I rebuilt Obsidian from the ground up. It works. It also taught me something I didn't want to learn.
Stack
Next.js · Postgres · CodeMirror
Status
Shelved · post-mortem inside