Latest / The Indie Hacker Podcast with Fexingo: Solo Developers, SaaS Side Projects, and Independent Tech / How a Solo Dev Hit 10K MRR With a Chrome Extension
Transcript
- Lucas: So there's this solo developer, goes by the handle 'extbuildr' on Twitter, who built a Chrome extension that now does ten thousand dollars in monthly recurring revenue. And the product is weirdly specific — it's a tool for e-commerce store owners that automatically generates product description templates from a URL. Luna: A Chrome extension, though. That feels like a harder path than a web app. You're dealing with browser permissions, updates, and a distribution channel that's basically just the Chrome Web Store search rankings. Lucas: Exactly. And that's partly why I wanted to cover it — because the distribution play is almost pure SEO inside the Chrome Web Store, and the economics are very different from a typical SaaS. The developer didn't build a landing page until he hit two thousand MRR. His entire funnel was: user searches something like 'product description generator', finds the extension, installs it, and either converts or doesn't. Luna: So no paid ads, no content marketing, no social media push — just the store listing and word of mouth? Lucas: Correct. He told me he spent about eighty hours total building the first version. The extension itself is relatively simple — it reads the product page DOM, pulls out key details like title, price, features, and then sends that to OpenAI's API to generate a few paragraphs. The first version took maybe two weeks of nights and weekends. Luna: And then he launched it with a free tier. What was the conversion mechanism? Lucas: Free users get ten generations per month. To go beyond that, it's five dollars per month for one hundred generations, or twenty dollars for unlimited. What's interesting is the free tier conversion rate — he's running at about eight percent, which is high for freemium. He attributes it to the fact that the free tier gives you enough runs to see real value, but the limitation hits right when you're in the middle of uploading a catalog. Luna: That's a classic 'time-to-first-value' play. If you can give someone a useful result in under thirty seconds, they're far more likely to pay. Lucas: And that's exactly his metric — he tracks time from install to first successful generation. It averages eighteen seconds. When you install the extension, a small icon appears in your browser bar. You go to any product page on Shopify, WooCommerce, or BigCommerce, click the icon, and within a few seconds you have three draft descriptions. Luna: So the distribution is built into the workflow. You don't go to a separate website, you don't copy-paste URLs — you just click while you're already on the page. Lucas: Right. And that's the key insight for why Chrome extensions can be an overlooked SaaS channel. The barrier to trying is almost zero — one click install, no account creation needed initially. The developer only asks for an email when you hit the free tier limit, which is also the moment you're most motivated to sign up. Luna: I wonder about the economics though. Every generation calls OpenAI's API. At twenty dollars per month for unlimited, how does the unit math work? Lucas: He's very transparent about that — his average cost per generation is about one tenth of a cent. So the unlimited tier is profitable as long as users don't exceed about twenty thousand generations per month. Most heavy users do maybe two to three thousand, so his gross margin is around ninety percent. Luna: That's wild. So it's a high-margin, low-touch product with a distribution channel that's essentially free. Lucas: Yeah. And the developer story gets even more interesting when you look at how he approaches updates. He ships a new version every two weeks, and he uses the Chrome Web Store's review process as a forcing function — because you have to submit for review, it makes him bundle features and test properly. Luna: That's actually a smart constraint. Instead of shipping every day, he has a rhythm. Lucas: He also mentioned that the Chrome Web Store's search algorithm heavily favours extensions with recent updates and high install counts. So his bi-weekly release cycle is also an SEO play — the store sees activity and ranks him higher. Luna: That's a double benefit. And speaking of the store, how many installs does he have? Lucas: Currently about twelve thousand active users, with around three hundred paying. His free tier is generous enough that most users never need to upgrade, but the ones who do — typically power users or agencies managing multiple stores — are willing to pay for the unlimited tier. Luna: That's a really healthy ratio. Three hundred paying out of twelve thousand is two and a half percent, but they're paying twenty bucks, so that's six thousand from unlimited alone. Lucas: And the rest comes from the five dollar tier — about four hundred users there. So the ten thousand MRR is a mix. But here's the thing: he never raised any money, he never hired anyone, and his only expense besides API costs is a hundred bucks a year for the Chrome Web Store developer account. Luna: That's the dream, right? A side project that covers your rent and then some, running on autopilot with minimal overhead. Lucas: It's not fully autopilot — he still spends maybe five hours a week on support and incremental features. But it's a lifestyle business that grew organically because he identified a real pain point and built the simplest possible solution. Luna: And because we don't run ads on this show, if you find these kinds of breakdowns useful, you can support the work at buy me a coffee dot com slash fexingo. It helps us keep the podcast ad-free and focused on exactly these stories. Lucas: Yeah, listener support is what makes this possible. So thanks to anyone who chips in — it directly funds more deep dives like this one. Luna: Alright, back to the extension. One thing I'm curious about — how does he handle the risk of Google changing the store policies or API access? Lucas: He's thought about that. He keeps the extension as simple as possible — no user data stored, no unnecessary permissions. The only permission he requests is 'activeTab', which is the least intrusive. That makes the review process smoother and reduces the chance of policy changes breaking his product. Luna: And he's also not dependent on a single platform. The extension works on Chrome, Edge, and Brave — all Chromium-based. Lucas: Exactly. He told me he actually had more users on Edge than he expected, which was a nice surprise. The other risk is OpenAI raising prices or changing their API. But he's built in a buffer — his costs are so low that even a tenfold increase would still leave healthy margins. Luna: That's smart hedging. What about competition? There are a lot of AI writing tools out there. Lucas: He says the key differentiator is being in the browser, at the point of need. Most AI writing tools are web apps where you paste a URL. His extension requires zero context switching. And because he's focused specifically on e-commerce product descriptions, he's optimized the prompts heavily for that use case — which gives better output than a generic tool. Luna: So it's vertical-specific and embedded in the workflow. That's a tough combination to beat. Lucas: Yeah. And he's building a small moat through the reviews and install count — new competitors have to start from zero in the Chrome Web Store rankings. He's already ranking for terms like 'product description generator' and 'shopify description tool'. Luna: Which brings up a broader point: the Chrome Web Store is almost like its own search engine. The SEO there is different from Google search, but it's just as important. Lucas: Absolutely. And he gave me a few tips on that: the extension name matters a lot, the short description is indexed, and screenshots with annotations outperform generic ones. He A/B tested his icon and saw a 15% increase in install rate just by making it more colorful. Luna: Fifteen percent from an icon change. That's the kind of micro-optimization that can make a huge difference when you're relying on organic discovery. Lucas: Right. And he's constantly running those small experiments. His next test is offering a seven-day free trial of the unlimited tier instead of the typical freemium model, to see if it increases conversion from free to paid. Luna: That's interesting. The current model gives away ten free generations — which is enough to hook people. But a time-limited unlimited trial might convert more power users. Lucas: That's his hypothesis. He's going to roll it out to a subset of new users next month and compare. I'll follow up and share the results. Luna: Please do. I think a lot of our listeners are sitting on ideas that could work as extensions — things that solve a small, repetitive problem inside a browser workflow. Lucas: Totally. And the barrier to entry is lower than building a full SaaS. You can have a prototype in a weekend, publish it for a hundred bucks, and see if it sticks. Worst case, you're out a weekend and a hundred dollars. Best case, you've got a ten thousand dollar MRR side project. Luna: That's the indie hacker spirit. Thanks, Lucas — another great deep dive. Lucas: Thanks, Luna. If today's conversation gave you a new angle to think about, you know where to find us.