Learn from indie hackers
who've been there.
Indie hackers build and grow their own software products, solo or in tiny teams, without outside funding. This is where they share what actually worked: case studies, hard-won lessons, and practical advice pulled from real journeys, no generic fluff.
Journeys
View allBogdan
Dabbler
Event Newsletter: A Side Project Built in the Margins
Why I scoped a personalized weekly local-events digest small enough to run alongside two kids and a consulting career
Camil
Turning my own problems into products
SoundScrub: From a Terminal Script to a Product
How a tool for cleaning up holiday footage became a focused app that beats the big editors at one job
Cristian
WordPress product builder at Cozmoslabs
A Decade of WordPress Plugins, Built One Slow Year at a Time
Why Cozmoslabs says no to most ideas, lives on yearly renewals, and treats patience as a strategy
Doru
Building scheduling software for dental clinics
Building Dentor in the Most Regulated Data Class There Is
How a dental booking platform turned a GDPR constraint into a moat, and learned to sell in person
Fineas Silaghi
Security researcher and CTF player running AISafe Labs
Selling Security Where SaaS Cannot Follow
Why AISafe ships into corporate networks and air-gapped deployments, and what that choice does to the company
Flavius D.
Builds systems that make hiring decisions better
Pace: Building the Tool That Makes the Right Interview the Easy One
Why structured interviews win in the research and lose in practice, and how Pace closes the gap
Greg
Bootstrapped CX and NPS SaaS founder at Retently
Building Retently to Last, Not to Spike
How a bootstrapped customer-feedback SaaS treats longevity, customer trust, and independence as the real strategy
Ionut F.
Builds audio plugins as a one-person studio
Laura: A One-Person Studio Selling a Synth Forever
Why a niche audio plugin is a textbook solo product, and a perpetual license is a promise subscriptions cannot make
Mihai Negrea
Ex-Microsoft engineer reading every public tender in Romania
DataDriven: Reading Every Public Tender in Romania, Alone
How an ex-Microsoft engineer turned burnout into a solo company that crawls 10,000 sources, OCRs tender documents on a gaming GPU, and gets 300 firms to pay for the result
Mihai
Building OCR tools for developers
Why I Built a Specialized OCR Engine in the Age of ChatGPT
How OCRskill beats general LLMs on the only two numbers that matter: price per call and error rate
Mile Rosu
Dad of one, co-founder of three
Building Church Software Before I Wrote a Line of Code
Why I picked a slow, offline, unglamorous niche, and why distribution is the part I am solving first
Mircea
From agency burnout to $4k MRR
Renzi: Selling Romanian Landlords Relief From the Tax Office
How a property-management SaaS leads with the one feature that sells and prices against a fine, not a competitor
Mircea
From agency burnout to $4k MRR
The $5 Fax: How a Weekend Project Became a Micro-SaaS
Why I built the simplest possible fax service and let SEO do the selling
Petru
SEO veteran at Kink.com
Oria: Shipping Photorealistic 3D Property Tours With a Big-Domain SEO Mindset
How a Kink.com SEO veteran is launching a Gaussian Splatting product on a zero-authority domain
Raul
Software engineer turned curator and community builder
Building the Anti-Hustle Job Board: $19/year for Calm Companies
How getting fired for caring about culture led to a curated community of sustainable workplaces
Raul
Software engineer turned curator and community builder
ebaza.ro: Bolting a Product Onto Traffic That Already Existed
How a four-year-old parked domain became an insurance funnel, and what the news taught me about SEO
Valentin Bora
Makes sure your email lands in the inbox
doesmyemail.work: A Free Tool as the Top of the Funnel
How a thirty-second email diagnosis becomes a lead magnet, and the same move grows a psychology app
Vlad
Backend engineer turned indie hacker
Building sisif.ai: an AI Video API
How I went from 0 customers to growing MRR by abandoning traditional marketing
Zoltan Szogyenyi
Chief builder at Bergside, creator of Flowbite
From a Rejected ThemeForest Template to 70k a Month
How Flowbite grew an open-source component library into a bootstrapped, two-person business
Events
View allBehind the site is a real, in-person community: Indie TM. Builders in Timișoara meet up every two weeks to demo what they're shipping, trade tactics, and give each other honest feedback. Each recap below turns those conversations into advice anyone can use.
July 9, 2026
DevPlant, Timisoara
Indie TM #12: One Founder, Ten Thousand Sources, Every Tender in Romania
What we learned at our twelfth meetup, where Mihai Negrea opened the books on DataDriven
June 25, 2026
DevPlant, Timisoara
Indie TM #11: An Intent Graph and the Hunt for Users
What we learned at our eleventh meetup, back at DevPlant in Timisoara
June 10, 2026
DevPlant, Timisoara
Indie TM #10: Four Builds and the Reach Problem
What we learned at our tenth meetup, this time at DevPlant in Timisoara
May 28, 2026
Cowork Timisoara - The Office, Timisoara
Indie TM #9: Six Demos and a BYOK Debate
What we learned at our ninth meetup at Cowork Timisoara
April 22, 2026
Cowork Timisoara - The Office, Timisoara
Indie TM #7: News as a Traffic Locomotive
What we learned at our seventh meetup at Cowork Timisoara
April 3, 2026
Cowork Timisoara - The Office, Timisoara
Indie TM #6: From ThemeForest Rejects to 70k/Month
What we learned at our sixth meetup at Cowork Timisoara
March 19, 2026
Cowork Timisoara - The Office, Timisoara
Indie TM #5: SEO Tactics That Actually Work
What we learned at our fifth meetup at Cowork Timisoara
Advice by Category
Browse allLatest Advice
Design the company around the life you need, even if that means no cofounders
Mihai came out of a burnout at Microsoft with a hard constraint: he needed to remove obligatory human contact from his working life for a while. So he designed the company around that constraint, no cofounders, no employees, full control over every product decision. The standard advice says find a cofounder, split the load, hire early, but standard advice optimizes for growth, not for the founder staying functional. A company shaped around your actual capacity is one you can run for years; a company shaped around a template is one you abandon. Constraints like health, energy, and tolerance for people are real inputs to company design, not weaknesses to overcome. Decide what you need to stay in the game, then build the business that fits inside it.
Price against the manual workflow you replace, not the software you wrote
Mihai's first serious customer was a security firm whose tender discovery process was a bookmark folder organized by county and an employee who opened town hall websites every single day. They happily paid 2,000 lei per month for complete automated coverage, a hundred times his 19 lei list price at the time, because the alternative was a salary. The lesson is that software is not priced against its build cost or against other software, it is priced against the manual grind it replaces. Find the customer who is already paying a human to do the thing badly, and the budget already exists; you are not creating a line item, you are shrinking one. Before setting a price, ask what the current workflow costs in hours and salaries, and anchor there.
Read the source documents, because official classifications lie
Public tenders in Romania carry official CPV codes, a taxonomy of roughly 10,000 subcategories, and Mihai found the labels wrong often enough to be dangerous, including food accessories classified under laptops. So DataDriven ignores the metadata and reads the actual tender documentation, OCRing PDFs and scans, then classifies everything against a hand-built taxonomy of about 180 categories that mirrors how companies really describe their work. That is the product's core advantage: competitors who filter on the official codes inherit the errors, and their users miss winnable contracts. Whenever your product sits on top of someone else's data, ask whether the labels are trustworthy or just convenient. Going to the primary source is expensive, which is exactly why doing it becomes a moat.
In a niche B2B market, public data plus cold email beats paid ads
Google Ads sent Mihai visitors who could never buy: public tenders have eligibility requirements around revenue, staff, and certifications that an ad click cannot filter for. Cold email inverted the problem, because Romania's procurement system publishes exactly who participates in tenders, who wins them, and how to reach them. A firm that already bids on public contracts is pre-qualified by its own history, so the public record becomes the lead list. With a market of roughly 20,000 firms, a modest cold email setup beats an ad budget: the targeting information ads cannot access is sitting in the open data. Before paying platforms to guess at your buyer, check whether a public registry, license list, or procurement record already names every one of them.
An AI translation layer can shrink a database migration from months to days
Migrating from Cosmos DB to MongoDB is the kind of project that haunts a solo founder, so Mihai turned it into a verification problem instead of a rewrite. He had Claude build a translation layer for his queries, then ran the old Cosmos path and the new Mongo path in parallel, with automated validation comparing outputs until the two systems agreed on everything. Once parity held, the cutover was boring, and the whole thing took two to three days. The pattern generalizes beyond databases: when replacing a load-bearing component, do not aim for a heroic big-bang rewrite, aim for a shim that lets old and new run side by side while machines check the diff. AI assistants are unusually good at generating exactly this kind of mechanical translation code that nobody wants to write by hand.
Open source, built by indie hackers
indie.md is a free, open-source project. Every journey and every piece of advice here was contributed by a builder who learned it the hard way. Add your own story, suggest an edit, or help improve the site: it all happens in the open on GitHub.
Free and open source. No account needed to read, anyone can contribute.
