But besides my entrepreneurship, I think the space for building such application goes to 3 routes:
1) Build one "traditional" CRM, to handle accounts, contacts, oppportunities, etc, etc. Without or just few customizations being possible. So then you felt in the "commodity" bucket to compete with all other CRMs in the market (and I'm not talking about Salesforce).
2) Or you build something for a niche/vertical so then you can specialize it for a specific scenario. Like a CRM for kindergarten schools, so then you can make it a 100% fit with their business. This way a few customizations are enough since the product is already made for them.
3) Build such a robust solution that allow the user/consultants customize them as the client which allowing them to achieve any kind of requirements the company has to deal with their clients, and believe me, from mid-size to big companies they have a lot of different customizations, automations and integrations needed for deal with their customers.
I was thinking to build the third one, because that is where the money is. BUT, that is a huuuuge job for a one-man show.
So maybe starting with the 1 and eventually going to the 3 could be an option, maybe I will still invest time on it, since my know-how in CRM area is almost everything I know (I have been working on this for more than 20 years now).
But getting back to your reasons to create Twenty I think you can just let the design go if you want to achieve "developer experience/customization". Think that as you let the product be customized you can't keep it "clean" because the final user maybe needs a ton of fields for their use case, or something even weird like 3 screens to then create a record.
So, my 5 cents is: focus on power and ease of customization, that is what your potential clients would look for.
In terms of how data is pulled and fetched, I think you are talking about Graphql. But I think does not matter to much, as long you have a very specific way to, at least, allow 2 kind of integrations: Online (syncroous via API (rest or graphql or soap or anything) and Batch. The later is very important since as you are dealing with CRM, loading big amounts of data is a must specially when loading leads, contacts, etc.
Ah! One last thing, before going after Salesforce, try to compare Twenty to the current SMB alternatives like Pipedrive, Insightly, Zoho, Hubspot, Close.io, Less Annoying CRM, etc. They all have their own beautilful and productive UI so you need to look for being different from them.
That are my thoughts I did a lot of research on this market area already, so ping if you need something me at douglascorrea dot io
As a fullstack developer I already thought multiple times to "create my own Siebel" or "create my own Salesforce".
But I faced that, the CRM part of it is very easy to implement. That is why there are so many players on commercial CRM area (Pipedrive, Insighlty, etc) and even on open-source (vTiger, SugarCRM, etc).
But what makes Siebel and mostly Salesforce different is their power of customization.
Imagine that there are entire careers (including mine) built on top of customizing such applications.
I know current state of Twenty is just the start, but I'm wondering how different from vTiger, SugarCRM and other opensources solution is Twenty? Besides the UI design that is really clean but, from my experience, is not so much what final users thinking when choosing a CRM, if you want to compete agains the big players as you stated in your CTA: "Building a modern alternative to Salesforce"