// TOOLS
Things I built. Public. Works in progress. Tinkering made visible.
TIDY BAR
A cleaner menu bar for Mac. Two-item architecture with a movable separator, screen-aware collapsing, native AppKit. In final v1 polish before App Store submission. Part of the Tidy family.
TIDY STAGE
Clean desktop and neutral wallpaper for screen recording and sharing. One toggle, presenter-ready, restores everything when you're done. Sibling to Tidy Bar; ships after.
TIDY CALENDAR
Glanceable calendar in your menu bar. Click the date for a clean month grid โ today highlighted, locale-correct weekday order, optional ISO 8601 week numbers. Free, no permissions. The front door to the Tidy family.
ENDPAPER
A multi-lens writing system. Capture in any shape โ journal, snapshots, scholarly drafts โ then search across everything you've ever written and publish to any blog. SvelteKit on the front, FastAPI and Postgres on the back. My main personal tool, dogfooded daily.
THE SLOT
A calm editorial planner for writers who publish across more than one place. Four-column kanban โ idea โ draft โ review โ published โ with an optional BYOK AI layer for outlining cards, decomposing projects, and crafting publication voice profiles. Sibling to Endpaper. SvelteKit on Cloudflare Pages, FastAPI on Fly.
BEST CIGAR MATCHES
A direct-to-consumer storefront for hand-made cedar cigar matches and leather goods. Jekyll storefront, custom Flask admin for orders and labels, Stripe for payments. Real customers, real revenue. My wife runs fulfillment.
PLINK
Self-hosted tip jar for indie creators. Embed it on your site, visitors send tips directly via Stripe, no middleman skim. FastAPI backend, SvelteKit admin, deployed on Fly.io. See it in action on my own page.
ONE THING
Email-first daily intention setter. Email a single focus to a magic address; receive a short reminder at your chosen morning time. No app, no login โ anti-productivity-theater. Cloudflare Workers, Resend, Neon Postgres.
MADE MY DAY
Email-first positive-moments journal. Send short notes about good things that happened to a magic address; once a month, receive a recap of everything. No accounts, no app. Cloudflare Workers, Resend, Neon Postgres.
MISSION LOG
Personal tasks out of my head.
ASTROMECH // AUDIO LAB
Browser-based synthesizer and sound design tool. 30 sounds across 5 categories, live oscilloscope, pitch and decay controls. Export Jekyll-ready snippets. Built with Web Audio API โ no dependencies, no server.
ASTROMECH // BREW LAB
French press calculator and steep timer. Set your coffee weight, pick your ratio, and let R2 whistle when the brew is ready. Built with Web Audio API โ no dependencies, no server.
ASTROMECH // DOMAIN SCANNER
Bulk domain availability checker. Paste a list or sweep a name across TLDs. DNS first, RDAP fallback, honest UNKNOWNs when CORS blocks the truth. Self-contained, client-side only.
THE COCKPIT
Private Flask web app that runs my publishing pipeline plus Below Deck (task kneeboard), Command Deck (project hub with checklists and blocks), Today (daily focus view), time tracking, mileage, meetings, tickets, reports, scratch pads, and an LLM companion (Huyang). The bridge of the ship. Not publicly accessible โ this is the technical manual.
THE LEDGER
Private Cockpit-sibling for debt elimination and cash runway. Avalanche-snowball projection, payday session, leak-hunt CSV imports, sequenced milestone map, optional AI assistant. The chart room of the ship. Not publicly accessible โ this is the technical manual.
THE DISPATCH
Private Flask app handling all site communication โ contact form forwarding, tools update signups, and a double-locked Markdown newsletter sender. One app, three jobs. Not publicly accessible โ this is the technical manual.
THE CREED
A daily-reflection app I built for my son Mozzie. PIN-locked sign-in, daily virtue missions, XP and credits, Mandalorian character customization. Lindsay and I get the dashboard. Twelve schema versions deep, running for the family. Not publicly accessible โ this is the technical manual.