Do 208

A Native iOS Habit Tracker Built Around One Simple Rule

The Problem

Streak-based habit trackers are everywhere. They are also quietly cruel. Miss a single day — travel, illness, life — and the counter resets to zero. Weeks of consistency disappear. The punishment is disproportionate to the offense, and for a lot of people, it is enough to make them quit entirely.

I wanted to build something that worked the way real commitment works. Not a perfect streak. A body of work.

The insight behind Do 208: if you show up 4 days a week, every week, you will work out 208 times a year. That is a meaningful number — more than most people manage — and it holds even if you miss a Tuesday, skip a week on vacation, or have a rough month. The goal does not reset. It just waits.

The Solution

Do 208 is a native iOS app with one job: show you where you stand against your annual goal, and make checking in feel good.

The core of the experience is a progress ring that fills as you log workouts. A pace dot sits on the ring at the position representing where you should be right now, given how far into the year it is. If your progress arc is ahead of the dot, you are ahead of pace. If it's behind, you know immediately without any mental math. The ring changes color based on your status — aqua when you're ahead, iris when on-track, rose when behind.

Checking in is a single tap. The app responds with confetti and haptics, then offers to attach a photo. A swipeable calendar panel sits alongside the ring, showing every checked day at a glance, with photo dots marking sessions where you captured the moment.

Onboarding is thoughtful: the app asks when you want to start counting from, lets you backfill days you already showed up for, and calculates a pro-rated goal so someone starting in April is not penalized for not starting in January.

How It Was Built

Do 208 started as an HTML prototype — a single file where I could test the core experience, validate the ring behavior, and refine the design before committing to a native build. That prototype became the design specification. Once the product felt right, I rebuilt it as a native Expo app using Claude Code.

The entire development process was AI-assisted. I came in knowing what I wanted the app to feel like. Claude Code translated that into a working codebase — component by component, screen by screen — while I directed every product decision along the way.

The collaboration worked because I stayed focused on the experience, not the implementation. When the progress ring needed to animate smoothly and change color based on pace status, I described the behavior I wanted and Claude Code built it. When the onboarding needed to handle edge cases — someone starting mid-year, someone backfilling two months of workouts — I mapped out the logic in plain language and Claude Code turned it into code that handled every case correctly.

This is the difference between using AI as a shortcut and using it as a development partner. The shortcut version generates generic code and hopes it works. The partnership version requires you to think through the product with enough precision that the AI can execute on your intent — and then to review, test, and direct what comes back.

The app was submitted to the App Store having gone from prototype to production without a single line of code written by hand.

A product hypothesis worth building. Do 208 is not a feature — it is a reframe. The entire app is built around a different philosophy of what habit tracking should feel like. Identifying that the streak mechanic was the problem, and designing around it, is a product thinking exercise before it is a software one.

End-to-end ownership. This went from concept to App Store submission: prototype, native app, design system, onboarding, settings, privacy policy, EAS build configuration, and App Store assets. Every layer of the product was touched.

AI as a production tool, not a toy. Submitting a native iOS app to the App Store is a real engineering milestone. Building it through AI-assisted development — without a traditional engineering background — demonstrates that the barrier between product thinking and product shipping has fundamentally changed.

The Tech

  • Framework: Expo / React Native

  • Language: TypeScript

  • Navigation: React Navigation

  • Persistence: AsyncStorage (device-local, no server)

  • Animations: React Native Animated API, react-native-svg

  • Build & Deploy: EAS Build, App Store Connect auto-submit

  • AI Development: Claude Code (Anthropic)

The app is fully offline — no backend, no auth, no server. All data lives on device in AsyncStorage. The progress ring is drawn in SVG with an animated arc and a calculated pace dot. The design system uses Fraunces (display) and DM Sans (body) with a five-color palette: iris, aqua, rose, cream, and ink. New features are prototyped in HTML first, then ported to native.

Results

  • Currently in Beta — reach out if you'd like to be added as a tester

  • Full onboarding, check-in, photo logging, and settings shipped in v1

  • Pro-rated goal calculation handles any start date in the year

  • Zero backend infrastructure — the app works entirely offline from day one

The core bet was that a simpler, more forgiving model of habit tracking would feel meaningfully different from what already exists. Building it proved the concept. Getting it to Beta proved the process.

Status: Beta · Reach out to be added as a tester · Backlog active