Native Apps
I design and ship native apps by myself, from the first sketch through store review and every update after. Each app is one shared core with a native shell for whatever screen it is on, and no server behind it. Here is what I have built, and what building it taught me.
Archive Watch
A cinematheque for the public domain. Archive Watch takes the Internet Archive's ~30,000 public-domain feature films, classic TV, silent cinema, animation, newsreels, and vintage commercials and gives them a proper streaming app: curated, ad-free, free, no account, no tracking, on every screen you own. I wanted these films to be as easy to watch as anything on Netflix. So, I built it.
This year I learned to build for the living room: the focus engine and big type of a TV interface, a streaming layer that survives flaky sources without stalling, and a Roku channel in BrightScript that had to run on a 2011 player. That last one meant measuring memory and decode cost instead of guessing. Along the way it gained deterministic Live Channels (a TV-guide grid that plays the same on every device), Watch Together over SharePlay, offline downloads, live on-device captions, and a Creation Studio on the Mac whose supercut engine searches every subtitle line in the archive and cuts the moments you name.
It is the clearest example of how I build. One SQLite catalog published over HTTP. Sync through each ecosystem's own cloud rather than a server of mine. A published rights audit with real numbers, where every title that fails is hidden and counted rather than quietly kept. And a content pipeline that heals itself and runs entirely on scheduled GitHub Actions, so there is no backend to pay for.
Tidbits Trivia
The whole of Wikipedia, turned into fact-checked trivia, where every question teaches you something. Nearly 100,000 questions across dozens of question types, generated and fact-checked from Wikipedia and Wikidata; a deterministic Daily that is byte-identical across Swift, Kotlin, JavaScript, and C#; serverless online play between Apple and Android; no account required and no data collection.
In 2026 I added two things I have not seen other trivia apps do. Tidbits Live turns a Mac or a Windows PC into a pub-trivia host: build a night (or import a Kahoot), drive a projected big screen, and let every team answer on their own phones through any Tidbits app or the web, with wager rounds, jokers, pictures, clips, live scoreboards, and a phone remote for the host. Hosting is free forever. And Tidbits in iMessage lets you send a round to a group chat and have everyone play in the thread.
The desktop version taught me the most this year. The Windows app is native C# and Avalonia, written from a Mac, rendered and tested headlessly in CI so I can see every change without handing it to anyone, then checked on a real Windows machine before it ships. It shows the discipline under all of these apps: the shared game logic is one algorithm mirrored in four languages, and a test proves the mirrors agree.
The App Portfolio
Each app starts from something I actually needed, and ships native wherever it lives: SwiftUI on Apple devices, Jetpack Compose on Android, a zero-dependency PWA on the web, and the native toolkit of each TV and desktop it reaches.
Bsky Dreams
A custom Bluesky client built for learning and connection over passive scrolling.
- Force-directed Network Constellation for topic discovery
- Depth-colored conversation threading & hybrid multi-source feeds
- Cross-device sync through your own AT Protocol repo, no server
- Zero-dependency: raw XRPC, Swift 6 / SwiftUI, vanilla JS on the web
Boba Playbook
A fan-built companion for the Bo Jackson Battle Arena trading card game.
- Browse 31,000+ cards (including the full Tecmo Bowl Edition set) with live eBay market pricing
- On-device card scanning with Apple's Vision framework and ML Kit; no image is ever uploaded
- RealityKit 3D "Hero Shot" card animations on iOS
- Collections & decks that sync across devices and share as public pages
Try One
Here is where each app lives, if you would rather try one than read about it.
| App | Apple App Store | Google Play | Amazon Appstore | Roku Channel Store | Microsoft Store | Web |
|---|---|---|---|---|---|---|
| Archive Watch | iPhone, iPad, Apple TV, Mac | Android, Google TV | Fire TV | Roku | — | archivewatch.org |
| Tidbits Trivia | iPhone, iPad, Apple TV, Mac | Android | — | — | Windows | tidbitstrivia.com |
| Bsky Dreams | iPhone, iPad | — | — | — | — | bskydreams.com |
| Boba Playbook | TestFlight beta | Android | — | — | — | bobaplaybook.com |
Need help with any of them? There is one support page for all of them, and it reaches me.
How I Build: One Codebase, Many Screens
Shipping one app to phones, TVs, desktops, and the web without it turning into four apps is a systems problem. I solved it once, and I keep the solution as an open-source template that grows with the apps.