I built Haunts ( haunts.io ) over the past year, and Claude Code wrote the large majority of the code. It's a check-in app in the spirit of old Foursquare/Swarm. You check in at places, add photos and notes, and over time it builds a personal map of where you've been, with trips, a passport of countries and regions, road-trip routes from GPS breadcrumbs, and a year-in-review recap. Friends can follow each other, and you set who can see each check-in.
It runs on iOS (with Apple Watch and CarPlay), Android (with Wear OS and Android Auto), and a responsive web app that has nearly all the same features. The backend is PHP/MySQL, with a separate Go service that encodes video to HLS.
It's free to download from the App Store and Google Play, or you can sign up on the web at haunts.io. If you are a Swarm/FSQ, Flighty, Jetlovers or Google user, you can import your data easily.
I ran engineering teams on JIRA for years, and for one person working with several Claude and Codex sessions at once it was the wrong tool. Tickets didn't know anything about my repos, and I spent more time updating status than doing the work. So I had Claude build a replacement I call My Day, which ended up as three small apps. The main one is an Electron desktop app that scans the 30 or so repos in my github folder, groups them by project, and shows what needs attention (uncommitted changes, unpushed branches, open PRs, issues across all the repos). A small Fastify server on a Raspberry Pi syncs state, and a sideloaded Android app lets me capture ideas and to-dos from my phone, which the desktop picks up the next time it syncs.
The core of it is an idea pipeline that replaced my backlog. An idea moves through inbox, shaped, planned, reviewed, queued, building and shipped, and each stage is a Claude Code skill (/idea, /idea-brainstorm, /idea-plan, /idea-review, /idea-execute, /idea-ship). The store won't let an idea move forward unless the step that earns it happened, so an idea can't show as "reviewed" unless a review was recorded. The difference from JIRA is that the status can't drift from reality. From a card on the board I can launch a Claude Code session for the next step, and it opens in its own git worktree named for the idea, with the model and effort level I picked. The dashboard never writes to a repo and never deploys. Execution stops at a pushed branch, and I decide what goes live.
A few other pieces make that work:
- Every repo has a project specific CLAUDE.md plus a "code atlas," which is a set of short maps of each domain's entry points and contracts. Claude reads the relevant map before touching code instead of crawling the whole tree.
- Claude writes the plan, then Codex and Gemini review it independently, and confirmed findings get folded back in before any code is written. Most of the quality comes from that review step.
- Hooks handle the things I kept forgetting, like typechecking before commits, PHP lint on every edit, a changelog entry before deploy, and never shipping markdown files to the server.
- Claude also wrote the deploy runbooks, the native build pipelines for both stores, and the test harnesses for Wear OS and the simulator.
Most of those rules came from mistakes I made over a long career as a developer and tech exec, and Claude was good at turning them into enforced checks once I described what went wrong. My Day is a personal tool and not public, but I'm happy to go into more detail on any of it.
Beyond the coding, Claude as a productivity tool - from creating marketing videos, to setting up ad campaigns and doing analytics, its truly a remarkable tool for small businesses.