Krishnan's Personal Website


Home | About | Blog | Projects (Work) | Projects (Personal) | Connect with me


Building a simple CRM application for small to mid-sized B2B businesses



Published On: Jul 18 2026
Written By: Krishnan Sethuraman
Category: Business


confusing complex crm

 

Once Upon a Time

Being a tech entrepreneur, I have always been familiar with CRMs. But my first attempt at building one was completely accidental.

It was 2015, and I needed a simple tool to track my staff's visits to client offices. That meant building a database to store client details: who our clients were and how to reach them.

The tool worked so well that I had a crazy idea: why not turn it into a full CRM and bring our sales process into it too? The sales team loved it, and suddenly I could track every live deal in one place. We called it Lucid. It ran on Google App Engine and used Cloud SQL.

Owning our own CRM gave us a kind of freedom that off the shelf software never could. We could stretch it in any direction we wanted, and there was never a plan upgrade standing in our way.

 

Fast Forward to 2021

I carried the habit of Lucid into my new company and quickly hacked together a rudimentary CRM to manage our sales pipeline. It was really more of a pipeline tracker than a full CRM, and we outgrew it fast.

So we did what most young startups do. We moved to spreadsheets. Prospects, leads, and deals, all living in rows and columns. It was messy, but somehow we kept going. Every account manager had their own spreadsheet and ran their piece of the business out of it.

 

The Problem

There was never a single source of truth. To get any critical information, I had to depend on someone else's spreadsheet. Worse, we sometimes ended up with duplicate spreadsheets and nobody could remember why they existed. Revenue critical information was scattered everywhere.

That's when I remembered the old Lucid days and decided it was time to build a CRM again. It was the middle of Covid, and I suddenly had a lot of free time on my hands. As they say, an idle mind is a devil's workshop.

 

Build vs Buy

The standard business advice is simple: don't reinvent the wheel, buy the software you need, and focus on your core business. That advice isn't wrong. But there's an equally undeniable truth: every SaaS company eventually wants to move upmarket, and that usually means prices creep up gradually until the product becomes out of reach for small and medium businesses.

On top of that, the plans for critical business tools like CRMs tend to be restrictive. HubSpot, for example, requires a plan upgrade before you can even use its APIs. Salesforce is a fantastic product, but its pricing puts it out of reach for most small teams.

So I made a call: we would build our own.

 

Building the CRM

Between 2020 and 2021, thanks to the lockdown, I had more free time than usual, and that's when I sat down to build the CRM properly.

I wanted it to be dead simple to use and adopt, with as little confusion as possible. I studied the sales process closely, along with common B2B sales strategies and go to market workflows. I also simplified the language wherever I could. Instead of the usual "Accounts," I used "Organization," a word that explains itself without needing a manual.

 

The GTM Workflow

GTM stands for go to market. I made sure the CRM followed a widely used GTM workflow, with clear lifecycle stages for every organization in the system.

Organizations and contacts form the foundation of the CRM. You create an organization, then add contacts connected to it. From there, every organization moves through a lifecycle:

  • Prospect: A new contact enters the system. We reach out to them through various channels, email, calls, LinkedIn, whatever fits.
  • Lead: If the prospect shows interest in our product or service, they become a lead. We nurture leads through calls and emails.
  • Opportunity: If a lead clears our qualification criteria during nurturing, it becomes a qualified opportunity.
  • Customer or back to Prospect: Account executives pursue qualified opportunities. If the deal is won, the organization becomes a customer. If it's lost, it drops back into the prospect pool, ready to be worked again down the line.

This simple, linear flow made the tool intuitive for anyone joining the sales process, even without prior CRM experience.

 

The CRM in Action

We rolled out the CRM gradually rather than all at once. The first team to come on board was our account managers, who badly needed a single, reliable database of customer information.

Next came the account executives, who started pursuing qualified opportunities handed over to them by our SDRs (sales development reps, the folks responsible for the early prospecting and outreach work).

Once the account executives were settled in, we brought in everyone else, including the SDRs themselves, closing the loop across the whole sales team.

It's been almost three years since we went live. In the early days, the CRM was rough around the edges. We were actively squashing bugs and shipping new features, and honestly, we still are. That's the nature of building your own tools; they grow with you.

With the early bugs fixed and the rough edges smoothed out, the CRM has become genuinely robust for our day to day use.

 

Benefits of Building a CRM

If I had to point to one major win, it would be the freedom and flexibility we get, all for about $5 a month in server hosting. No steep monthly or yearly bills. Full access to APIs without ever hitting a paywall or a usage cap. We built it once, and now it simply works for us, on our terms.

 

An Unexpected Bonus

A little while back, we spotted an opportunity in the market. We forked our internal CRM and used it as the foundation for a new product called FolioCRM, a customisable CRM built specifically for hotels. It ships with free APIs and an MCP server, and it has quietly become a sleeper hit with our target audience. What started as an internal tool to fix our own chaos has now turned into a brand new revenue stream for the company.

 

The Road Ahead

As a builder, I've often been tempted to spin off our internal CRM as a standalone SaaS product. Even ChatGPT has gently talked me out of it, reminding me to think of the CRM as our unfair advantage rather than another product to sell.

I haven't made a final call on that front yet. But whatever direction we take, the journey of building our own CRM has been genuinely rewarding, full of lessons, both technical and functional, that I wouldn't trade for a shorter path.

 

Krishnan Sethuraman
Krishnan Sethuraman

Founder & CTO of Geedesk. Passionate about building software from scratch, launching SaaS products, and helping teams deliver enterprise-grade solutions.

Like what you are reading?

Discover more similar articles sent to your email

Subscribe to my newsletter