I built IceburgCRM (available in Django or Laravel). You can create a specialized crm with only a few words. For example: "create a stamp collecting crm". Modules, Fields, Relationships, Subpanels, default data and even a image for your homepage is created.
Data can be imported/exported into 6 different formats. Supports unlimited many to many relationships, 26 different themes, etc.
This is what the default crm looks like: https://demo.iceburg.ca/
Here are some samples I generated:
Gourmet Coffee Enthusiasts CRM
Bee Keeping CRM https://beekeeping.iceburg.ca
You can also manage an existing database as a CRM.
Here is a default wordpress database crm.
Live wordpress site: https://wordpresssite.iceburg.ca/
Open Source. Check it out. https://github.com/iceburgcrm
The complexity arrives when you need to support complex and branching workflows, teams that model things subtly differently, organizations that model things radically differently, strongly opinionated stakeholders at key teams/clients, endless demands to integrate with external systems, etc
LLMs might tip the calculation of buy v build enough that "roll your own" becomes the standard for most business apps.
Don't forget to hire/contract experts to admin those """off the shelf""" solutions!
https://c8.alamy.com/comp/B083YP/female-secretary-or-assista...
But the more you want to integrate with, the more complicated it becomes. The big advantage to off the shelf CRMs is that they often have many integration options readily available.
It typically takes over a year and more than 1 million dollars just to implement a commercial ERP system for a large organization. Starting from scratch would be quite the endeavor.
Seems like it could be done if it were done from the start.
Seems like a lot of the issues are understanding a good db schema. Screw that up and you are in all kinds of trouble.
I've built a couple of systems that manage the majority of custom business processes for some small/medium organizations over my career -- but when it comes to processes that are fairly standard, e.g. accounting, it's a lot less pain in the short term just to just buy something off the shelf. Although for truly unique processes, it is nice when custom software does exactly what is needed. But most businesses aren't very unique.
I think the reason most organizations don't do this is that most businesses aren't business software engineering businesses, and the little precious labor that a small growing business is able to hire is better allocated to a profit center.
> Seems like a lot of the issues are understanding a good db schema. Screw that up and you are in all kinds of trouble.
This is much easier said than done. On more than a couple of occasions, I've seen technically well designed databases steamrolled by organic growth in business. Processes change, legal requirements change, customers change, the business changes, etc. Then you're left with a well-designed database that solves the wrong problems.
It's all possible -- businesses build custom software all the time. But there's a reason off-the-shelf software sells.