Ship an app or web product from scratch
Hotari
A habit-tracking RPG. Log what you did; an AI "scribe" writes a note on your day, and a skill tree and five attributes make your growth visible. Live on the App Store as Hotari, and in mainland China as 萤火轨迹.
- May 10 → Aug 6First commit to App Store launch, 2026
- 4 languagesSimplified & Traditional Chinese, English, Japanese
- 788Automated tests (run of July 29, 2026)
- 1,481Commits, built solo
Background
Plenty of people put in the work every day and still can’t see themselves getting better. Hotari turns what you did into skills, attributes and a short AI-written note — a two-minute check-in each night. No streaks, no guilt.
What I did
Everything, solo: product, design, engineering, testing and release. iOS and web share one Expo codebase; the backend is Hono on PostgreSQL; subscriptions run through RevenueCat. The global and mainland China versions are listed separately.
Problems and solutions
- Subscription entitlements: webhooks and the reconciliation endpoint share one sync function, with RevenueCat as the single source of truth. Purchases that didn’t carry over after switching accounts were fixed by re-querying on transfer events.
- “The model judges, the code computes”: the AI only picks a tier; code computes the points. A typical day went from +60 to +12, so the numbers stay meaningful.
- One codebase, two regions: separate bundle IDs and servers; the China build carries ICP filing, PIPL-compliant legal text and AI-generated-content labels.
- Four languages: every copy key is covered by a parity test, and the AI personas are rewritten per language (Japanese keeps its politeness levels).
- Performance: found that DeepSeek’s thinking mode was silently on in the Node SDK (about 20× slower), and cut a 42.2 MB font download from the web first load.
Stack
Expo SDK 54 · React Native · TypeScript · Hono · Drizzle ORM · PostgreSQL · RevenueCat · Stripe · DeepSeek · Sentry · Mixpanel · Docker · Caddy · GitHub Actions
Screenshots





