12
46 Comments

Building ExpenseSpy solo, no funding — launching June 17 on iOS & Android

Hey IH 👋

I've been lurking and commenting here for a bit, figured it's time to share what I'm building.

ExpenseSpy: snap a photo of a receipt, AI extracts the merchant, date, amount, and line items, and you export to Excel, CSV, or PDF in one tap. Multi-currency, built for one-person workflows.

A bit of honesty on the "why": I'm not someone drowning in receipts myself. But I kept watching freelancers, frequent travelers, and small business owners fight the same boring problem — manual entry, lost receipts, currency mess. Most expense tools are built for 50-person finance teams. I wanted something light enough for a single person.

The stack: Flutter (iOS + Android), OpenAI Vision for extraction, RevenueCat for subscriptions, Firebase backend. Bootstrapped, solo, first product.

Launching June 17. Right now I'm in the messy pre-launch stretch — Product Hunt scheduled, store listings in review, and a lot of second-guessing.

Two things I'd genuinely love input on:

  1. For those who've launched solo — what's the one pre-launch thing you wish you'd done differently?
  2. Freemium model (10 receipts/month free, then $4.99/mo). Too generous? Not enough?

If you want to follow along or get notified at launch: expensespy.com

Happy to answer anything about the build. Thanks for having me. 🙏

on June 9, 2026
  1. 1

    "Built for 50-person finance teams" is exactly the gap nobody talks about. The solo person just wants to stop losing receipts, not implement an approval workflow.
    On your freemium question — 10 receipts a month feels tight for a frequent traveler on a work trip. They could hit that in two days and immediately feel punished before they're even hooked. Have you tested where people actually drop off in the first month?

    1. 1

      "Stop losing receipts, not implement an approval workflow" — that's the whole thesis in one line. Stealing it.

      On the 10-receipt question: I haven't tested real drop-off yet (launching the 17th), so I won't pretend I have data. But your scenario is the one that worries me most — a traveler burning through 10 in two days and feeling punished before the value lands is the exact opposite of what I want. My current thinking is that the free tier should let someone feel the magic at least once on a real batch, not hit a wall mid-trip. I'm genuinely undecided between a higher monthly count vs. a different limit shape (e.g. first export free). Watching first-month behavior is priority #1 after launch. How did you land on your own free-tier ceiling?

      1. 1

        Haven't nailed it yet either. My instinct is let them feel the value first, worry about the ceiling later. Launching too restricted feels like dimming the lights before anyone's even walked in.

        1. 1

          "Dimming the lights before anyone's walked in" — that's the line I'll keep coming back to. Exactly the failure mode I want to avoid.

          I think we're landing in the same place: the free tier has to let someone feel the whole loop at least once — scan, clean data, export — on a real batch, not a crippled demo. If the first export feels like magic, the ceiling becomes a non-issue, because by then they've felt what they'd be paying for.

          So my plan is to launch generous and tighten later if I have to, rather than the reverse. Walking it back from "too tight" costs you the early goodwill you can't get back.

          Appreciate you thinking this through with me — this kind of exchange is the best part of building in the open.

  2. 1

    The solo + no funding constraint usually sharpens positioning well - you end up being forced to pick the smallest viable niche because you can't afford broad.

    One thing worth thinking about for the June 17 launch: if your early users come from IH or Product Hunt, they're often other founders, not your real buyer. For a financial tool, the buyer is the person with the expense problem, not a curious developer.

    The tighter your niche on day 1 (freelancers with clients in EU, or contractors billing above $10k/mo), the easier your first acquisition and the more specific your word-of-mouth. We had to learn this the hard way with goffer.ai before narrowing to compliance teams.

    1. 1

      This is the comment I'll re-read before launch day. The "your early upvoters aren't your buyers" trap is real, and easy to forget when the PH numbers feel good.

      You're naming exactly the tension I'm sitting in: PH/IH gives me a launch-day spike of founders, but my actual buyer is the freelancer who just landed their first international client and suddenly has receipts in three currencies they have to account for. Those are mostly different people.

      My plan is to treat launch-day traffic as distribution/credibility, not conversion — and run the real acquisition narrower, into the specific wedge you described (freelancers with cross-border clients). Word-of-mouth from 50 of the right people beats 5,000 curious devs.

      Curious about the goffer.ai story: what was the signal that finally told you "compliance teams" was the right narrowing, vs. just a guess that happened to work?

      1. 1

        The signal wasn't someone saying "compliance is my problem." It was the second question they asked.

        Everyone asked: what does it do? That's curiosity. The buyers asked: does it handle [very specific edge case in their workflow]? Compliance leads started asking about audit trails, versioning, conflicts between internal policy and external submission requirements. Questions that assumed they already owned the problem. Everyone else stayed at question one.

        The other tell: they came back with a colleague. A compliance person would forward the link or show up next call with their manager. The curious people never returned.

        Your cross-border freelancer signal will look the same. Real buyers have already tried something and it broke. They're not exploring - they're replacing. If someone asks you "how does the currency rounding work on a split receipt across two tax systems" - that's your buyer. The person who asks "can it scan receipts" is not.

  3. 1

    One thing I've learned is that people don't buy expense tracking—they buy the feeling that tax season won't be painful. I'd spend more time testing whether users hit the 10 receipt limit naturally before worrying about pricing. Curious what your beta users are averaging right now.

    1. 1

      This is exactly the right framing — "tax season won't be painful" is the real product, not the receipt scanning. I'm stealing that.
      Honest answer on the numbers: I'm not live yet (launching the 17th), so I don't have real usage data on whether people hit the 10-receipt limit naturally — and I don't want to pretend I do. That's actually the single thing I'm most curious to watch in the first weeks. My hunch is that light users never come close, and the people who blow past 10 are exactly the ones for whom paying is a no-brainer (a freelancer juggling one international client, someone back from a work trip). But hunch ≠ data, so I'll be watching that limit closely once real receipts start flowing.
      Did you find the natural-usage curve matched your expectations on your own products, or did it surprise you?

      1. 1

        it actually surprised me in my case. So, i had to pivot my plan a bit. I even wrote a post about it.

        And lets connect on twitter

        1. 1

          That's the most useful kind of surprise — the one that forces a real change. I'd genuinely like to read that post if you're open to sharing the link.

          And yes, let's connect on Twitter — I'm @cdogukank. Always up for trading notes with someone a few steps ahead.

  4. 1

    Dogukan — launching June 17, one thing to tighten before you flip the switch.

    The stat block reads: "10 / Free receipts / month." That framing turns your free tier into a cap before the visitor has decided whether to try it. "10/month" makes them do mental math about limits, not about what they'd gain today.

    One-word change, paste-ready:

    Before:
    Free receipts / month

    After:
    Free receipts to start

    Same number. Now it reads as "here's where you begin" instead of "here's where you stop."

    Second thing — the description paragraph below your headline currently leads with mechanism: "AI reads your receipts automatically. You approve, export to Excel — and move on." That's HOW it works. What the buyer is actually thinking when they land is: I am drowning in receipts and I hate every minute I spend on them. The paragraph can open on that before it explains the flow.

    Your headline — "Snap a receipt. Done." — already has the pain-first instinct exactly right. The paragraph below it can do the same thing before walking through the steps.

    If either of those is useful, I'd love to hear.

    1. 1

      This is incredibly practical — thank you. "Free receipts to start" instead of "Free receipts / month" is such a small change with a real shift: begin vs. stop. Pasting that in. And you're right that the description leads with how it works instead of the pain the buyer is actually feeling when they land. Opening on "drowning in receipts, hate every minute spent on them" before walking through the flow makes total sense — the headline already does pain-first, the paragraph should match it. Both going in. Really appreciate the specificity. 🙏

      1. 1

        Looks like the stat change is already landing — good timing before the 17th.

        Happy to deliver the full version. The Fix Sprint packages both changes — the "Free receipts to start" stat reframe and the pain-first paragraph rewrite — plus one additional above-fold gap we held back for the paid sprint. Three paste-ready HTML diffs, sized to implement in under 30 minutes. Given you're launching June 17, turnaround is well inside your window.

        $49 flat · 48-hour delivery · 7-day revision guarantee if anything doesn't land

        outboundautonomy.com/fix-sprint?ref=fixsprint-expensespy

        1. 1

          Appreciate you following up, and thanks for the original suggestions — the "free receipts to start" reframe and the pain-first angle were genuinely useful nudges. I'm going to handle the copy changes myself for this launch, so I'll pass on the sprint for now. But I really appreciate you taking the time to dig into the page. Good luck with everything!

          1. 1

            Totally fair — good luck on the 17th. If there’s more to dig into post-launch, the offer stands.

  5. 1

    Solid stack choice for a solo launch — Flutter + RevenueCat is probably the least painful path to cross-platform subscriptions right now.

    On your two questions:

    1. Pre-launch: the thing most solo founders skip is getting 5–10 real target users to do a full walkthrough before launch day, not just a demo. Not for feedback on features — for watching where they hesitate or get confused. One session like that is worth more than a week of second-guessing.

    2. Freemium tier: 10 receipts/month is probably fine as a taste, but I'd think about who hits the wall first. Frequent travelers and freelancers are your core — they might blow through 10 in a single work trip. That's actually good if the paywall moment feels natural rather than punishing. $4.99/mo is easy to say yes to for someone already annoyed by manual entry.

    One thing to consider: an annual plan at launch (~$39–44) can meaningfully improve your day-one revenue optics and LTV, even with a small audience.

    Good luck on the 17th — the messy pre-launch stretch is the worst part. It gets quieter once it's live.

    1. 1

      Thanks — and good to hear the stack choice holds up. On pre-launch: the "5-10 real users doing a full walkthrough, watching where they hesitate" point keeps coming up in this thread, and I clearly leaned too hard on demos over real sessions. Lesson locked. On freemium: you're right that travelers and freelancers are exactly who'll blow through 10 in one trip — and if the paywall moment feels natural there, that's the good kind of friction. The annual-plan-at-launch idea for day-one LTV is one a few others flagged too; definitely testing it. Appreciate the thoughtful read. 🙏

  6. 1

    For mobile launches, the part I’d validate hardest before June 17 is not only demand, but first-run trust. With Kinetic Override, permission wording and “what stays local” became core onboarding copy because Android users decide fast whether a utility feels safe.

    1. 1

      This is a really useful angle — "first-run trust" not just demand. You're right that for a receipts app, people are handing over financial data, so the permission moment is make-or-break. I hadn't thought of permission wording and "what stays on your device" as core onboarding copy, but it makes total sense — especially on Android where users decide fast whether a utility feels safe. Going to review my onboarding and permission screens with exactly that lens before the 17th. Thanks for flagging it. 🙏

  7. 1

    The honest "why" is the strongest part of this. You're solving a problem you watched instead of one you live, which is fine, but it means you have to pick whose problem. Freelancers, travelers, and small business owners look similar on a slide and behave nothing alike. Travelers with multi-currency receipts are your sharpest wedge: the pain is acute, it repeats every trip, and every existing tool is worst exactly there. Nail that one and let the others find you later.

    On defensibility, snap-a-receipt extraction is a feature now, not a moat, because everyone has the same vision models. Your real edge is the boring layer underneath: clean multi-currency export that drops straight into whatever they file with. That's the part people pay to never do by hand.

    On pricing, willingness to pay for this spikes at a moment, expense report due, tax time, reimbursement deadline. I'd feature-gate the export the way someone already suggested, and also test an annual plan timed to that moment, because the value here is event-driven, not daily. Good luck on the 17th.

    1. 1

      This might be the sharpest take in the whole thread — thank you. The point that freelancers, travelers, and small business owners "look similar on a slide and behave nothing alike" is exactly the trap I was in. Travelers with multi-currency receipts as the wedge makes sense: acute pain, repeats every trip, worst-served by existing tools. I'm going to lead with that and let the rest find me later.

      And "extraction is a feature, not a moat — the edge is the boring layer underneath" reframes how I think about defensibility. Clean multi-currency export that drops straight into what they file with is the part that's hard to copy and worth paying for. The event-driven pricing insight (gate export, test an annual plan timed to expense/tax deadlines) lines up with what a few others flagged too. Saving all of this. Really appreciate the time. 🙏

  8. 1

    I recently launched Tamadoggo on PH. What I would have done differently is probably building the app in public, and filmed the whole journey, sharing the progress on youtube. The PH crowd is nice and supporting, but without nurturing a proper marketing channel pre-launch and without promotion capital I don't see how one can get too many users. But best of luck with the project!

    1. 1

      Congrats on launching Tamadoggo! And you're right — building in public from day one, filmed, would've given me a warmer crowd than starting the public stuff this late. That lesson keeps coming up in this thread, and I'm carrying it into the next cycle. Appreciate the honest read, and good luck with Tamadoggo. 🙏

  9. 1

    Congrats on the launch prep! On your two questions: (1) The one thing I'd do differently pre-launch is build the audience before the product is done, not after. Even a simple waitlist with weekly "building in public" updates would have given me a warm crowd on day one. (2) 10 receipts/month feels right for solo users — generous enough to show real value, tight enough that heavy users convert. The $4.99/mo price point is very accessible for freelancers who expense regularly. Good luck on June 17!

    1. 1

      Thanks! Point 1 lands hard — "build the audience before the product, not after" is the lesson I keep hearing, and you're right that a waitlist with weekly building-in-public updates would've given me a warmer day one. I started the public building too late this time, but it's the first thing I'm carrying into the next cycle.

      On the pricing read — appreciate the gut check. That's the consensus forming here too: 10/month is generous enough to show value but tight enough for heavy users to convert. One thing a few people flagged is making sure the limit can't be easily gamed, so that's on my list. Thanks for taking the time, and for the launch wishes. 🙏

  10. 1

    Congrats on getting to launch — the messy pre-launch second-guessing is universal, you're in good company.
    On your question 2 (freemium), I have a fresh take because I'm wrestling with the exact same thing. My honest advice: think hard about whether your free limit can be gamed.
    I set a "5 free pages" limit on my tool and only later realized one free page could contain links to unlimited other pages — so my free tier was way more generous than I intended. Worth asking: can someone get most of the value from your 10 free receipts/month by just... using multiple accounts, or batching?
    If the limit is easy to work around, the number matters less than you think.The other thing: 10/month free might train people to stay free forever if their real usage is ~8/month. Freelancers with light months never hit the wall.
    You might get more conversions limiting by feature (free = extraction only, paid = export to Excel/PDF) rather than by volume — because export is the moment they actually need it, and that's harder to game than a counter.
    On question 1 (pre-launch regret) — I'm pre-real-launch myself so take this lightly, but the thing I wish I'd done earlier was actually talk to my first signups one by one. I found a silent bug killing my activation that I'd never have caught from analytics alone.

    Cheap to do, high signal.Good luck on the 17th 🚀

    1. 1

      This is one of the most useful replies I've gotten — thank you. The "can the limit be gamed" question genuinely hadn't occurred to me, and you're right that multiple accounts or batching could quietly blow past the intent.

      Your feature-based limiting idea is making me rethink the whole structure: free = extraction only, paid = export to Excel/PDF. That lines up almost exactly with something else that came up in this thread — that the real "aha" isn't the scan, it's the first export. Gating the moment they actually need it, instead of a counter that's easy to work around, makes a lot of sense.

      And the advice to talk to first signups one by one rather than trust analytics — noted, especially the silent-activation-bug point. That's the kind of thing I'd never catch otherwise. Really appreciate you taking the time. Good luck with your launch too. 🚀

  11. 1

    You tackled a common pain point with such a practical solution. Your focus on solo users and freelancers is refreshing, especially in a space that often targets larger teams. I'm curious, what strategies are you considering for user acquisition once you launch? Have you thought about how you'll gather user feedback to refine the product post-launch? Best of luck with ExpenseSpy :)

    1. 1

      Thanks Kadiri, that means a lot. On acquisition: I'm going niche-first rather than broad. This thread actually sharpened it for me — the strongest wedge turned out to be freelancers who just landed their first international client, since that's exactly when multi-currency expense pain peaks. So the plan is to find those specific people where they already gather, rather than shouting broadly.
      On feedback: a few people here convinced me to get a small group of real users early and watch where they get stuck — apparently that beats internal testing for clarity. So post-launch I'll be leaning on direct conversations and watching the first export moment closely, since that seems to be where the real value lands. Appreciate you asking the right questions. 🙏

  12. 1

    Congrats on the upcoming launch! As a fellow full-stack dev who is currently building a personal finance web app (just rolled out v2.0 of my project, TrackMentHub), I totally resonate with your "why". Most tools out there are bloated and built for 50-person finance teams, not for individuals.

    To answer your question about the Freemium model: 10 receipts/month feels like a very sweet spot for a solo user. It’s enough for them to test the OpenAI Vision accuracy (which is the real "aha!" moment of your app), but low enough that any active freelancer or traveler will hit the wall by week two and consider the $4.99/mo premium.

    One pre-launch advice since you are in the messy stretch: don't overthink the store approval delays or small bugs. Focus heavily on shouting about it on Twitter/X, Reddit, and LinkedIn right now to build a small checklist of people for your Product Hunt launch day.

    Your stack (Flutter + Firebase) sounds super solid for a quick solo execution. Wishing you the best of luck for June 17th, I'll definitely follow along! 🚀

    1. 1

      Thanks, and good luck with TrackMentHub — sounds like we're solving adjacent versions of the same frustration. Your read on the free tier matches mine exactly: enough to feel the Vision "aha," low enough to hit the wall mid-use. And the nudge to stop fussing over approval anxiety and focus on building the PH launch-day list is exactly what I needed today. That's where my energy's going. 🙏

  13. 1

    Really relatable problem, especially for freelancers and solo users. I’m also building small utility tools and can relate to the pre-launch overthinking part. One thing that helped me before launch was getting even a small group of real users early and watching where they get stuck, it gave more clarity than internal testing.

    Freemium model sounds reasonable. The only question is whether 10 receipts/month is enough to show value without feeling too limited. Curious how you’re planning your first user acquisition , niche first or broad launch?

    1. 1

      The "small group of real users early" point keeps coming up in this thread — I clearly under-did it and leaned too hard on internal testing. Lesson logged. On acquisition: niche-first. The sharpest wedge that surfaced here is freelancers who just landed their first international client — that's when currency pain peaks. So less broad launch, more finding those specific people where they already are. How did you find your early users — existing network or cold communities?

  14. 1

    The positioning insight you already have is strong. 'Built for 50-person teams, but you're one person' is a real pain point. One thing I'd test at launch: target freelancers who just got their first international client. Currency pain hits hardest there, and they're actively looking for lightweight tools at exactly that moment.

    1. 1

      This is a great wedge — "just landed their first international client" is so much sharper than "freelancers" in general. That's the exact moment currency tracking goes from "nice to have" to "I need this now." I hadn't framed the timing that precisely. Did you find that first-international-client moment shows up anywhere specific (certain communities, marketplaces, subreddits), or is it more about catching them through general freelance channels?

  15. 1

    The freemium question is interesting but I'd reframe it slightly, 10 receipts/month is probably enough to feel useful, but not enough to create a habit. The risk is users hit the limit before the app becomes part of their routine.

    From what I've seen with solo-user tools, the stickier moment isn't the capture, it's the first time they actually export something and it saves them real time. If you can make that happen within the free tier, the conversion case makes itself.

    Good luck on the 17th. Solo launches are brutal and you're asking the right questions.

    1. 1

      This is a really sharp point, and it's making me rethink the limit. You're right that the "aha" isn't the scan — it's the first export that saves real time. If someone hits the cap before they ever export, they churn without seeing the value.

      Two things I'm now considering: either bump the free tier so the first export is basically guaranteed, or make sure the onboarding pushes them to export early (sample data, a nudge after the 3rd receipt). The habit has to form before the wall.

      Really appreciate this — and the kind words. The 17th is going to be a ride.

  16. 1

    The thing I'd be careful with is that receipt capture is rarely the reason someone pays.

    A lot of products in this category can extract receipts. The harder question is what specific situation makes a solo user decide their current workflow is no longer acceptable.

    That feels more important than the exact free limit or launch checklist.

    I'd be cautious about treating this as a pricing decision before you're sure you're solving the right buying moment.

    1. 1

      This is exactly the problem I built around, so I'm glad you pushed on it.
      You're right that extraction alone doesn't make anyone pay. The buying moment I kept seeing: people who travel a lot rack up expenses across a trip, then weeks later finance or accounting comes back asking for a breakdown — and they're stuck digging through a pile of receipts trying to reconstruct it.
      That's what the Projects feature is for. You group receipts by trip or project, so at any point you can see total spend for that trip and pull it back up instantly. And each receipt/expense carries a status — submitted to accounting, reimbursed, etc. — so the back-and-forth control gets a lot easier.
      So the wedge isn't "scan a receipt," it's "when someone asks you to account for a trip three weeks later, you're not panicking." Does that line up with what you meant by the right buying moment — or do you see a sharper one?

      1. 1

        Possibly.

        The reason I'm hesitant to answer that directly in-thread is that the useful part isn't the observation itself. It's making the actual call.

        That's the kind of decision that can change the positioning, paywall, and what users think they're buying, so I try not to make it casually in public.

        If you'd like the tighter version, drop your email and I'll send it over properly.

        1. 1

          Appreciate you offering the sharper version — and I get why you'd keep the actual call out of a public thread. Rather than emails, want to continue over IH DM? Happy to share more context on what I'm seeing on my end, and I'd genuinely value your read on it. Either way, this thread already gave me more than I expected.

          1. 1

            Sure, happy to continue in IH DM.

            Send me a note with a bit more context and I'll take a look.

            1. 1

              Tried to DM but it looks like my account's too new to message yet 😅 No worries — you've already given me genuinely useful angles here in the thread. I'm going to work through the actual call myself before the 17th, since it's so tied to the product vision. Really appreciate you taking the time, and good luck with your work.

              1. 1

                That makes sense.

                The reason I kept stopping short is that once you get close to the actual call, a small positioning decision can end up shaping months of product and marketing work.

                Given you've got the 17th in mind, I'd be more interested in whether the decision becomes clearer as you look at real users than whether the current wording gets sharper.

                Curious where you land.

Trending on Indie Hackers
6 weeks solo, 2 rejections, finally live but nobody told me marketing would be this hard User Avatar 114 comments I built a $5/1k-listing CRE data API because CoStar is overkill for first-pass scans User Avatar 18 comments Day 7: 51 people answered my question. I wasn't ready for what they said. User Avatar 18 comments Building LinkCover – Day 3: Payment is live. No more building, time to sell. User Avatar 15 comments I just wanted to taste AI coding tools. A week passed. User Avatar 11 comments