COMMAND CENTER
MY OS
Mission control for ~30 repos — the chrome that lets one builder run them all
- STACK
- Next.js 15 deck · Fastify daemon · SQLite · tmux + ttyd · Claude Code + Codex CLIs · git worktrees + gh · launchd on the Mac, systemd on a Hetzner box
- COMMITS
- 154 on main · since June 2026 · 35 active days
- RUNS
- 24/7 — local-first on my Mac, an always-on VPS for the monitors
- SOURCE
- private — happy to demo it
WHAT IT IS
A local dashboard for everything under ~/work: one row per project with its git state, deploy health, dev servers and the agents attached to it. It's the tab I open before I open my editor. There is no autonomous factory in here — I drive, the agents work.
HOW IT WORKS
A hand-written projects.yaml is the source of truth. A Fastify daemon scans the repos every two minutes, keeps state in SQLite and drives tmux. Every project gets two standing agents, Claude and Codex, living on the main checkout with the repo's LOGS.md as their memory. For real work I spin up a worktree task: its own git worktree, its own agent, and it ends as a GitHub issue plus a PR. Nothing merges by itself — I review, I merge.
Then the monitors: scheduled agents that wake up on a cron, pull real numbers and file a report — revenue, infra, Sentry, user feedback, Google Ads, GA4, Play Store reviews, Apple Search Ads. When one of them needs something only I can do, it drops a card on my TODO tab instead of burying the ask in a report nobody re-reads. Agents can message each other, record the tools they discover for the next agent, and the deck owns the localhost port map so twenty dev servers never collide.
WHAT IT DOES FOR ME
Context switching is the real cost of running many products alone. With this I don't remember where a project stands, I read it. I wake up to a founder report already written. A bug at 11pm becomes a worktree task with a PR waiting for me in the morning. One person operating like a small studio — that's the whole point.
VERBLE
LIVE · REVENUE
AI writing assistant for people who have to stand up and speak
- STACK
- Next.js 15 · React · Tailwind + Radix · TipTap · Express / TypeScript API on Google Cloud Run · Firebase Auth + Firestore · Stripe · Claude + OpenAI · Sentry · Playwright + Jest · GA4 + Google Ads
- COMMITS
- 986 on main · 165 merged PRs · since Feb 2025 · 249 active days
- STATUS
- live on web, iOS and Android · paying subscribers · English + Spanish
WHAT IT IS
You have a talk to give next week — a weekly message, a wedding speech, a eulogy, a keynote — and a blank page. Verble gets you from "I have a topic" to something you can actually deliver: a short conversation to find your angle, then an outline, a full draft, versions, a handout for the audience, a slide deck, and an export to Word, PDF or PowerPoint. There's a practice mode where you record yourself and get feedback, and the assistant learns how you like to write along the way.
MY SIDE HOBBY
This is the side project that got out of hand. It started in February 2025 as a weekend question — can an AI actually help someone write something they have to say out loud? — and it never stopped. Nineteen months later it has paying subscribers on three platforms, a support inbox, ad campaigns in two languages and a backend I'm still refactoring at midnight. It's still nights and weekends, and it's still just me plus the agents. I don't call it a startup. It's the hobby that pays for the other hobbies.
VERBLE_MOBILE
10K+ DOWNLOADS
Same brain, in your pocket — iOS + Android
- STACK
- React Native · Expo SDK 54 · expo-router · NativeWind · Reanimated · Firebase (Auth, Firestore, Crashlytics, Messaging, Remote Config) · in-app subscriptions · SSE streaming from the shared backend · EAS build + submit
- COMMITS
- 276 across branches · 20 merged PRs · since Sep 2025 · 58 active days
- STATUS
- 10,000+ downloads · paying users · v1.6 on its way to the stores
Same backend as the web app, so a feature ships once and lands everywhere. On the phone it's the assistant in your pocket: chat through an idea on the train, pick up a draft where you left it on the web, read and search your source material on the go. Free to install, subscription to unlock — and yes, it makes money. How much stays between me and the tax office.
I work on it in bursts. A release is a week of evenings — build, TestFlight, store review, the hotfix nobody planned — then I leave it alone and watch Crashlytics and the reviews come in. Versions 1.0 to 1.6 so far; June and July 2026 alone were about 170 commits.
TUNEMAX-4000
RUNS DAILY
My own macro analyst — reads the world at 05:30, briefs me at 06:15
- STACK
- Python · uv · FastAPI · APScheduler · SQLite · httpx + feedparser pollers · sentence-transformers · a git-versioned markdown knowledge graph · LLM calls through the Claude CLI (Haiku triage, Opus synthesis, Fable for the weekly connection engine) · React + Vite UI · MCP server · 689 tests
- COMMITS
- 528 on main in two months · 259 by me · 269 by the machine itself
- RUNS
- systemd on a Hetzner VPS, tailnet-only · ingest 3×/day · report 06:15 CET · connections Mon + Thu
- SOURCES
- 44 curated feeds — central banks, regulators, filings, politics, quality press
THE CONCEPT
I own a handful of assets and I wanted to actually understand them — not the price, the wiring. Who depends on whom, what moves when something happens on the other side of the world, which story from this morning is quietly about my portfolio. So I built the thing that does the reading for me. Three times a day a cron pulls 44 curated sources, a cheap model triages everything against my watchlist, and at 06:15 Amsterdam time a linked report is waiting: every claim with its source, no hype, and never a buy or sell call — a linter blocks those. It's an analyst, not a trading bot.
HOW IT COMPOUNDS
Underneath there's an entity graph: companies, countries, commodities, central banks, with typed edges between them — exposed_to, depends_on, benefits_from, disrupts, regulated_by. Every headline becomes a decaying, directional signal on that graph. Signals cluster into themes I approve or kill. And twice a week a bigger model walks the graph looking for connections I haven't seen, writes them up as hypotheses, gets challenged by a second model playing critic, then watches the news every day for evidence. The knowledge base is markdown in git and the machine commits its own changes, so the git log is the audit trail of what it believed and when. It has made more commits than I have.
WHY I LOVE IT
It's the research desk I couldn't hire. Two months of evenings to build, and now it just runs: I read it with my coffee, kill a theme that's gone stale, and get on with my day — knowing that when two of my holdings quietly become connected, I'll read about it, with sources, the next morning.
GOLFBUDDY
ON TESTFLIGHT
The app I always wanted on the course — passion project, field-tested every weekend
- STACK
- pnpm monorepo · React Native (bare) · Mapbox · Skia · Reanimated · TanStack Query + Zustand · Firebase · Express / TypeScript API on Cloud Run with Claude · native SwiftUI Apple Watch app + Live Activities · Python + SQLite course-data warehouse · Next.js + Mapbox dashboard
- COMMITS
- 325 across branches · 25 merged PRs · since May 2026 · 43 active days
- STATUS
- TestFlight 1.0 · launching in Amsterdam · on my wrist every weekend
WHAT IT IS
Three jobs. Play the round with you: a GPS rangefinder with live distances to the front, middle and back of the green and to every hazard, from real course geometry, plus the scorecard and the group. Talk the round through with you: an AI buddy that knows the hole you're on, your distances and your launch-monitor numbers, so you commit to a shot or read a green instead of guessing. Run the competition between you and your buddies: skins, match play, stableford, season-long leagues, and a feed only your crew sees.
HOW IT'S BUILT
The phone app is bare React Native with Mapbox and Skia doing the heavy lifting on the map and the green view. The watch app is native SwiftUI: distances on the wrist, shot calls, score entry, wind. Underneath sits a course-data warehouse I built first — a Python pipeline that pulls, dedupes and repairs hole geometry from several providers into SQLite — because a rangefinder is only as good as its polygons.
HOW MUCH I WORK ON IT
Designed by me, for me, then tested on the course every weekend. The git log says 325 commits since May on 43 different days, with July and August alone at about 250 — and the busiest days of the week are Friday and Sunday, which tells you exactly when I play. The first proper field test taught me more than a month of coding: the watch never synced with the phone. That's the kind of bug you only find on the 7th tee, and the kind that gets fixed before the next tee time.
REELSERMON
LIVE · PILOT
Upload an hour-long talk, get the best 60 seconds — captioned, formatted, posted
- STACK
- Next.js 14 · Tailwind + shadcn/ui · AWS Amplify · Express / TypeScript API on Cloud Run · Firebase Auth + Firestore + Storage · Python media worker on Cloud Run (Whisper, FFmpeg, burned-in captions) · Claude for clip detection · Stripe · YouTube upload via OAuth · GA4 · Playwright e2e on CI
- COMMITS
- 281 on main · 20 merged PRs · since Jan 2026 · 28 active days
- STATUS
- live at reelsermon.com · hands-on pilot with real channels
WHAT IT IS
A lot of people talk for an hour every week — in front of a room, a class, a congregation — and know they should be posting clips. They don't, because finding the moment takes an hour, editing takes another and captions a third. ReelSermon does all three: upload the recording, the transcript comes back, an AI picks the moments that stand on their own — a story beat, a quotable line, an emotional peak — and each one becomes a vertical clip with styled captions, a title, a description and a share button that posts straight to YouTube.
HOW IT WORKS
The web app runs on Amplify, uploads land in Firebase Storage, and an Express API on Cloud Run hands the job to a Python media worker: Whisper for the transcript, Claude to score the moments and cut on complete thoughts rather than mid-sentence, FFmpeg to render 9:16 with captions burned in from one of ten presets. Progress streams back through Firestore, so the UI just watches the document. Free, Growth and Pro plans on Stripe.
WHERE IT'S AT
Same story as Verble: a problem I kept hearing about, a weekend prototype, then a proper build — 281 commits, most of them in one very focused July. Right now it's in pilot mode: I pick real channels, run their latest talk through it, and send people their own clips before they've even signed up. Nothing sells a tool like seeing yourself in a clip you didn't have to make.