8 min readOpinion

When a Free Side Project Stops Being Free

How ChessPecker grew from a personal tool into a 1,300-user SaaS and why freemium was the most controversial but necessary decision I've made.

Freemium SaaS Pricing Strategy

A Small Tool With No Intentions

ChessPecker didn't start as a startup idea. It wasn't validated, pitched, or planned. It was a tool I built because I wanted something better for my own chess training. I didn't like the existing puzzle workflows. I wanted tighter feedback loops, cleaner UX, and more control over how puzzles were served.

So I built it for myself, on nights and weekends, with zero expectation that anyone else would care. At that stage, "free" wasn't a philosophy. It was just the default when you're building something for personal use.

Opening the Door to the Internet

At some point, I realized something important: if I found this useful, maybe other people would too. So I deployed it publicly. No pricing page. No auth limits. No roadmap. Just a URL and a quiet hope that a few strangers might enjoy it.

I didn't market it. I didn't announce it aggressively. But the internet has a way of finding things that scratch a niche itch.

Growth Without Permission

Users didn't arrive all at once. They trickled in, then steadily climbed. Suddenly there were hundreds. Then a thousand. Now, ChessPecker sits at approximately 1,300 registered users and growing.

That's when the tone of the project changed. More users didn't just mean more page views. It meant more expectations, more feedback, and more responsibility.

"The project didn't change the responsibility did."

The Invisible Costs of "Free"

Running a public app is never actually free. Behind the scenes, ChessPecker requires:

  • Hosting and compute
  • Database storage and backups
  • Authentication and session tracking
  • Analytics and monitoring
  • Ongoing maintenance and bug fixes

And more importantly, it requires time. Time to debug edge cases. Time to answer emails. Time to ship fixes instead of new ideas. None of this is visible to users but all of it compounds.

When a Hobby Becomes Infrastructure

At a certain scale, your app stops being a toy. People start relying on it. They integrate it into routines. They get frustrated when it's down.

When users rely on your product, you owe them stability. Stability costs money.

Pretending a growing system can stay "casual" is how side projects die.

The Freemium Decision

Eventually, I had to make a call. Not because I wanted to "cash in." But because I wanted the project to survive. The solution wasn't a hard paywall. It was freemium.

  • Core functionality remains free
  • Power usage is capped
  • Advanced features and higher limits are paid

This model wasn't about extracting value it was about aligning it.

The Backlash

Most users understood. Some didn't. One message stood out:

"dont be greedy, this site was free, will go use tacticspecker.com anyway its free"

That message wasn't unique. But it was revealing. It exposed a common misconception: that "free" is a promise, not a moment in time.

Free vs Sustainable

Let's be explicit about the tradeoff:

AspectFree ForeverFreemium
User GrowthHighModerate
Infra CostsUnlimitedControlled
Creator BurnoutLikelyReduced
Long-term SurvivalUncertainRealistic

Free optimizes for reach. Freemium optimizes for survival. You can't optimize for both indefinitely.

Entitlement Is an Emergent Property

No user wakes up thinking they're entitled. It emerges slowly. Free tools feel like public goods. Creators fade into the background. Maintenance becomes assumed.

Free software often creates entitlement, not gratitude.

This isn't malice. It's human psychology.

"Greed" vs Ownership

Charging for a product you maintain isn't greed. It's ownership. Greed is extracting value without responsibility. This is the opposite.

I still run ChessPecker. I still improve it. I still support free users. Freemium didn't remove generosity it formalized it.

What I'd Do Differently

I don't regret making ChessPecker free. I regret not setting expectations earlier. If I were starting again, I would:

  • Communicate limits from day one
  • Normalize optional paid tiers early
  • Separate "free" from "unbounded"

If you think you might monetize later, design for it early even if pricing is $0.

Lessons for Indie Builders

If you're building a side project:

  1. Assume success is expensive
  2. Expect pushback when you set boundaries
  3. Remember that free users are not customers
  4. Paid users create alignment, not pressure

Most importantly: your time is part of the system.

Where ChessPecker Goes Next

ChessPecker is still free to use. It's just no longer free to run. The goal isn't profit maximization. It's sustainability, clarity, and respect for users and the builder.

If that means some people leave, that's okay.

Final Thought

Free software is a gift. Not a lifetime guarantee. ChessPecker exists today because it grew up instead of burning out. And that tradeoff, controversial as it is, was necessary.

Growth forces choices. Avoiding them is also a choice.

FreemiumSaaSSide ProjectsIndie HackerMonetizationChessPecker