DEV Community

Mubbasher Ahmed Qureshi (Mubbi)
Mubbasher Ahmed Qureshi (Mubbi)

Posted on • Originally published at Medium

I Built a Production iOS, Android & Web App in 6 Weeks for $320 — Here’s Exactly How I Used AI to Code It, Design It, and Monetize It

A founder's honest, numbers-first breakdown of building Expense Trail — from a free MVP to a paid AI tier, with real costs, real timelines, and the AI tools that actually earned their keep (and the one that didn't).


Expense Trail — private-first expense tracker shown across three iPhone screens: dashboard, reports, and privacy settings
Expense Trail running on iOS — dashboard, reports, and privacy settings. (Built from the real store screenshots; swap in your own device-frame mockup any time.)


TL;DR

  • I started with a throwaway task: compare Lovable and Replit for AI-generated code. I picked an expense tracker as the test project.
  • The free MVP took ~2 prompts on each tool. Replit won — Lovable felt like an intern, Replit like a senior engineer. I paid $20 to push Replit further, but it managed only 2–3 more prompts and left the app incomplete, so I got a refund ($0 net), exported the code, and continued in Cursor.
  • I then rebuilt it as a real product in React Native (Expo) — iOS, Android, and web — plus a marketing site, a user-guide site, and an admin console. Core build: ~1 month.
  • 14 languages — with AI-generated light- and dark-mode store screenshots in every language (normally a 1–2 week job; AI did it in ~2–3 hours), plus an AI-generated logo.
  • First commit May 15, 2026 → App Store approved June 8 (free) → a polished second release June 21. Google Play is still in review.
  • By the git history, the build was ~220 hours — about 5 hours a day, almost every day, mostly late nights.
  • Then the real question: how do I earn from this? I added AI features — OCR, voice input, a finance chat assistant, bank-statement import, spending insights — behind a premium subscription. That layer took 1 week (finalized June 28, 2026) because the plan was written two weeks earlier; the public release follows after a 1–2 week review.
  • It's privacy-first by design: your financial data is encrypted on your device, sync is end-to-end encrypted (so even I can't read it), and there are no ads and no bank linking.
  • Total cash spent on AI tooling: ~$320. Most of the value came from one tool. One $100 purchase mostly taught me what not to use.
  • All-in (incl. Apple/Google fees + domain): ~$407. Hosting was $0 on Vercel, Supabase, and Cloudflare free tiers.

The headline isn't "AI built my app." The headline is: a single developer, with the right AI tools and a clear plan, can now ship what used to take a small team a quarter.


Table of contents

  1. How it started: a tool comparison, not a startup
  2. The free MVP: Lovable vs. Replit
  3. From prototype to product: one month, three platforms
  4. The AI toolchain I actually paid for (and what each one was worth)
  5. Designing without a designer: AI logo + store assets
  6. The business problem: a free app earns $0
  7. The AI premium layer, built in one week
  8. The full cost & time breakdown
  9. What I'd tell other founders and devs
  10. FAQ

1. How it started: a tool comparison, not a startup

This wasn't supposed to become a product.

I was handed a simple research task: compare Lovable and Replit for AI-generated code and report back which produced cleaner, more usable output. I needed a test project that was small enough to prototype fast but real enough to stress the tools — so I picked the most honest benchmark in software: an expense tracker. Everyone understands it, and it touches forms, lists, charts, state, and storage. If an AI can build a good one, it can build most CRUD apps.

What I didn't expect was that the test project would quietly turn into a shipped, monetized, multi-platform app called Expense Trail.

The AI-generated expense-tracker MVP shown on a phone, with notes that it was generated from a couple of prompts, has exportable source, and became the seed of a real product
The test project: an expense-tracker MVP an AI generated from a one-line brief and a couple of prompts.


2. The free MVP: Lovable vs. Replit

Here's the part that still surprises people: the free credits on both tools were enough to generate a working MVP — about two prompts each.

The two felt completely different to work with. Lovable felt like working with an intern; Replit felt like collaborating with an experienced senior engineer. Both are prompt-based, so even a non-technical person can build an app by describing it — but Replit also exposes real developer-focused features, which makes it far easier to fine-tune the MVP from a technical angle. Based on this test, Replit was the better tool for building an MVP from prompts alone.

A few concrete differences stood out:

  • ⏱️ Speed vs. completeness. Lovable generated its MVP in about 3 minutes but missed many important features. Replit took around 15 minutes but actually implemented most of the required features.
  • 📦 Dependencies. Lovable scaffolded with older package versions; Replit used the latest ones.
  • 🎨 UI. Replit's output simply looked more professional.
  • 📤 Export. Replit let me download the full source; Lovable's export was limited for my needs.

Lovable was impressive for a 3-minute demo. Replit was the one I could actually walk away with — and grow.

![Side-by-side comparison — Lovable vs. Replit on overall feel, generation time, features captured, UI quality, dependencies, developer tools, and code export, with Replit marked the winner](

The head-to-head: both free and ~2 prompts each, but Replit won on feel, completeness, dependencies, dev tooling, and export.

Because Replit felt more professional, I upgraded to its $20 plan to push the MVP toward something production-ready. That money bought only 2–3 more prompts before the credits were spent — and the app was still incomplete — so I requested a refund (which Replit granted). Net Replit spend: $0. Then I did the thing that turned a throwaway test into a real project: I downloaded the source from Replit and carried it into Cursor — picking up a real codebase instead of starting from scratch. (I did have to clean up some Replit-specific scaffolding first to make it play nicely in Cursor.)

That handoff is the quietly important lesson here: an AI-generated MVP isn't a dead end — it's a real codebase a developer can pick up and take to production. Here's what the two tools actually produced:

The MVP outputs from both tools side by side — Lovable's dashboard and settings screens, and Replit's phone-framed dashboard and settings screens, with Replit marked the winner
What each tool generated from the same one-line brief — Lovable (left) and Replit (right). Replit's output was more complete and more polished out of the box.


3. From prototype to product: one month, three platforms

With the exported code now open in Cursor, I made the call: let's see how production-ready I can actually get this.

The moment I started, the project got its hooks in me. I went all-in and rebuilt it properly in React Native with Expo (SDK 56), targeting iOS, Android, and web from a single codebase. In roughly one month, working with Cursor as my daily driver, I shipped:

  • The full mobile + web app — every core flow and feature
  • ✅ A user-guide website (guides.expensetrail.app) built with Fumadocs + Next.js, explaining every feature
  • ✅ A marketing website (expensetrail.app) built with Vite + Tailwind
  • ✅ An admin console for operations and support
  • Store submissions for both platforms — Apple approved (June 8, 2026, ~3.5 weeks after the first commit on May 15), Google Play in review
  • 14 languages across the app, marketing site, and guides

That's not a toy. The free product alone includes unlimited expense logging, category budgets with rollover, multi-wallet support across 150+ currencies, savings goals, cash-flow reports, Sankey diagrams and what-if scenarios, a bill calendar, recurring expenses, household sharing, guest mode (no account required), LAN peer-to-peer sync for offline households, and full backup/restore.

And it's built on a non-negotiable principle: your money is your business. Every expense lives encrypted on your own device. There's no bank linking and no ads. If you turn on sync, it's end-to-end encrypted — the data is encrypted on your device before it ever leaves, so even I, the developer, can't read your financial data. You can also run the whole app in guest mode with no account at all.

Screenshot grid — core Expense Trail screens: dashboard, quick add, reports, and budgets and goals
The free core: dashboard, log-in-seconds entry, reports, and budgets & goals — no ads, no bank linking, no forced account.

The architecture, briefly (for the devs reading)

It's a pnpm + Turbo monorepo:

  • App: Expo / React Native (SDK 56) — iOS, Android, web
  • API: Express 5, OpenAPI-first with generated types and a React Query client (so the contract is single-sourced, not hand-copied)
  • DB: Drizzle ORM
  • Marketing: Vite 8 + Tailwind 4
  • Guides: Fumadocs + Next.js 16
  • i18n: 14 locales, including RTL (Arabic, Urdu)

The interesting part isn't that AI wrote code. It's that AI let one person hold a whole product surface — app, API, two websites, an admin panel, and 14 translations — in their head at once and actually ship it.

Diagram — the Expense Trail monorepo: Expo app, Express 5 API, and database, plus marketing site, user guide, and admin console
One pnpm + Turbo monorepo, OpenAPI-first so the API contract is generated, not hand-copied across clients.


4. The AI toolchain I actually paid for

This is the section people came for, so let me be completely honest — including the part that cost me money and time.

Cursor: my daily driver

Cursor did the heavy lifting. I went through two $60 plans in a single month — $120 total — because I was using it that intensively. It's where the real app, the websites, the admin, and the bulk of the engineering happened.

Later I got the $200 plan for $100 — a 50% referral discount I unlocked using a referral code from another account of mine. So for stretches of this project, I was getting roughly double the usage at half the price — which materially changed how aggressively I could iterate.

💸 Want the same 50% off? Cursor gives 50% off your first purchase when you sign up through a referral link. You're welcome to use mine: cursor.com/referral?code=AGQYJWNO5PRC. (It helps me out too — but the discount is the real reason to use it.)

Claude Code: the $100 lesson

I also bought Claude Code for $100 to test it head-to-head. Honest verdict: for my workflow, it didn't fit, and it actually slowed my daily development down. I cancelled it — but got no refund, so rather than waste the money I put it to work where it genuinely helped:

  • Translations (managing 14 locales)
  • Planning and task breakdowns
  • Research

Then I went back to Cursor for everyday coding.

Not every popular AI tool is the right tool for you. The $100 I "wasted" on Claude Code was really tuition: it taught me precisely which tool to use for which job. Cursor for building, the other for planning and language work.

This is the nuance most "I built an app with AI" posts skip. The win wasn't one magic tool. It was routing each task to the tool that was best at it — and being willing to abandon a tool that wasn't pulling its weight, even after paying for it.

Table — the four AI tools, what each cost, what I used each for, and the verdict: Replit the seed, Lovable not chosen, Cursor the workhorse, Claude Code a niche helper

Illustration — routing each task to the best AI tool: Replit for the seed, Cursor for daily development, Claude Code for planning and translations
The real skill wasn't one tool — it was routing each task to the tool that was best at it.


5. Designing without a designer: AI logo + store assets

I'm a developer, not a designer — and I didn't hire one.

  • The app logo is AI-generated.
  • The App Store and Google Play screenshots (the marketing "store assets") were AI-generated too.

For a solo build, this is enormous. Store assets are usually a separate, expensive, slow step — you brief a designer, you wait, you revise. With AI image generation I produced a coherent logo and a full set of store screenshots in a fraction of the time and at effectively no extra cash cost.

Showcase — the AI-generated Expense Trail logo alongside AI-generated store screenshots
The AI-generated logo and the store screenshots that shipped to the App Store and Google Play — no designer hired.

Design used to be the bottleneck for solo developers. Now the bottleneck is taste and direction — knowing what "good" looks like and prompting toward it. The execution is cheap.

The localization trick that should have taken weeks

Here's the part that genuinely surprised me. Store screenshots are painful enough in one language and one theme. I needed them in 14 languages, in both light and dark mode, across every key screen and feature. Done by hand, that's hundreds of carefully staged, pixel-perfect images — easily a week or two of mind-numbing work.

AI generated the entire set in 2–3 hours. Every screenshot snapped out — localized, themed, and ready to ship.

That one capability unlocked three things at once:

  • Localized store listings. I submitted per-language store assets to both the App Store and Google Play, so a French or Japanese user sees screenshots in their language right on the store page.
  • A marketing site that feels local. The marketing website shows each visitor screenshots in their own language — not generic English mockups.
  • Automatic light/dark matching. The site detects the visitor's light or dark mode and serves the matching screenshot, in their language. A dark-mode German visitor sees dark-mode, German screens; a light-mode Arabic visitor sees light-mode, Arabic screens.

This is the kind of polish that normally only big teams with localization budgets ship. AI collapsed it into an afternoon.

Montage — the Expense Trail dashboard shown in 14 languages, light and dark mode, all generated by AI
The same dashboard, localized into 14 languages with native marketing headlines — the full light + dark set was generated by AI in 2–3 hours.


6. The business problem: a free app earns $0

The first version went live and free on the App Store on June 8, 2026 — about three and a half weeks after the first commit. I kept polishing for another couple of weeks — fixing minor bugs, smoothing rough edges, small improvements — and a second version was approved on June 21. The deliberate decision underneath it all: Expense Trail stays completely free.

Free is great for users and growth. It's terrible for revenue. So I sat with the obvious founder question:

How do I actually earn from this without betraying the users who showed up for a free, private, no-ads expense tracker?

My answer became the core product principle: the free core is sacred, and privacy is non-negotiable. Every existing feature — expense logging, budgets, wallets, reports, sync, backups — stays free forever, no ads, no bank-linking, no surveillance. Your data stays encrypted on your device, and anything you sync is end-to-end encrypted — I literally cannot see your finances, and that's the point. I would only ever charge for new capability the AI made possible, and only for people who wanted it.

That gave me a clean monetization thesis: don't paywall what users already have, and never sell their data. Instead, sell them a smarter version of what they could never do before.

Two Expense Trail screens showing on-device privacy controls and encrypted, optional backup and sync settings
Privacy isn't a feature, it's the foundation: encrypted on-device storage, a privacy level you control, and end-to-end-encrypted, opt-in sync.

Infographic — free core forever, with four optional AI tiers: Free, Smart, Mubbi AI, Autopilot
The model in one picture: the whole app is free, and AI is the only thing you ever pay for.


7. The AI premium layer, built in one week

Here's the line that makes people do a double-take: I designed, built, and tested the entire AI feature set and the premium subscription model in one week — from the June 21 release to AI features finalized on June 28, 2026.

That's not because the work was small. It's because the plan was already written two weeks earlier. I had a detailed AI roadmap — every feature, every gate, every credit cost — sitting ready. When I sat down to build, I wasn't deciding what to do; I was just executing. Planning ahead is the cheat code. (Notably, this is where my "wasted" Claude Code purchase paid off — a lot of that planning and research happened there.)

Heads-up: the AI layer is built and tested and is rolling out to users in the next 1–2 weeks. Everything below is what's coming.

What I built that week

The AI layer turns Expense Trail from a manual tracker into a productive one:

  • 📸 Receipt OCR — snap a receipt, auto-fill the expense
  • 🎙️ Voice input — speak an expense, on-device speech-to-text
  • 💬 Mubbi AI — a finance chat assistant you can ask about your spending in plain language
  • 🏦 Bank / card statement import — bulk-import transactions
  • 📊 Spending insights & narrative summaries — AI that explains your money, not just charts it
  • 🧠 On-device smart categorization — private, runs on your phone
  • 🔌 Bring-Your-Own-AI (BYOAI) — plug in your own OpenAI, Anthropic, or Google Gemini key

Why the assistant is called "Mubbi AI"

A small but deliberate choice: I didn't want a generic "AI Assistant" label or some random invented product name. So I named the assistant Mubbi AI — after my own nickname, Mubbi (I'm Mubbasher Ahmed). Giving it a real, personal name makes it feel like a companion you're actually talking to rather than a faceless feature, and it quietly ties the product back to the person who built it. The mid-tier plan that unlocks the assistant carries the same name, so "upgrading to Mubbi AI" literally means getting Mubbi.

The whole thing is built on a privacy-first stance that matters for a finance app: deterministic features (rules, categorization, templates) stay free and unlimited, financial semantics are processed on-device by default, and cloud AI is opt-in — Mubbi AI and the BYOAI features receive only aggregated facts, never your full ledger.

The AI feature set: receipt OCR, voice input, chat assistant, bank import, spending insights, on-device categorization, and bring-your-own-AI
The AI layer rolling out in 1–2 weeks. Swap in real OCR / voice / chat / insights screenshots once they ship.

The premium model: four tiers, AI actions, and a free taste

Monetization runs on RevenueCat, with AI usage metered as AI actions (1 managed AI action = 1 credit). Every free user even gets a small monthly taste of AI:

Table — the four AI subscription tiers (Free, Smart, Mubbi AI, Autopilot) with monthly and annual prices, AI actions per month, and what each tier unlocks

(Annual billing saves up to ~37%. Free trial: 14 days on Mubbi AI, 7 days on the others. Prices are display placeholders — the App Store and Google Play set the final localized prices.)

Notice the design: each paid tier shows only what it adds to the one below it, so the upgrade story is "everything you have, plus the next superpower." Mubbi AI is the recommended tier — the one most people land on — because it's where the assistant and receipt scanning live.

The premium model isn't a wall in front of the app. It's an accelerator bolted onto a product that's already complete and free. Users only pay when AI saves them real time — scanning instead of typing, asking instead of digging.

The Expense Trail paywall: headline, outcomes, billing toggle, and the Autopilot, Mubbi AI, and Smart plan cards with prices, trials, AI actions, and per-tier features
The actual in-app paywall, recreated to scale: "Unlock the full power of AI", an annual/monthly toggle, and the three plan cards (Autopilot, Mubbi AI ★ Most popular, Smart) with their real prices, free-trial lengths, AI-action allowances, and per-tier features. Prices shown are display placeholders; the stores set final localized prices.


8. The full cost & time breakdown

Let's put it all on the table, because vague "I built it cheap and fast" claims are useless without numbers.

💰 Cash spent (AI tooling)

Table — AI tooling spend: free MVP $0, Replit Core $0 (refunded), Cursor $120 + $100, Claude Code $100, total about $320

No designer. No co-founder. No agency. ~$320 in AI subscriptions got me a production app, two websites, an admin console, a logo, localized store assets, and 14 translations.

🧾 Platform & running costs

The only other money this project needed was the unavoidable platform stuff — and even that came in tiny:

Table — platform and running costs: Apple Developer $50 (split), Google Play $25 lifetime, domain $12/yr, hosting $0, total about $87 for year one

🧮 All-in total

Table — all-in total for year one: AI tooling about $320, platform and domain about $87, everything about $407

The true all-in cost to design, build, localize, ship, and host a production app on iOS, Android, and web — solo — was about $407. And the recurring cost is tiny: just the $12/year domain plus the Apple fee (currently $50/year while I split it). Hosting stays free.

⏱️ Time spent — the actual calendar

Here's the real timeline, by date — from the first line of committed code to a monetized app:

Table — the build timeline: first commit May 15 2026, App Store approved June 8, second release June 21, AI features finalized June 28, release in 1-2 weeks, about 6 weeks total

A few things stand out in those dates:

  • ~3.5 weeks from first commit to a store-approved app (May 15 → Jun 8) — and that window covered the iOS/Android/web app, the marketing site, the user guide, the admin console, and 14 translations.
  • Apple approved twice (Jun 8, then Jun 21); Google Play is still in review at the time of writing.
  • The AI layer took exactly one week (Jun 21 → Jun 28) — only possible because the roadmap was written two weeks earlier (see §7). The release of those AI features + subscriptions follows after a 1–2 week review-and-fix pass.

And measured a different way — straight from the git commit history — the real build came to about 220 hours: roughly 5 hours a day, almost every day (I worked 43 of those ~44 days), and mostly late nights — the commit timestamps cluster between mid-afternoon and 3 AM. That number is a floor, not a ceiling: it doesn't count planning, research, reading, or the testing that never landed in a commit.

Infographic — the full story in numbers: roughly $320 in AI tooling and about six weeks of solo work
The whole story in one frame: ~$320 of AI tooling and ~6 weeks, solo.


9. What I'd tell other founders and devs

Whether you're a developer, a PM, an AI enthusiast, or a founder eyeing your first launch, here's what this build actually taught me:

  1. Use the free tiers to find your seed. The MVP that became a real product cost $0. Try multiple AI builders and keep the one whose code you can own and grow — not just the prettiest demo.

  2. Pick tools by job, not by hype. Cursor was my coder; another tool was my planner and translator. The willingness to route tasks — and to drop a tool that slows you down even after you paid — is the real skill.

  3. A wasted purchase can still pay off. The $100 I couldn't refund became my best planning-and-research budget. Sunk cost is only sunk if you let it sit idle.

  4. Plan before you prompt. I built a full AI feature suite and a billing model in one week only because the roadmap already existed. AI executes plans at lightning speed — so the plan is where the leverage is.

  5. Don't paywall what users already love. Ship a genuinely complete free product, then monetize the new superpowers AI unlocks (OCR, voice, chat, insights). People pay for time saved, not for hostages.

  6. Design is no longer the solo-dev bottleneck. AI-generated logos and store assets are good enough to ship. Your job is taste and direction.

  7. One person now has a team's reach. App + API + marketing + docs + admin + 14 languages, in six weeks, for ~$320. That's the actual story of AI in product development right now.

The barrier to shipping a real, monetizable software product just dropped to the price of a couple of AI subscriptions and a clear plan. That's not hype — that's a receipt.


Try it / follow along

If this was useful, a clap and a follow help more people find it. I'll be writing follow-ups on the AI feature internals, the privacy-first architecture, and the RevenueCat monetization setup.


FAQ

How much did it cost to build the app with AI?
About $320 in AI tooling — two $60 Cursor plans ($120), a $200 Cursor plan I got for $100 with a 50% referral discount (referral link), and a $100 Claude Code purchase I couldn't refund. The MVP itself was free (Replit + Lovable free tiers); I did pay $20 for Replit Core to push it further, but it only ran 2–3 more prompts and I got that refunded. Add the platform costs — Apple Developer ($50, split with a friend), Google Play ($25 lifetime), and the domain ($12/year), with hosting free on Vercel + Supabase + Cloudflare — and the all-in year-one cost was ~$407.

How did you make app store screenshots in 14 languages?
With AI. I generated light- and dark-mode screenshots of every screen in all 14 languages in about 2–3 hours — a task that's normally one to two weeks by hand. That let me submit localized store assets to the App Store and Google Play, and power a marketing site that shows each visitor screenshots in their own language and matching their light/dark mode.

How long did it take to build?
Roughly 6 weeks, by the calendar: first commit May 15, 2026; first version approved on the App Store June 8 (free); a polished second release June 21; AI features finalized June 28 (built and tested in one week). The AI features + subscriptions go public after a 1–2 week review-and-fix pass. That covers the full app (iOS/Android/web) plus the marketing site, user guide, admin console, and 14 translations. By the git commit history, that's roughly 220 hours of actual work — about 5 hours a day, almost every day, mostly late nights (and that's a floor, since planning and research rarely show up as commits).

Which AI tool was best for coding?
Cursor was my daily driver for nearly all the engineering. Claude Code didn't fit my coding workflow and slowed me down, so I repurposed it for translations, planning, and research and went back to Cursor for building.

Is the app free?
Yes — the entire core app is free forever: no ads, no bank-linking required, no forced account. The AI features (receipt OCR, voice input, the Mubbi AI chat assistant, bank-statement import, advanced insights) are an optional premium subscription across four tiers — Free, Smart ($3.99/mo), Mubbi AI ($7.99/mo, recommended), and Autopilot ($12.99/mo), with annual billing saving up to ~37% and a 7–14 day free trial. The AI layer is built and tested and rolls out in the next 1–2 weeks.

Is my financial data private?
Yes — privacy is the foundation, not a feature. Your expenses are stored encrypted on your device, there's no bank linking and no ads, and you can use the entire app in guest mode with no account. If you enable sync, it's end-to-end encrypted: data is encrypted on your device before it leaves, so not even the developer can read your financial data. When AI features are used, cloud AI is opt-in and only ever receives aggregated facts — never your full ledger.

Did AI generate the logo and store screenshots?
Yes. Both the logo and the App Store / Google Play screenshots were AI-generated — no designer was hired.

What's the tech stack?
A pnpm + Turbo monorepo: Expo / React Native (SDK 56) for the iOS/Android/web app, an OpenAPI-first Express 5 API with Drizzle ORM, a Vite + Tailwind marketing site, a Fumadocs + Next.js user guide, 14 languages, and RevenueCat for subscriptions.

Can AI really build a production app solo?
With the right tools and — critically — a clear plan written in advance, yes. AI executes plans extremely fast; the leverage is in the planning, the task-routing between tools, and the product decisions (like keeping the core free and monetizing only the AI layer).

Top comments (0)