Latest / The Indie Hacker Podcast with Fexingo: Solo Developers, SaaS Side Projects, and Independent Tech / How a Solo Dev Built a SaaS with a Single API Integration
Transcript
- Lucas: There's this pattern I keep seeing in indie hacker circles — someone builds an entire SaaS product that is essentially a wrapper around one API. And I don't mean that dismissively. Some of the most profitable solo businesses I know started exactly that way. Luna: Right. It's a controversial take because people say you're just rebranding someone else's service, but the successful ones solve a real user experience gap. Lucas: Exactly. So today I want to look at a specific case: a solo developer named Marcus who built a product that simplifies invoicing for freelancers by integrating with Stripe's API. He calls it BillEase — launched in mid-2024, and by early 2026 it's doing about 12,000 dollars a month in recurring revenue. Luna: Twelve K MRR from a Stripe wrapper? That's impressive. What's the differentiator? Lucas: The insight was that Stripe's invoicing features are powerful but buried. If you're a freelancer, you have to navigate Stripe's dashboard, set up products, manually send invoices. Marcus built a simplified UI that lets you create and send an invoice in three clicks. It generates a Stripe-hosted payment page automatically. Luna: So he's not reinventing the billing logic — he's just making the UX 10x better for a specific user. Lucas: Exactly. And he's upfront about it. On his landing page, he literally says 'Powered by Stripe.' He's not hiding the dependency. That transparency actually builds trust with freelancers who are wary of fly-by-night tools. Luna: What were the biggest technical hurdles? I imagine relying on a third-party API introduces risks like rate limits, breaking changes, downtime. Lucas: Marcus told me that the first version took him about six weeks — just him, no co-founder. He spent most of that time on Stripe's API docs and webhooks. The biggest issue early on was handling Stripe's event-driven webhooks reliably. If a payment failed or a subscription was canceled, his system needed to update the invoice status instantly. Luna: And webhooks can be flaky. Did he build a retry mechanism? Lucas: Yeah, with exponential backoff. He also added a manual sync button so users could force a refresh. That was a key feature request from early beta testers. They didn't trust the automation completely. Luna: Makes sense. What about Stripe's versioning? They deprecate API versions periodically — that's a known pain point for api first products. Lucas: He got burned once. In early 2025, Stripe deprecated a legacy version of the Invoices API. Marcus had a weekend scramble to update his code. After that, he set up automated integration tests that run against Stripe's latest API version in a sandbox. He also subscribed to Stripe's changelog notifications. Luna: So the lesson is: if you build on an API, you need to actively monitor its evolution. You're not just launching — you're maintaining a dependency. Lucas: Exactly. And Marcus says that's actually been a competitive moat. Because many competitors are either bigger teams with slower update cycles, or they're side projects that get abandoned when the API changes. His solo setup lets him pivot fast. Luna: Alright, let's talk numbers. How did he get those first users? Lucas: His first fifty users came from Reddit. He posted in r/freelance and r/webdev with a simple breakdown: 'I built a tool that sends Stripe invoices in three clicks. Here's the link, and here's the code on GitHub so you can see there's no funny business.' Open-sourcing the core integration loop built immediate trust. Luna: Smart. And that open-source move also meant he got pull requests from the community? Did that help? Lucas: Modestly. A few developers contributed localization for currencies and tax formats. But the main benefit was word of mouth. Freelancers shared the GitHub repo with each other as a 'look how simple this is' reference. Luna: So the pricing model — what did he go with? Lucas: Ten dollars a month for unlimited invoices, with a free tier capped at five invoices per month. That free tier is basically a lead generation funnel. Users who hit the limit either pay or leave — and about 15 percent convert. Luna: That's a solid conversion rate for a freemium model. What's his churn look like? Lucas: About 4 percent monthly churn, which in the SaaS world is average for this price point. But he's been experimenting with annual plans — 99 dollars a year — to reduce churn. Early data shows annual subscribers churn at less than 1 percent per month. Luna: That's huge. So the annual plan is a retention lever. Lucas: Exactly. And he's thinking about adding a usage-based component for payment processing volume, but he's hesitant because that would make pricing more complex. He prefers simplicity. Luna: Let's step back. What's the big strategic lesson here for someone thinking of building an api first product? Lucas: I think the key is: pick an API that's ubiquitous but has a bad user experience for your specific niche. Stripe is powerful, but it's designed for developers. Freelancers who don't code need a bridge. Marcus built that bridge. Luna: So the API itself becomes the moat — but only if you're building on top of a platform that's not going to copy your feature set overnight. Lucas: Right. Stripe could theoretically build a simpler invoicing tool, but they've historically focused on the developer API layer. It's not in their DNA to build consumer-facing UIs for niche segments. That's the opening. Luna: What other APIs do you see as ripe for this kind of wrapper? Lucas: Twilio for SMS notifications for small businesses, Google Maps for route optimization for delivery services, OpenAI for content generation with specific guardrails for regulated industries. There are dozens. Luna: But the risk is always: what if the API provider changes terms or pricing? Lucas: That's the existential threat. Marcus's hedge is that he's small enough to pivot. He also has a backup plan: if Stripe becomes too restrictive, he can switch to a different payment processor like Paddle or Lemon Squeezy. The core business logic is abstracted behind an interface. Luna: That abstraction layer — how much extra work is that? Lucas: He estimates it added about two weeks of development. But he says it's worth it for peace of mind. He built a thin service layer that translates between his app's internal data model and Stripe's API. Switching providers would mean rewriting that layer, but the rest of the app stays untouched. Luna: Good engineering hygiene. So what's next for BillEase? Lucas: He's working on multi-currency support and integrating with accounting tools like QuickBooks. That's a natural expansion — if you're already handling invoices, why not offer to sync them to the user's accounting software? Luna: And those integrations would again be API wrappers. So he's doubling down on the same strategy. Lucas: Exactly. It's a pattern that works for a solo dev who wants to stay lean. And it's worth noting — these shows that we do, like this one, they take time to research and produce. If you've gotten something out of them, a couple of dollars a month is genuinely what keeps these going. Luna: Yeah, absolutely. It's the kind of support that means we can keep covering these deep-dive stories without ads. Buy me a coffee dot com slash fexingo. Really makes a difference. Lucas: Right. And back to BillEase — I think the broader takeaway is that you don't need to build a giant platform. Find a painful gap in an existing ecosystem, wrap it in a clean UI, and you've got a business. Luna: And you can do it alone, in weeks, with minimal upfront cost. Lucas: That's the indie hacker dream, right? Low risk, high leverage, and a direct line to customers who are actively looking for a solution. Luna: It's a good reminder that the most successful products often start as a simple bridge between two things that don't talk to each other well. Lucas: Alright, that's our episode. Next time we'll look at a solo dev who built a SaaS entirely around a single API integration for email deliverability — and how he hit 50K MRR. Luna: Looking forward to it.