๐ This is a real sample of the $19 Build Plan, generated for the idea "a mobile habit tracker". Yours is written for your idea, budget and comfort level. Get your own โ
Your Build Plan
Working name: HabitStreak (rename it anytime)
A mobile habit tracker app for iPhone and Android with daily reminders and streaks
App type: tracking app ยท Budget: low ยท Timeline: a few weeks ยท Comfort: never
1. Your stack
Bolt.new
In-browser AI builder that scaffolds and deploys web apps (and Expo mobile apps) from a prompt.
๐ฒ Free (1M tokens/mo, 300K/day); Pro $25/mo (10M tokens); Teams $30/member
Visit Bolt.new โFirebase
Google's backend with realtime database and auth - strong for mobile and realtime apps.
๐ฒ Free Spark plan; Blaze pay-as-you-go with free quotas (Firestore 1 GiB, 50K reads/day)
Visit Firebase โFirebase Authentication
Comes with Firebase; Google/Apple/email sign-in in a few clicks.
๐ฒ Free for email/social sign-in; 50K MAU free with Identity Platform; SMS billed per message
Visit Firebase Authentication โPostHog
Product analytics so you know whether people actually use what you built.
๐ฒ Free 1M analytics events + 5K session replays per month, forever
Visit PostHog โExpo EAS
Builds and submits your iOS and Android apps. Free tier available.
๐ฒ Apple Developer $99/yr ยท Google Play $25 one-time
2. Costs
| Item | At launch |
|---|---|
| Bolt.new (entry paid plan) | $25/mo |
| Firebase (free tier at launch) | $0/mo |
| PostHog (free tier) | $0/mo |
| Apple Developer Program ($99/yr, for the App Store) | $8/mo |
| Google Play developer account ($25 one-time, not monthly) | $0/mo |
| Total | ~$33/mo |
As you grow: expect roughly $50โ100/mo around 1,000 active users. Prices checked 2026-10-15; confirm on each vendor's site.
3. Your app blueprint
Screens
- Welcome / onboarding (pick your first habits)
- Today: habits to check off
- Add / edit habit
- Progress: streaks and weekly chart
- Settings & reminders
Data to store
- users (id, email, display_name, timezone, created_at)
- habits (id, user_id, name, schedule e.g. daily or Mon/Wed/Fri, reminder_time, color, archived, created_at)
- habit_checkins (id, habit_id, user_id, date, done, note)
Version 1 features
- Check off a habit in one tap
- Streak counter and weekly progress chart
- Daily reminder at the user's chosen time
- Edit or archive habits
4. Tool setup checklists
Bolt.new
- โ Sign up at bolt.new
- โ Choose mobile (Expo) when starting
- โ Paste the starter prompt
- โ Preview on your own phone with the Expo Go app (scan the QR code)
- โ Export to GitHub (or download) when you're ready to build for the stores with EAS
Firebase
- โ Create a project at console.firebase.google.com
- โ Add a web/iOS/Android app and copy the config
- โ Create Firestore in production mode and write security rules
- โ Stay on the free Spark plan until you need Functions
Firebase Authentication
- โ In Firebase โ Authentication, enable Email and Google/Apple
- โ Add your live domain to Authorized domains
PostHog
- โ Sign up at posthog.com (free tier)
- โ Paste the snippet or ask your builder to add PostHog
- โ Create one funnel: visit โ sign up โ key action
5. Step-by-step build: 13 prompts
Paste each prompt into Bolt.new in order. Don't move on until the "done when" check passes.
Step 1: Lock the version 1 spec
I'm building "HabitStreak", a tracking app: A mobile habit tracker app for iPhone and Android with daily reminders and streaks. Turn this into a one-page spec for version 1 using exactly these pieces, and push back if anything is unnecessary: Screens: - Welcome / onboarding (pick your first habits) - Today: habits to check off - Add / edit habit - Progress: streaks and weekly chart - Settings & reminders Data: - users (id, email, display_name, timezone, created_at) - habits (id, user_id, name, schedule e.g. daily or Mon/Wed/Fri, reminder_time, color, archived, created_at) - habit_checkins (id, habit_id, user_id, date, done, note) Must-have features: - Check off a habit in one tap - Streak counter and weekly progress chart - Daily reminder at the user's chosen time - Edit or archive habits List what is OUT of scope for version 1 (e.g. web version, admin analytics, referrals). Keep it under 250 words.
โ Done when: you can explain the app in one sentence and the spec fits on one page.
Step 2: Build the first screen
Create an Expo (React Native) mobile app called "HabitStreak". Start with ONLY the "Today: habits to check off" screen, using realistic placeholder habits. Style: clean, friendly, large tap targets (min 44px), one accent colour, system font. Don't add any other screens yet.
โ Done when: the "Today: habits to check off" screen looks right in the phone preview.
Step 3: Add the remaining screens
Now add these screens with placeholder content, matching the style of the first screen: - Welcome / onboarding (pick your first habits) - Add / edit habit - Progress: streaks and weekly chart - Settings & reminders Add a bottom tab bar so I can move between them. No database yet.
โ Done when: you can click through every screen.
Step 4: Empty, loading and error states
For every screen, add: an empty state (e.g. "No habits yet, add your first one" with a button), a loading state, and a friendly error message with a retry button. Change nothing else.
โ Done when: a brand-new user never sees a blank screen.
Step 5: Create the database
Connect Firebase. Create these collections with sensible field types and required fields: - users (id, email, display_name, timezone, created_at) - habits (id, user_id, name, schedule e.g. daily or Mon/Wed/Fri, reminder_time, color, archived, created_at) - habit_checkins (id, habit_id, user_id, date, done, note) Add 10 realistic sample habits. Explain in plain English what each one stores.
โ Done when: you can see the sample data in the database dashboard.
Step 6: Connect screens to real data
Replace all placeholder content with real data from Firebase. Make create, edit and delete work for habits, with validation and a confirm step before deleting. After each change the screen should update without a manual refresh.
โ Done when: a habit you add survives closing and reopening the app.
Step 7: Sign-up, login and data privacy
Add sign-up, login, logout and password reset using Firebase Authentication (email + Sign in with Apple + Google; Apple requires Sign in with Apple if you offer other social logins on iOS). Write Firestore security rules so users can only read and write their own documents; never leave test-mode rules on. Add an account screen with a Delete account button (Apple requires in-app account deletion).
โ Done when: two test accounts can't see each other's data.
Step 8: Core logic: check-ins and streaks
Add the core habit logic: tapping a habit on the Today screen creates or removes today's row in habit_checkins. Calculate the current streak (consecutive scheduled days completed) and the best streak, and show a 7-day progress chart on the Progress screen. Respect each user's timezone so "today" is correct.
โ Done when: the main feature works for a real user from start to finish.
Step 9: Notifications
Add push notifications with expo-notifications: ask permission after the user's first habit (not on launch), store the Expo push token per user, and send a daily reminder at each habit's reminder_time. Add an on/off switch in Settings.
โ Done when: a reminder arrives on a real phone.
Step 10: Owner / admin view
Add an admin area only I can access (check my email/role on the server): see all users and habits, search them, and fix or remove bad data. Show simple numbers: total users, new this week.
โ Done when: you can answer 'how many people used it this week?'.
Step 11: Polish, speed and accessibility
Review the whole app screen by screen: fix confusing labels, make text readable (min 16px), add alt text and labels for screen readers, ensure good colour contrast, and make it fast on a slow phone. List the changes before making them and change nothing else.
โ Done when: a friend can use it without you explaining anything.
Step 12: Analytics and feedback
Add PostHog with these events only: signed_up, habit_created, returned_next_day. Add a small "Send feedback" link that emails me. Don't track personal data in events.
โ Done when: you can see a sign-up โ first habit funnel.
Step 13: Prepare store builds
Prepare the app for the stores with Expo EAS: set the app name "HabitStreak", a unique bundle identifier (e.g. com.yourname.habitstreak), version 1.0.0, app icon (1024ร1024) and splash screen in app.json. Create eas.json with development, preview and production profiles. Remove test data and switch any keys to production. Give me the exact commands to run.
โ Done when: an EAS build installs on your own phone.
6. When the AI gets stuck
โฉ๏ธ Rollback in Bolt.new: Use Bolt's version history to restore the last working version, then re-ask in smaller steps. Export to GitHub regularly so you always have a copy.
- If the same error comes back after 2 fix attempts, stop and roll back instead of patching again.
- One change per prompt. Big prompts cause big breakages.
- Paste the exact error text (from the Expo/phone error screen), not a description of it.
- Start a fresh chat when the AI keeps repeating itself; paste your spec and the current problem only.
Diagnose before fixing
Don't change any code yet. Here is the exact error and what I did right before it: [paste error] Explain in plain English what is causing it, list the 2 most likely causes, and propose the smallest possible fix. Wait for my OK.
Break a fix loop
We've tried to fix this 3 times and it keeps breaking. Stop. Revert your last changes to the files involved, then describe the simplest different approach that avoids the problem entirely. Change only the files needed.
Protect what works
Only change [screen/feature]. Do not modify any other file, component, style or database table. Before editing, list exactly which files you will touch.
Check the data layer
The screen shows nothing / the wrong data. Check, step by step: is the user logged in, does the security rule allow this read, does the query return rows, and is the result mapped to the screen? Report each check's result before fixing.
Reset Bolt.new's context
Summarise this project for a fresh session: what the app does, the screens, the data tables, what works, and the one thing currently broken. Keep it under 200 words.
7. Publish to the App Store and Google Play
- Export your project to GitHub (or download it) so you can run Expo's tools. Create a free Expo account at expo.dev.
- Install the EAS command-line tool: `npm install -g eas-cli`, then `eas login` and `eas build:configure` in the project folder.
- Join the Apple Developer Program ($99/year) at developer.apple.com. Enrollment can take a day or more, so start early.
- Create a Google Play Console developer account ($25 one-time) at play.google.com/console. New personal accounts must run a closed test (currently 12 testers for 14 days) before releasing to production.
- Build: `eas build --platform ios` and `eas build --platform android` (production profile). EAS has a free tier; builds may queue.
- iPhone beta: `eas submit --platform ios`, then add yourself and friends as testers in TestFlight (App Store Connect).
- Android beta: `eas submit --platform android` to an internal or closed testing track and invite testers.
- Store listing: app name ("HabitStreak"), short description, full description, keywords, 1024ร1024 icon, screenshots for the required phone sizes, support URL and privacy policy URL.
- Fill in Apple's App Privacy details and Google Play's Data safety form honestly (what you collect and why).
- Give reviewers a demo login if the app requires an account, then submit for review. Plan for a few days and possible change requests.
- After approval, release, and keep a web landing page with store badges and your privacy policy.
8. Pre-launch safety checklist
- โ Firestore/Storage security rules are production rules (not test mode) and tested with two accounts
- โ No secret keys in frontend code or the repo (service_role, Stripe secret, AI keys live only in server env vars); rotate any key that was ever pasted into a chat or committed
- โ Backups: export your data weekly and keep a copy off-platform; know how to restore it
- โ Rate limits: sign-up/login limits or CAPTCHA, and per-user limits on anything costly (emails, AI calls, uploads)
- โ If you add payments later, confirm them with verified server webhooks
- โ Privacy policy and terms pages are live and linked in the footer/app settings; they say what you collect and who processes it
- โ Users can delete their account and data from inside the app (required by Apple)
- โ Input is validated on the server (lengths, types), and uploads are limited by size and file type
- โ Errors show a friendly message, and you get notified of crashes (e.g. an error-tracking tool or your host's logs)
- โ Two-factor authentication is on for every account you own: builder, database, payments, domain registrar, email
9. Backup stack (if your first pick doesn't work out)
Lovable
If app-store review or fees slow you down, launch a mobile-friendly web app (installable PWA) in Lovable first and validate demand before going native.
๐ฒ Free (5 build credits/day, up to 30/mo); Pro from $25/mo (100 credits), $21/mo billed annually
Supabase
Supabase if you prefer a SQL database (Postgres) with built-in Row Level Security.
๐ฒ Free (500 MB DB, 2 projects, pauses after 1 week idle, 50k MAU); Pro from $25/mo
10. Pitfalls to avoid
- Bolt.new: Large projects use more tokens per message: keep the project focused
- Bolt.new: Export to GitHub early
- Firebase: Default 'test mode' rules expire and leave data open in the meantime; write real rules
- General: one change per prompt; if something breaks twice, roll back instead of patching.
Launch day checklist
- โ App approved in both stores and a landing page with store badges is live
- โ Test accounts and sample data removed
- โ Contact/feedback link works
- โ Confirmation emails arrive (check spam)
- โ Works on a phone and a slow connection
- โ Analytics shows your first real sign-ups
- โ Announce: 5 friends, 1 community post, 1 X/LinkedIn post
StackPilot Build Plan ยท usestackpilot.app ยท Prices from official pricing pages (checked 2026-10-15); always confirm before you buy.
Want this for your app?
Describe your idea in the picker, then get your own Build Plan for $19. 14-day no-questions refund.
Start with the free picker โ