2
3 Comments

After 8 months and 2 Apple rejections, my AI finance app is finally live. Built it for my mom β€” here's the story.

After 8 months of nights and weekends, two Apple rejections, and more debugging than I want to admit β€” CoinCoach is officially live on the App Store today.

https://apps.apple.com/us/app/coincoach-ai-money-coach/id6770703206

I want to share the journey while it's fresh β€” the why, the build, the rejection saga, and what I'm scared of going forward. Hopefully useful for anyone else in the trenches.

Why I built this

I moved to the US when I was 16. My mom worked seven days a week to support us β€” and still does. She has always managed paycheck to paycheck with more discipline than most people I know.

But the bigger money questions β€” retirement, buying a home, whether she could ever afford to stop working β€” never had answers. Those answers exist for people who can afford financial advisors. We couldn't.

She tried Mint. Spreadsheets. The ones that link to your bank and bury you in charts. They told her nothing she didn't already know. The feature lists clearly weren't designed for someone with her financial life.

So I decided to build the thing she actually needed: not another dashboard, but something closer to a knowledgeable friend who happens to understand money β€” available at 11pm when the worry hits.

What CoinCoach is

A personal finance app built around an AI coach. You track expenses, set goals (table stakes). But the core is this: you can ask the AI anything about YOUR money, and it answers using your actual data.

"Can I afford a $400 trip this month?"
"Where is my money actually going?"
"Should I build my emergency fund or pay down this card first?"

Plain language. Specific to your numbers. No judgement. No "consult a professional" deflection on questions a thoughtful friend would just answer.

The thing I'm proudest of isn't technical β€” it's that my mom can use it without me on the phone walking her through it.

The stack (for the builders)

  • React + Vite frontend (PWA-first)
  • Capacitor 8 to wrap for iOS β€” I had zero Swift experience and chose shipping over native purity
  • Firebase Auth + Firestore for backend
  • Netlify serverless functions (AI calls happen server-side so safety prompts can't be tampered with)
  • Anthropic's Claude (Haiku) for the AI Coach and receipt scanning
  • RevenueCat for subscriptions
  • MacInCloud (rented M4 for $56/mo) for iOS builds β€” I develop on Windows and don't own a Mac

What I learned shipping solo

Shipping beats native perfection. Choosing Capacitor over learning Swift is controversial, especially for a finance app. But I had a working PWA months before I had an iOS build. Real users beat hypothetical elegance.

The AI was the easy part. The trust was hard. Making an LLM answer finance questions is straightforward. Making it feel safe, honest, and non-judgmental β€” and ensuring it NEVER pretends to be a licensed advisor β€” took most of my prompt-engineering time. I hardcoded the safety guardrails server-side so they can't be bypassed.

Privacy as a feature, not a checkbox. CoinCoach never connects to your bank. You enter expenses manually or snap a receipt. I lose the "automatic" convenience, but I never touch anyone's bank credentials, and that tradeoff felt non-negotiable for the people I'm building for.

The Apple rejection saga

Apple rejected me twice before approving. Sharing the specifics in case it helps someone:

Rejection 1 (Guideline 2.1(b), 3.1.2(c), 1.5):

  • Subscriptions weren't attached to the version submission (separate from being "created" β€” they need to be explicitly attached to v1.0 in the "In-App Purchases and Subscriptions" section on the version page)
  • App Description was missing required subscription disclosure language (auto-renewal terms, 24-hour cancellation notice, Privacy Policy + Terms links)
  • Support URL pointed to the app itself instead of an actual support page with contact info

Rejection 2 (Guideline 2.1(b) again):

  • I attached the subscriptions correctly the second time, BUT Apple still said "couldn't find them in the binary"
  • Root cause: I submitted a screen recording showing "Restore Purchases" instead of a fresh sandbox purchase. Apple wanted to see the actual buy flow.

The fix that finally worked: Sign out of personal Apple ID from App Store on the test iPhone (NOT iCloud level, just App Store), use a fresh sandbox tester account, record a complete fresh purchase flow on physical device starting from the Home Screen. Took about 4 hours total.

Lessons for anyone hitting these:

  • The Subscription Group needs its OWN localization (separate from the subscription products) β€” caused "Missing Metadata" for me before submission even started
  • Apple's "intro offer" UI doesn't appear in App Store Connect until your first build is uploaded β€” not a bug, you just can't see it before then
  • When Apple asks for a screen recording, give them the EXACT thing they asked for. They wrote "successful sandbox purchase" β€” that's what they want to see, not Restore Purchases as a proxy

The honest numbers

  • Time invested: ~8 months of nights and weekends
  • Cost so far: MacInCloud ($56/mo Γ— 4 months), domains, Apple Developer Program ($99/yr). Firebase and Netlify on free tiers.
  • Revenue: $0 (literally launched today)
  • Users: 0 paying, a few beta testers
  • Pricing: Free tier (tracking + 25 AI messages/month), Pro at $4.99/mo billed annually or $7.99/mo monthly
  • First 100 downloaders get 30 days of Pro free (vs the standard 7-day trial)

I'm sharing this at $0 revenue on purpose. I'd rather document the real journey than show up later with a polished "here's how I made $10k" story that hides the uncertainty.

What I'm scared of

Distribution. I knew shipping would be hard. I underestimated how hard "getting people to find it" would be. I have a small Reddit account (12 karma, lol), a Twitter/X profile with zero follower, and a landing page that's converted maybe 2 waitlist signups. I'm posting on Indie Hackers because this community has been quietly essential β€” countless late-night searches landed on IH posts from people who'd hit the same walls I did.

I don't have a network. I don't have an audience. I don't have a "marketing budget." I have a real product, an honest story, and the next year of nights and weekends. If you have any advice on early traction for B2C iOS apps, I'm all ears.

What's next

  • Monitoring the first 100 downloads for any bugs / friction
  • Building the v1.0.1 backlog from real user feedback (Face ID at app open is a known gap, iPad layout could be better)
  • Trying to figure out distribution without becoming a marketer (any tips genuinely welcome)
  • Probably emotionally surviving Day 1 β€” I keep telling myself launch isn't the finish line, it's the start of the marathon

If you want to try it (iPhone only for now): https://apps.apple.com/us/app/coincoach-ai-money-coach/id6770703206]

The landing page: https://coincoach.app/

If the story resonates and you know someone who'd benefit β€” a freelancer juggling 1099 income, a parent who never got financial advice, anyone who deserves a money coach but can't afford one β€” please share. That's who I built this for.

And honestly: even if you never download it, feedback from this community matters more than downloads. What would make you trust an AI with your finances? What would make you NOT? Those questions keep me up at night and I'd rather hear it from you now than learn it the hard way.

Thanks for reading. Now I'm going to go refresh my App Store Connect dashboard a hundred more times.

on June 3, 2026
  1. 1

    This is a strong story, but I’d be careful not to let the story carry all the distribution weight.

    The sharpest angle is probably not β€œAI finance app.” That category sounds crowded and risky.

    The stronger frame is closer to:

    β€œa private money coach for people who never had access to financial advice.”

    That fits the mom story, the no-bank-connection choice, and the no-judgment AI positioning much better.

    For early traction, I’d avoid broad B2C app marketing first. I’d pick one emotionally specific user segment: freelancers with uneven income, immigrant parents managing paycheck-to-paycheck, or people scared to look at their spending.

    Each one needs different trust language.

    The real test is not β€œcan people find CoinCoach?” It is: can one specific group trust it enough to enter their first few expenses and ask one real money question?

    Happy to put a tighter version in writing if useful. I’d map the first user segment, trust positioning, App Store/landing page angle, and a simple 7-day plan to get the first serious users.

    1. 1

      Thank you so much for taking the time and providing your inputs. This is the kind of comment I needed today.

      You're right that "AI finance app" is a crowded category β€” I've been wrestling with that exact framing. The "private money coach for people who never had access to financial advice" angle feels closer to what this actually is. I'll definitely consider this.

      The user segmentation point lands harder. I built this for my mom specifically (immigrant, paycheck-to-paycheck, never had a financial advisor) but you're correct that I haven't done the work of really designing the landing page and onboarding around ONE specific group's trust language. Right now it's diluted across freelancers, immigrant parents, anyone-overwhelmed-by-money. That probably makes it weaker for all of them.

      Genuine question back at you: how did you choose YOUR first user segment for whatever you've shipped? The "guess the segment from your office chair" risk is real β€” I'm worried about picking wrong and over-investing in the wrong audience before I have actual user data to tell me which segment is responding.

      I'm planning to watch the first 1-2 weeks of who actually signs up and downloads (especially anyone who reaches out unprompted) before making any positioning pivots. Curious if that matches your experience or if you'd push earlier.

      Appreciate you sharing all of this β€” the question about "can one specific group trust it enough to enter their first few expenses and ask one real money question" is the right framing. That's the test.

      β€” Thuy

      1. 1

        That’s a real question, and I wouldn’t answer it by just waiting for random signups to decide the segment.

        For CoinCoach, the first segment should probably be chosen by trust intensity, not market size: who has the strongest reason to enter real money details and ask an uncomfortable question?

        Drop your email and I’ll send over a tighter version. It’ll be easier to make useful in writing than turning this into a full segmentation teardown here.

Trending on Indie Hackers
Your build-in-public audience is not your market. I learned the difference the slow way. User Avatar 194 comments I built a WhatsApp AI bot for doctors in Peru β€” launched 3 weeks ago, 0 paying customers, and stuck waiting for Meta to approve my app User Avatar 61 comments Built a "stocks as football cards" thing. 5 days in, my launch tweet got 7 views. What am I missing? User Avatar 33 comments From broke and burned out as a PM, to launching my SaaS and optimizing my health User Avatar 32 comments Why Claude Skills Are Becoming Important for Tech Careers User Avatar 24 comments I kept starting projects and dropping them. So I built a system that wouldn’t let me User Avatar 23 comments