
I built OpenAlternative in 48 hours during a February weekend in 2024. It was supposed to be a side project. A personal collection of open source alternatives to proprietary software that I kept recommending to people anyway.
Two years later, it pulls in around $80,000 a year. I run it solo from Kraków, Poland. It takes me 2-3 hours a week.
This is the full story of how I turned a weekend project into a profitable directory website – what went wrong along the way, and what I'd do differently. No fluff. Just the numbers, the decisions, and the lessons.
What I built in 48 hours (and how)
The first version of OpenAlternative was embarrassingly simple. I used Astro as the framework, Airtable as a no-code database, and Tailwind CSS for styling. That's it. No fancy architecture, no custom CMS, no backend to speak of.
I spent most of those 48 hours on the content itself. I collected about 70 open source projects manually, pulling from Google searches, Reddit threads, GitHub trending pages, and my own experience as a developer. Every project had to meet a simple bar: actively maintained and something people actually use. Quality over quantity.
The site did one thing. It listed open source alternatives to popular proprietary tools, organized by category. You could browse by the software you wanted to replace and find free options.
That was the entire product. No user accounts, no submission forms, no monetization. Just a clean directory of useful software.
Looking back, this simplicity was the best decision I made. I didn't spend weeks building features nobody asked for. I shipped something real in a weekend and let the market tell me what it needed next.
The launch that brought 100,000 visitors

I posted OpenAlternative to Twitter/X. At the time, I had roughly 700 followers. Not exactly an audience. But something about the project resonated. Developer communities picked it up fast.
It spread across Reddit and Hacker News. Within the first week, over 100,000 people visited the site. My first sale happened on launch day.
Wait, sale? Yes. And that's where the story gets interesting.
I had added a $97 Stripe payment link on the site, kind of on impulse. When I shared the link on Reddit, people noticed. The backlash was immediate. Reddit communities are particularly sensitive to anything that smells like self-promotion, and dropping a paid product link alongside "hey look at my cool open source directory" did not go over well.
I pulled the payment link. Quickly. And I learned something that shaped everything that followed: build trust first. Especially in communities where people can smell a sales pitch from three posts away.
That single mistake taught me more about monetization timing than any business book could have. You don't earn the right to charge money by having traffic. You earn it by delivering value consistently, over time, until your audience actually wants to pay you.
The year I made nothing (on purpose)
After the Reddit experience, I made a deliberate choice. No monetization for the first year. Despite solid traffic, I focused entirely on making OpenAlternative genuinely useful.
I kept adding projects. Improved the categorization. Responded to suggestions. Built a reputation as someone running this thing because he cared about open source, not because he wanted to extract money from visitors.
This patience paid off in ways I didn't expect. When I finally introduced paid options about a year later, there was almost no resistance. People already trusted the site. They understood its value. Paying for premium placement felt like a fair exchange, not a cash grab.
The lesson here is boring but true: revenue comes if you're patient and authentic. Most people rush to monetize. I accidentally discovered that waiting is a legitimate strategy.
How this directory website makes $80k a year

Let's break down the actual numbers. OpenAlternative generates around $6,500 in monthly recurring revenue. That's roughly $80,000 annualized.
Here's where the money comes from:
| Revenue Stream | Share of Revenue | Details |
|---|---|---|
| Ads and sponsorships | ~65% | Banner ads and sponsored placements |
| Featured listings | ~35% | $197/month per listing |
The site also generates affiliate revenue from links to the tools it lists, but the two categories above drive the bulk of income.
Featured listings are the simplest product. A project pays $197 per month to get highlighted placement in their category. Sponsors get banner positions and dedicated visibility across the site. (I break down each of these directory revenue models in a separate post.)
What makes this work is traffic quality. OpenAlternative attracts developers and tech decision-makers who are actively looking for software. That's a valuable audience for any tool trying to get discovered.
The site pulls about 70,000 unique visitors monthly and 275,000 pageviews. But my north-star metric isn't traffic. It's the number of clicks out to open source project websites, which runs at about 20,000 per week. That number tells me the directory is actually useful, not just visited.
The SEO machine that runs itself

Most of OpenAlternative's traffic comes from search engines, and the strategy behind it is almost entirely programmatic.
Every project in the directory gets its own page. Every category gets a page. Every programming language gets a page. This creates hundreds of indexed pages, each targeting specific search queries. The big ones are "alternative to X" searches. Someone Googles "open source alternative to Notion" and OpenAlternative shows up.
Here's what keeps the content fresh without manual effort: a scheduled Cloudflare Worker pulls data from the GitHub API on a regular basis. Stars, forks, open issues, last commit date. All of it updates automatically. Search engines see this as frequently updated content, which helps rankings.
I also hired a freelance writer to produce SEO-focused blog content. This drives additional long-tail traffic and builds topical authority around open source software.
The beautiful part is that each new listing I add creates a new indexable page. The directory scales its own SEO footprint just by growing. If you want to go deeper on this approach, I wrote a guide on building directory websites that covers the technical setup.
How I run it in 2-3 hours per week
When people hear that this thing runs on a couple of hours a week, they assume I'm exaggerating. I'm not. The trick is automation.
The tech stack has evolved since that first weekend build. Here's what it looks like now:
| Component | Then (2024) | Now |
|---|---|---|
| Framework | Astro | Next.js 15 |
| Database | Airtable | PostgreSQL |
| Hosting | Cloudflare Workers | Vercel |
| Payments | Stripe link | Stripe |
On top of the core stack, I use N8N workflows for automation, the Typefully API for scheduling social media posts, Logo.dev for pulling project logos, and ScreenshotOne for generating website screenshots automatically.
Most of my weekly time goes to reviewing new project submissions and responding to sponsorship inquiries. The content creation, social posting, data updates, and screenshot generation all happen without me touching anything.
Progress often hides in boring work. Setting up these automations wasn't glamorous. But each one removed a recurring task from my plate permanently.
What the copycats taught me

OpenAlternative was open source from the start. The code lived on GitHub for anyone to see. And people saw it. Clones started appearing weekly. Same design, same concept, different name.
At first this was frustrating. Then I had a realization that changed everything: if you can't beat them, sell them the blueprints.
Instead of fighting the copycats, I packaged the OpenAlternative codebase into a proper product. I cleaned up the code for two days, spent five days building a landing page and documentation, and launched Dirstarter in February 2025.
It had day-one sales.
Dirstarter now generates about $5,000 per month with around 200 customers. These are people building their own directory websites across every niche imaginable. You can see what some of them have built on the showcase page.
The irony is thick. People copying my work became the signal that the work was worth packaging. Code is not the moat anymore. With AI tools making development faster than ever, anyone can clone a website in days. But I'm not just selling code. I'm selling a proven strategy, a documented approach, and a head start.
Lessons for building a profitable directory website
Ten years before OpenAlternative, I made my first online income from a WordPress theme called "Chipmunk." It was a directory-building tool. So directory websites have been a thread running through my entire career. Here's what I've learned:
Launch everything you build. Keep it as simple as possible and release it to the world. My 48-hour MVP attracted 100,000 visitors. Your polished, six-month project might attract zero if you never ship it.
The best competitive advantage is consistency. Showing up every day matters more than any single feature or growth hack. I added projects, improved the site, and engaged with users for months before I saw real results.
Timing your monetization matters. Charge too early and you lose trust. Charge too late and you leave money on the table. For directories, I'd suggest waiting until you have consistent organic traffic and people are actively using your site before introducing paid options.
Automate the boring stuff first. Every hour you spend setting up an automation saves you hundreds of hours later. Prioritize removing yourself from repetitive tasks.
Let the market tell you what to build. I didn't plan Dirstarter. The copycats showed me there was demand. I didn't plan featured listings. Sponsors came to me asking how they could get more visibility. Listen more than you strategize.
Two books shaped my thinking more than anything else: "Million Dollar Weekend" by Noah Kagan and "Company of One" by Paul Jarvis. Both reinforced the idea that you don't need a team or funding to build something profitable.
If you're thinking about building your own directory website, the playbook is simpler than you think. Pick a niche you know. Build something small. Ship it fast. Then show up every day and make it a little bit better.
That's the whole secret. There isn't a more complicated one hiding behind it.
