DEV Community

Cover image for I Built a SaaS App on a Broken Phone That Got Stolen - Here's What I Learned
Rotji Gonsum
Rotji Gonsum

Posted on

I Built a SaaS App on a Broken Phone That Got Stolen - Here's What I Learned

By Rotji Gonsum (Fancytreaz)

Location: Jos, Nigeria 🇳🇬

App: MicroHabit AI - AI-Powered Habit Tracker

The Beginning


January 2026. I had an idea for a habit tracker that could predict when you'd skip your habits before it happened. Not another reminder app. Real AI predictions based on your patterns.

I had:

  • A broken Android phone (crashed every 10 minutes)
  • Zero budget
  • No MacBook
  • No "proper" development environment
  • Just QuickEdit (a text editor for Android)

Most people would have waited for "better circumstances."

I started building anyway.

Building on a Broken Phone

Every coding session was a race against time.

Write code for 8 minutes. Phone crashes. Restart. Push to GitHub. Repeat.

People asked: "Why don't you just get a laptop?"

The answer was simple: I couldn't afford one.

So I built with what I had.

Tech stack:

  • Vanilla JavaScript (no frameworks - couldn't install npm on my phone)
  • Firebase Firestore (free tier)
  • Firebase Authentication (free tier)
  • Google Gemini API (free tier)
  • GitHub Pages (free hosting)
  • Total cost: $0

The First Users

February 3, 2026 - Launch day.

I posted on LinkedIn. Shared on Twitter. Told everyone I knew.

Day 1:3 signups

Day 7:8 users

Day 14:14 users, 5 countries

People from Bulgaria, Ireland, Netherlands, USA, and Nigeria were using something I built on a phone that crashed every 10 minutes.

That felt incredible.

Then Everything Changed

February 17, 2026.

My phone got stolen.

The broken phone I'd spent a month coding on. Gone.

I borrowed my neighbor's phone to post updates. "Phone stolen. App still running."

The responses shocked me:

  • "Shipping really is the moat"
  • "This is what building in public looks like"
  • "Your dedication is inspiring"

The lesson:They took my hardware. They couldn't take what was deployed.

The Comeback

March 3, 2026.

My dad bought me a new phone - Infinix Smart 10 HD.

First thing I did: Clone my GitHub repo.

The app was exactly as I left it. 15 users. 5 countries. Zero downtime.

I'd gained 2 new users while my phone was stolen.

The internet doesn't care what device you build on.

The Reality Check

One month in. 15 users. Zero paid.

Everyone was using the free tier (3 habits). Nobody upgrading to premium ($9/month).

Honest truth:Most of my users are broke. I know some of them personally. They can't afford $9/month.

This hurt. But it taught me something important:

Building for people like you means understanding their constraints.

I'm not building for Silicon Valley developers with $200k salaries. I'm building for people in Jos, Nigeria. People coding on broken phones. People with $0 budgets.

That's my market. That's who I understand.

What I've Learned

Lesson 1: Perfect Conditions Are a Myth

Waiting for a MacBook? A standing desk? Dual monitors? You'll wait forever.

Start with what you have. The gap between "I wish I had" and "I'm building with" is where real builders live.

Lesson 2: Deployment > Development Environment

My code wasn't written in VS Code with Copilot. It was written in QuickEdit on a cracked screen.

But it shipped. It's live. People use it.

Nobody asks what IDE you used. They ask if it works.

Lesson 3: Free Users ≠ Failed Product

15 free users, 0 paid sounds like failure.

But those 15 people chose my app over Habitica, Streaks, and dozens of established competitors.

They're not paying because they CAN'T, not because the product isn't valuable.

Different problem. Different solution needed.

Lesson 4: Building in Public Creates Opportunities

Posting my journey led to:

  • Real connections with other builders
  • Advice from experienced founders
  • Features in tech blogs
  • Discord communities welcoming me
  • One incredible comment: "I coded on my dad's phone for 4.5 years - you have potential"

I didn't get users from building in public.

I got something better: a community.

Lesson 5: Your Story IS Your Marketing

I don't have a marketing budget.

But I have a story:

  • Built on broken phone
  • Phone got stolen
  • App kept running
  • Built from Nigeria
  • Still here

People remember stories. Nobody remembers "just another habit tracker."

Lesson 6: Constraints Breed Creativity

No npm? Write vanilla JavaScript.

No database money? Use Firebase free tier.

No hosting budget? GitHub Pages.

No API budget? Find free tiers.

I learned more building with constraints than I would have with unlimited resources.

Lesson 7: Most People Quit at Day 3

I'm on Day 4 of a 30-day posting challenge.

Day 1: Excited, full of energy

Day 2: Still motivated

Day 3: Reality sets in, results are slow

Day 4: Most people quit here

The ones who succeed? They show up on Day 4.

The Numbers (Honest Reality)

After 1 month:

  • 15 registered users
  • 5 countries reached
  • 0 paid users
  • $0 revenue
  • $0 spent on marketing
  • ~200 total video views
  • 100% uptime

Are these impressive numbers? No.

Are they honest numbers? Yes.

What's Next

I'm not giving up on my 15 users.

I'm not chasing vanity metrics.

I'm doing two things:

  1. Posting daily for 30 days:

    Building consistency. Building content. Building in public.

  2. Launching on Product Hunt (March 29): One big swing. One day of massive traffic. One chance to 10x my users.

Will it work? I don't know.

But I'm showing up.

The Real Success

Success isn't 1,000 users or $10k MRR yet.

Success is:

  • Building something people use (15 people trust my code)
  • Surviving setbacks (phone stolen, kept going)
  • Learning constantly (every bug is a lesson)
  • Showing up daily (Day 4 of 30)
  • Staying honest (no fake metrics, no exaggerations)

*To Anyone Building with Limited Resources
*

You don't need:

  • A MacBook
  • A standing desk
  • The latest iPhone
  • A coding bootcamp certificate
  • Silicon Valley connections
  • A marketing budget

You need:

  • An idea
  • Internet access
  • The willingness to start
  • The discipline to continue

I'm not special. I just started.

With a broken phone that got stolen.

And I'm still here.

Current Status

App: Live at click here
Users: 15

Revenue: $0

Streak: 4 days of daily posting

Next milestone: Product Hunt launch (March 29)

Current mood: Determined

Connect With Me

Twitter/X: @MicroHabitAI

LinkedIn: Fancy Treaz
Location: Jos, Nigeria 🇳🇬

Status: Building in public, one day at a time

If you're building something with limited resources, let's connect. We're in this together.

Day 4 of 30. Still here. Still building.

This post was written on an Infinix Smart 10 HD, the phone my dad bought me after my previous one was stolen. The journey continues.

Top comments (3)

Collapse
 
apex_stack profile image
Apex Stack

Your Lesson 6 about constraints breeding creativity really hit home. I built a financial data site covering 8,000+ stock tickers across 12 languages, and the whole thing runs on free-tier and open-source tools — Astro for static generation, a local Llama 3 instance for content, yfinance for data, and free hosting. When you can't throw money at problems, you learn to architect around limitations instead of through them.

The part about free users not being failed users is something more builders need to hear. I spent weeks watching Google crawl my pages and reject 98% of them — zero revenue, zero traffic, just a dashboard full of "crawled but not indexed." But those constraints forced me to actually think about content quality instead of just scaling pages. Your 15 users choosing MicroHabit over established apps like Habitica says more about product-market fit than most funded startups can claim.

One thought on monetization for your market: have you considered a lifetime deal at a lower price point instead of monthly? For audiences where $9/mo feels steep, a one-time $15-20 payment can convert way better and still fund development. Good luck with the Product Hunt launch on the 29th — the story alone should get traction there.

Collapse
 
microhabit profile image
Rotji Gonsum

Thanks for sharing this — that’s an impressive setup.

Running something that large (8,000+ tickers in 12 languages) on free-tier tools is a perfect example of constraints forcing better architecture. Using Astro + a local Llama 3 instance like that is really clever.

Your point about “architecting around limitations instead of through them” is exactly what I’ve been experiencing while building MicroHabit AI as well.

Also appreciate the monetization idea. A lifetime deal is something I’ve been thinking about, especially since a lot of early users in my target audience are students where a monthly subscription can feel expensive.

And yes — the indexing grind is real. Watching dashboards with zero traffic for weeks can test your patience, but like you said it forces you to focus on quality.

Thanks again for the thoughtful comment and encouragement for the Product Hunt launch!

Collapse
 
itskondrat profile image
Mykola Kondratiuk

building under constraint is genuinely underrated as a forcing function. broken hardware, bad wifi, time pressure - they all strip away the "I'll refactor this properly later" mentality and force decisions. sorry about the theft though, that part is just awful