1
0 Comments

Why I didn't fork an open-source CRM (and what building from scratch actually cost me)

I almost forked an open-source CRM. Spent an entire weekend evaluating three of them with a fresh pot of coffee and way too much hope. By Sunday night I'd closed all the tabs and opened a blank Next.js project instead.

That decision cost me 800+ hours and about $1,000 in Claude Code tokens.

It also might be the smartest thing I've done since leaving my engineering job in December 2023.

The 9-month plan I had

Going in, the math looked simple. I'd been running a marketing agency since late 2022, paying the same CRM treadmill everyone else pays for. Per-seat pricing, weird limits, "AI features" that didn't really work but got billed like they did. I wanted off.

So I wrote a 40-page spec. Picked my stack. Sketched the data model on the back of a takeout menu (lil cliche, I know, but it actually happened). Best case I figured 9 months solo. Worst case 14.

Then a friend who's been bootstrapping longer than me said the thing every founder says to a first-time founder: "just fork something."

So I did the weekend.

The forks I looked at

I'm not gonna name them because the maintainers are real people and this isn't about dunking on their work. But the pattern was the same across all three:

  • Auth was either ancient or coupled to something I'd have to rip out
  • Multi-tenant data isolation was... let's say "optimistic"
  • The data model assumed a B2B sales-team shape (deals, pipelines, MQLs) and I was building for service businesses (jobs, estimates, recurring work)
  • The frontend was a framework I'd have to relearn from scratch

The killer wasn't any single thing. It was that I'd be inheriting somebody else's decisions about what a CRM IS, and then spending the next year arguing with those decisions every time I tried to ship a feature.

I've done that before in corporate engineering. It's the worst kind of slow.

Why I scrapped the fork plan

The thing nobody on IH wants to admit: forking saves you the first 30% of the work and then taxes you on every single feature for the rest of the product's life.

That's a fine trade if you're building a thin wrapper or a niche vertical app. Bad trade if you're trying to build a product opinionated enough to sell as a codebase, not a subscription.

Because that's what I'm selling. Not seats. Not a SaaS plan. The actual source. $1,499 one-time, and you own it.

You can't sell somebody a forked product as "yours" with a straight face when the original maintainer can change direction tomorrow and break your roadmap.

What I built instead

Stack ended up boring on purpose:

  • Next.js for the app
  • Convex for the database and realtime layer
  • Resend for transactional email
  • Stripe for the agency-side billing

Started in early February 2026. Vibecoded a seed project (which is where the name Seedly came from, if you were wondering). 800+ hours later the thing has the bones of a real CRM: contacts, jobs, automations, calendar, two-way SMS, the works.

Presales crossed $8K in April without a launched product. Just a landing page, a waitlist, and me being honest in places like this one about what I was building and why.

I'm acutely aware that "$8K in presales" is the kind of number that makes IH people both interested and skeptical, so I'll be the first to say: zero confirmed customers actively running their business on it yet. We're still in the runway between "looks great in demos" and "a contractor's invoicing depends on this." That's a real distinction and I'm not gonna fudge it.

The revenue context behind the decision

I'll show numbers because that's why we're here.

When I quit my engineering job in December 2023, the agency was doing $3K/mo. Hit $15K/mo by November 2024. Sat around $12.8K MRR during a brand relaunch in late 2025.

That trajectory mattered for the CRM decision in a specific way: I wasn't building because I needed the money. I was building because the agency cash was paying for the time to build it right. If I'd been desperate I'd have forked, shipped fast, and dealt with the inherited tech debt forever. The agency revenue bought me the option to be opinionated.

That's a weirdly important thing nobody on here talks about. Build-vs-fork isn't a pure engineering decision. It's a function of how much runway your other revenue gives you to make the slower choice.

Why I'm doing this at all

Quick origin story because IH loves the why.

I grew up on jobsites with my dad. Construction. Long days, cranky customers, equipment breaking down, the occasional raccoon situation (don't ask). My dad was the guy homeowners kept on speed dial because he picked up and showed up. He was also the guy getting hosed by software vendors who charged him per-seat for tools he barely used.

That's who Seedly is for. Service business owners who don't need 47 features and do need to actually own the tool they're running their business on. Forking somebody else's vision of a CRM was never gonna get me to that product.

What I'd do differently

If I were starting over today, three things:

  1. Take the weekend to evaluate forks anyway. Even though I didn't use them, looking at how other people structured their data models was the cheapest design education I've ever gotten. Two of the three made me change my schema in good ways.

  2. Start charging earlier. I waited until I had a landing page to take presales. Should've taken them from the Facebook groups I was already in, the week I started building. The validation would've been worth more than the polish.

  3. Budget tokens like you'd budget contractors. $1,000 in Claude Code is real money. I burned through about $300 of it on stuff I'd have caught with better prompts and tighter scoping. If you're vibecoding a serious product, treat API spend like a line item, not a "well, AI is cheap" assumption.

The takeaway, if you want one: the cheapest path to a shipped product is not always the cheapest path to a sellable one. Forks are great when your product is a thin layer. They're a tax when your product needs to have opinions.

I wrote more about the fork vs. build tradeoff here (https://seedlycrm.com/blog/build-your-own-crm-why-you-should-fork-instead). Happy to share the specific forks I evaluated and what killed each one in the comments if anyone's curious. Or roast my stack choices. Either works.

on May 29, 2026
Trending on Indie Hackers
Your build-in-public audience is not your market. I learned the difference the slow way. User Avatar 106 comments I built a WhatsApp AI bot for doctors in Peru — launched 3 weeks ago, 0 paying customers, and stuck waiting for Meta to approve my app User Avatar 58 comments From broke and burned out as a PM, to launching my SaaS and optimizing my health User Avatar 30 comments Built a "stocks as football cards" thing. 5 days in, my launch tweet got 7 views. What am I missing? User Avatar 25 comments I kept starting projects and dropping them. So I built a system that wouldn’t let me User Avatar 23 comments We built Shopify themes to $20k/month. Now we have to pivot. User Avatar 22 comments