The SAAS problem
We all have some sort of a central database. This core, or the “single source of truth”, is extended with carefully selected services. HubSpot for sales, Disqus for commenting, Recurly for billing, and so on.
Sounds perfect. Everyone else is doing the same so what could possibly go wrong? Nobody got fired from choosing xyz, right?
Not so fast.
Developers know how complex this is: a service mix is hard to manage, and is prone to errors. They have a hard time understanding the complexity, let alone extend it.
Customer relationship management is all about relationships, but that power is severely weakened with a distributed system. Create, read, update and delete (CRUD) operations are hard or impossible against such beast.
This is particularly annoying for hackers who want full control over everything and strive for maximum performance.
Lead generation problem
Every time a visitor signs up to Disqus or Intercom, you lose a lead: the contact information is stored on their system and not on your master database.
When the leads are scattered around the cloud it's impossible to nudge them towards a sale. You can say goodbye to all the powerful ideas in lifecycle marketing.
As a young startup, we cannot afford to do that.
Every new service introduces a new user interface and you end up using multiple “admin dashboards” on a regular basis. This complexity becomes a new, unquestioned standard.
But can you tolerate all those upgrade now banners and popups?
Is there a way out?
The power of NIH syndrome
After living with the above problems for too long we started dreaming of something else. We wanted to take full control of our core business functions.
If it’s a core business function — do it yourself, no matter what.
CEO of Stack Overflow
If customer relationship management isn't core, then what is?
As minimalists, we knew how far we can go focusing on the bare essentials and leaving out all the “crap”. So off we went: we replaced all our core SAAS services with custom, minimalistic alternatives.
To our big surprise, we were amazed at how easily it all came together. It was unexpectedly easy for us to replace a big chunk of our services with a simple CRUD. We only did the core and left out the stuff we didn't need. Something like 1% of all the features.
The new, unified system gave us unexpected benefits. For example, we could ditch Recurly with a single link in crontab. We had all the necessary billing data on our local database so Stripe was all we needed for charging.
One thing is certain: the SAAS industry has fooled us to believe their products are irreplaceable pieces of software that take years to build. Not true. Think Disqus, Intercom or MailChimp. Their massive feature set is compelling on the surface, but if you dig deeper you'll find out that their core is easy to replicate.
The next time someone mentions that infamous “simple CRUD”, you might want to take them more seriously.
Of course, not all services should be copied. MailGun, for example, is an extremely valuable asset for us. It allows us to programmatically send and receive emails; by routing all those emails to our new system we could ditch Gmail and MailChimp from our stack.
Stripe is obviously vital: it would be total madness to ditch them and start dealing with the absurdness of banking.
This custom CRM has genuinely been a dream for our developers, marketers and the support people.
All the critical data is easily accessible, in all the imaginable ways. No syncing problems, no data availability issues, no data inconsistency concerns. The bugs are easy to find, new features are easy to add, and we don't have to make any compromises on performance.
And of course, we have just one backend and one frontend for everything.
This website is also a thing. It's essentially a content-heavy interface to the CRM. Whenever you post a comment, invite a friend, or join our mailing list the data go straight to our Redis-backed CRM. The experience is exactly as fast as you can expect from this awesome database.
It's not far fetched to claim that this is the fastest business website you've ever seen. At least we try hard to be one.
The moral story is this: by owning your core business functions — the customer relationships management — your technology stack becomes more powerful and you have fewer things to worry about. New startups should seriously consider this option. Especially the ones with strong technological competence. At least we are happy as hell.
Oh, and one more thing: it costs $11.50/mo to run the CRM and this website with all the server costs included