If I had to keep one sentence about myself it would be this: I build things, learn things, and make worlds. The building is the part I can't switch off. Most days the highest compliment I can pay an idea is to open an editor and start. What follows is the honest version — the things that shipped, the things deliberately sitting on the launchpad, and the one move that's underneath all of it.
The one move
People assume the engine is intelligence. It isn't. The thing I'm actually good at is being fast at finding the right thing to work on — decomposing a problem, finding the real bottleneck (not the one that feels hard), building a feedback loop, and iterating without ego until it works.
“The domains change. The method doesn't.”— from the notes
It's the same move whether I'm learning a language, debugging my own weight loss, or shipping an app. So the products below aren't really separate projects. They're the same engine pointed at different problems.
Flua — the flagship
Flua is a language-learning app built on one belief: the single most effective way to learn a language already exists — spaced repetition plus comprehensible input — and almost nobody can actually access it. Anki scares people off, decks are badly ordered, and choice paralysis kills normal learners before they start.
I know because it happened in reverse for me. I taught myself enough Japanese to hold conversations in about twenty focused hours of a frequency-ordered deck — and every single person I told bounced off Anki's setup and never followed through. A proven method nobody can reach — that gap is the whole reason Flua exists.
So Flua ships one expertly-ordered deck per language: real native-sounding audio on every card, spaced repetition pre-tuned, offline-first, two buttons. The moat is an engine I'm quietly proud of — an i+1 rule that guarantees each card teaches exactly one new thing, enforced by a hard, zero-tolerance gate.
- Zero i+1 violations across ~12,000 generated cards
- Three decks live (French, Spanish, Chinese); a real backend, real payments, offline sync
- The Japanese deck is generated but withheld over a single card the gate won't license — because shipping a broken card is worse than shipping nothing
“Baked is free, ate is carded. When in doubt, card it.”— the rule at the heart of the i+1 engine
Here's the honest twist, and the most me thing about Flua: the app is finished and the payments work end to end in code — and it's deliberately switched off. What stands between it and revenue isn't the software. It's me doing the boring founder paperwork. The engineering is ahead of the founder. (More on that below — it's a pattern, not an accident.)
I made one decision I'll defend forever: you pay once, and you're never throttled. A "fastest app" that throttles your speed is a contradiction.

Weave, a metronome, and a chart
Before Flua there was Weave, and it came from a problem I had. I'd plateaued losing weight, so I did the obvious thing:
“I used my Computer Science degree to debug my weight loss.”— the most honest sentence I've written
The bug was the signal. Daily fat loss is tiny next to the ±2 lb of water and food noise — so I stopped tracking my weight and started tracking the delta from a daily target line. Suddenly every weigh-in was a clear instruction instead of a coin flip. My mom used it and lost 17 pounds after years of trying; I lost 16. So I built it into an app, and built it carefully — I didn't put any of the actually helpful stuff behind a paywall, because that would be evil.

Then a couple of small, finished things, because not everything has to be a company: a minimalist metronome (every other one is ugly or buggy), and PeakCharts, which graphs every episode's rating so you can skip a show's bad season. Small, sharp, done.
Super Zen — forty lines, and what they proved
The clearest thing I've ever shipped was an accident. Making slides one night, I got annoyed at Excalidraw's cluttered UI, so — as a backend dev who'd barely touched JavaScript — I had an AI write me a ~40-line browser extension to hide it. It worked. I packaged it, named it, gave it a logo, open-sourced it.
Then I dropped it in a well-known developer's Twitch chat at 1:30am. He lost it on stream and tweeted that companies should hire people who find and solve real problems instead of building convoluted solutions to problems no one has. The tweet did ~100k views.
“When you increase your value and you have any kind of surface area, it shows very quickly.”— the lesson I keep relearning
Forty lines, two hours of packaging, more reach than months of trying. That's the whole thesis.

How I think about building now
I learned to ship apps after I quit — a CMU CS grad and ex-backend engineer who had genuinely never built a frontend. The fastest way through was unlearning a lot of what I'd been taught, in an AI-native direction:
- “Writing code is super cheap now” — so build the simple version, and rebuild it when it breaks, even if the simple version obviously won't scale.
- “Architecture needs to consider what an AI agent can easily work on” — I structure code for the agent, not the textbook.
- I read Clean Architecture and OOP orthodoxy carefully — and decided most of it is wrong for how I build. Testing is mostly an afterthought, not the point.
I'm not claiming these are right for everyone. I'm claiming I formed them by building, breaking, and reading — and I'll happily be argued out of any of them.
The engine behind the engine
The part I genuinely can't turn off is ideating and organizing. My notes hold roughly 160 distinct ideas — apps, games, businesses, books, websites — and they're not a junk drawer. They're ranked, named, scoped, and tiered, because the discipline isn't having ideas, it's knowing which few are worth your one life.
And the reason any of this is public is connection. The site, the apps, the writing — they're all really one funnel pointed at the same thing: finding the people I want to build the next ones with.
The honest part
Here's the counterweight, and I'd rather say it than have you notice it. The best assessment of me as a builder is one I keep on file and agree with:
“Your taste and process knowledge are above the bar. Your focus and shipped volume are below it.”— a verdict I kept because it's true
I start far more than I finish. Flua's the proof in both directions — world-class engine, switched off because I haven't done the admin. My bottleneck has never been ideas or skill. It's the last mile. I know it, I name it, and getting better at finishing is the actual game — not getting better at starting.
What I want to build next
What I've shipped
Flua (feature-complete), Weave (live, real users), a metronome, PeakCharts, Super Zen. A real backend, real payments, an i+1 engine I'd put against anyone's.
What I want to build next
A D&D live-assistant that pulls the right rule the moment a DM needs it. An infinite idea-generator. A Cursor-style mobile IDE so I can build from my phone. And the next thing I haven't thought of yet — ideally with someone who's better at finishing than I am.
If any of that is your kind of problem — or you just want to take an idea apart together — say hi. The best things I've made started as a conversation.