Hacker News new | past | comments | ask | show | jobs | submit login
Twenty: A Modern open-source CRM (github.com/twentyhq)
164 points by pretext on Oct 7, 2023 | hide | past | favorite | 67 comments



Having implemented a few different CRM systems, I think that CRM systems should be opinionated and enforce business rule best practices for most users.

When I meet a CRM salesperson, and they're like our software will do whatever you want and we will create it, you have to read between the lines and translate it. What they really mean is "Our software isn't designged to work for most general use cases, implementation will require a team of really expensive developers to create and maintain, we will tell you we are making custom fitting "cuture" software and you will be sending us a boat load of money for the rest of your company's life if it works or you will burn a giant pile of money until it doesn't work.

This isn't my first rodeo. If you have to extensively customize the software then the cost of the software will end up being moot and the cost of the people to run it will end up costing a fortune forever.


It has to be customizable or people won't buy it.

After all, they just want to re-implement their current, CRM solution (which is terrible, and is why they want to buy a new one in the first place) in the new fancy CRM.


By opinionated, do you mean buying specialized off-the-shelf CRM solutions for a specific industry? For example, if the customer runs a legal firm, they should buy a CRM with functionality targeted towards legal firms?


> For example, if the customer runs a legal firm, they should buy a CRM with functionality targeted towards legal firms

Even those won't be specialized enough, a legal firm that handles corporate megers and acquisitions has very different processes from one that does class action litigation or criminal defense. Successful CRMs are not opinionated, but are customizable - requiring an army of consultants to deploy and an internal role to support. Small companies may be coerced to using opinionated processes (quickbooks + whatever process the part-time bookkeeper wants), but every medium-sized enterprise or larger is a snowflake


Again, not an area I know much about, but: there are going to be hundreds, if not thousands, of medium sized legal firms in the US handling, say, criminal defence.

They can't be that different from one another that they would require bespoke software, other than an off-the-shelf solution for criminal defence lawyers? Or is there sufficient difference e.g. state to state that this would never work?


While selling the simpler product, the financial position of a company selling "Criminal Defense CRM" is substantially different to a more general "Legal Firm CRM" one; both would be competing with "Salesforce for Law Firms[1]", with the first having the smallest Total Addressable Market.

1. https://www.salesforce.com/uk/solutions/industries/business-...


I'm pretty sure this implementation gap is done partly for a good reason and partly for a bad reason.

The good reason is even within an individual industry each company is different enough that the software needs to be extremely customizable or there will be too much adoption pain required. I don't think opinionated does it when you would need to enforce change across large swathes of people. I have seen this tried and be an expensive failure across more than one organization where malicious compliance basically killed multimillion-dollar rollouts of this kind because people simply weren't prepared to change their workflows. I've seen the CTO of a very large organization first instruct, then ask, then plead, then beg for people to adopt the CRM that had been installed at great cost all to no avail.

The bad reason is that lots of big software companies (but definitely CRM people like Salesforce) rely on big consultancy firms to sell their product. Consultancy do that because they "don't sell software, they sell solutions", meaning they come in and do the implementation etc. They wouldn't do this if they didn't get the sweet sweet billable hours, so your software better be customizable up the wazoo for them to be interested in being your sales army.

And then piled on top of that, salesforce have created an ecosystem of developers who do the customization. So if you're a small bank, you might want ncino to do your loan workflows etc. That means Ncino are selling salesforce everytime they sell their product etc.


If you can't customize the software, then you'll implement external hacks and workarounds that are much uglier and costlier to maintain than customizations layered on top of a more flexible system would be, or else you just won't use the software.

This isn't my first rodeo either, and in my experience, most firms have at least a few idiosyncratic rules and process that they aren't willing to change just to conform to the limitations of software.

If you build opinionated software, your customer base will be limited to businesses that either already operate according to the assumptions you've baked in to your design, or else have the resources to implement their own solutions -- at higher complexity than customization -- to compensate for what's missing from yours.


I like the idea of an open source CRM, it means you can take it and do the customizations in-house (as opposed to paying consultants to do it) or both. Out of the box and on a small scale, this feels very much like a self-hosted version of Notion.


In most cases, you do not want to do that customization in house. Your engineers don't know anything about your crm, probably don't want to, and have more customer-facing-value/important things to do.


Can it be built as layers - a flexible platform, with an opinionated product built on top of it? That way, simple use cases are easy and complicated use cases are possible.


Development and developers are extremely expensive, especially when you have to train them how to use your custom home built product. You are generally far better off using the off the shelf product that everyone has been trained on than using some custom product when you have to start hiring and training developers. The software costs are generally minimal compared to hiring smart people to design, implement and code projects with complex business logic.


This used to be the SAP philosophy; build your company processes around SAP, not the other way around.


That would be the promise of companies like SAP and Salesforce.

I believe Dante wrote a book on the subject…


I can't tell from your comment: are you saying that TwentyCRM is not opinionated or enforcing business rule best practices, or is this just a general blanket statement about CRMs that may or may not be relevant to the submission?


I'm saying that based on the text in the submission there are numerous red flags that they are touting as 'open source' features that would makes me skeptical of buying their product based on my general experience purchasing CRM systems.

It sounds like they want you to pay for developers to help develop their unfinished crm system and the benefit you will receive is the crm system will be completely customized for your business.

Personally, my experience is that large software like CRM can be very very expensive and very very risky in the sense that you become dependent on the people you hire for it and those people can start out or become very very expensive. But most developers I know many of whom are on hacker news believe they can churn out a CRM quickly all they need is javascript, a server and a database.


Aren’t all successful CRMs basically around customization? Like SFDC is functionally a distributed Smalltalk OS


Hard to be more expensive than S/4Hana


Thanks pretext for posting this! We didn't expect to be featured today :)

We're currently rewriting the backend and will ship a new version on October 30 that will be much more powerful (with a flexible data model)


Soooo many things missing on first sight. Did the authors ever see a real system in a real company?

Also please fill the demo with at least 10.000 to 100.000 items - it makes no sense showing your software with five data items, it looks like a demo for some home work then. We want to see how it behaves with millions of data.


I like that you signed up just to comment on this. It probably means we're doing something that matters even if you think we don't do it well :)

We'll work on a real demo environment with a lot of records, we just haven't prioritized it yet. Right now it's not really a demo environment, but a real account that happens to be provisioned with a few example records. Putting more records wouldn't really make sense (you have to delete those records manually to start using the CRM).


> Putting more records wouldn't really make sense (you have to delete those records manually to start using the CRM).

I would assume that their point is that this would demonstrate that the system doesn't break down if you fill it with more than a handful of entries. Would be a shame if it grinds to a halt after using it for a few years.

And demo data != initial starting state


Dank. I've always disliked most open source CRMs because they are either outdated or hold back too many features as paid.


Yes that’s why we created this. For my previous company I couldn’t find anything I liked. I wanted something built with modern technologies and by people who care about design.

There are still a lot of things we need to develop to be at feature parity with big players but we are shipping fast and we will get there!


> Dank. I've always disliked most open source CRMs because they are either outdated or hold back too many features as paid.

It's the open source circle of life. The same thing will happen to Twenty in a number of years. Things to watch out for: someone launches a competing hosted version of thr CRM.


EDIT/Update — OP made it clear that this can be self hosted, which wasn’t clear in the pricing sheet. I would recommend updating.

— deleting my previous comment -


Sorry if it isn't clear. Self-hosting is 100% free and without any limitation.

As for the cloud version, I replied here: https://news.ycombinator.com/item?id=37808121

TLDR is that the cloud version hasn't been our primary focus yet and we put a high pricing on purpose that is not the final pricing, while we figure out the good pricing strategy. As of today everything is free without any limitation, we don't enforce any limit. And when we rollout the real pricing, it will be more compelling


I stand very much corrected and wasn’t trying to make an allegation…

Your pricing page says pretty much the opposite and is quite confusing — it literally just shows “Free” vs. “Grow” and no option for self hosting made clear


Thanks for that eye-opener. I read the comment and just believed it, would have closed the tab with no further interest if you hadn't been on the ball and replied within minutes, in time for it to be there when I opened this comments page.

I've noticed previously in life that if I don't correct an allegation, people will just assume the to-me-obvious-falsehood is true by my silent assent. I didn't know that I, too, fall for this stuff despite being aware of the problem.


The software is at alpha level. What can it already do? Is there a roadmap?


It’s already a good CRM for basic tasks like tracking contacts and opportunities. It’s stable and mostly bug-free. Next month we will ship custom objects and the API, then email integration. And next step is to make it truly extensible (right now your best option to do something truly custom is to fork it which obviously isn’t great).


Based on my experience, one of the most challenging aspects of CRM is having sales agents manually enter customer data and log activities such as calls and emails, especially when dealing with messaging across different platforms. While many SaaS and open-source CRM systems offer basic contact, lead, and opportunity management features, they often lack comprehensive solutions for these issues.


As someone who worked implementing different CRMs like Dynamics and Zoho this thing is missing like 99% of the stuff companies need.


Such as?


emails, calls, workflows, dashboards, Attribute/field access control, SAML, mail merge, campaigns, integration with other systems and the list goes on, this is a very basic CRUD CRM


I think salesforce is pretty dumb, but I think salesforce users are dumber and the artificial limitations help them

removing those limits in an open source alternative doesnt help that crowd

but yeah there’s definitely a sliver of an audience that can do system design and wont just roll out their own microservices and database


This is the type of solution that brings a business to its knees the moment it outgrows it.


it looks like a notion clone on first inspection. your github/website could be more powerful if you highlighted some differentiators! I see there is an "emails" tab. Does it allow you to track emails like HubSpot?


Yes the design is heavily inspired by Notion but the backend and the features are those of a CRM. We’ll have email integration soon!


How is this different from Odoo?


Odoo is an open source ERP so they're doing a lot more than CRM. They also want to replace Docusign, Shopify, Workday, Notion, Intercom, Google Sheets, and more.

We will focus on a narrower scope and try to do it very well instead of going into that many directions


Hey.

Github says Agpl license.

Then the pricing page says 100 contacts for community support, is that for hosted version?

Why not have a "self hosted option" on pricing page that probably doesn't have limits unlike hosted one?


Yes that's only for the hosted version. Self-hosting is indeed 100% free and not limited.

We definitely need to work on that page!


Open source or not, apparently the no cost version is limited to 100 contacts, making that version a toy at best. At $29/seat/mo, it's not far away from far more mature all-employee Zoho One at $37/seat/mo (paid annually).


The no-cost Saas version is limited. The self-hosted version is not.


Thanks for clarifying for others! I didn't expect this to show on HN today but we're definitely taking the feedback and going to change that page soon


That’s a tiny number of contacts.


I'm guessing they don't expect that many customers would actually convert if they had a higher cap on the free tier. It's more like a trial than anything.


Tbh we haven't been focused on monetization at all. We've just put a high number to avoid disappointing people afterwards by raising pricing (I hate when company advertise something as cheap, then lock you in and raise prices). But we don't enforce any pricing as of today, you can use the cloud version for free without any limitation.

The actual pricing will likely be significantly lower. Initially we thought of introducing a pricing system that's more aligned with the value created (with a generous credit system, based on number of actions taken), because we found that Salesforce charges by seat but in large orgs most of the seat companies pay for are unused, so the incentives aren't aligned. I'm not sure we'll go this way because people also want a simple and predictable pricing they can understand.


Contacts are a core feature. You can not expect to succeed as an open-source company by limiting the number of contacts at any point of maturity. Provide a decent number of features, and then charge for SSO and stuff like that.

Or put everything free and have your own dedicated service, with your infra and support. Look at Sentry. Everything is open source. They are making a lot of money. Not everybody wants to run Sentry on their own infra. Same with CRM.


Be careful, that’s going to confuse a lot your buyers, especially at large corporations. Unless you are focusing in very tiny shops where who decides is the main or only user, your customers will be more concerned with cost predictability than with fairness. They just want to know what the cost will be with no surprises as to earmark the budget without having to revisit it later.


Yes I agree, we might have to pick our battles and follow the industry norm on this one.


Looks good but email integration is a must have for a CRM.


Reminds me of SugarCRM (the Community Edition, that is)


Ui using shadcn ?


No shadcn is great but we rebuilt every component from scratch. And we use styled components, not tailwind.

Storybook here: https://storybook.twenty.com

When it's mature enough we'll isolate this into a UI lib anyone can use


> rebuilt every component from scratch. And we use styled components, not tailwind.

Honest question: Why?


Hi, I'm Charles and leading the engineering work on Twenty!

We've made the bet to invest on a tailored design for our components. Using an existing UI library is a strength to use robust components and move faster, but I've always struggled to customize it.

There is always a point where you want something custom that is not supported by the library and you start hacking into it. On previous projects, I've almost always used existing UI libraries. For Twenty, this is a long term project and the initial burden of creating UI components vs customizing existing ones will be marginal on the long run.

IMO, if you have strong design requirement (and you have enough resources ofc), don't go with UI librairies ; I take as much inspiration as I can from them, I may fork one but I would not hack their API


Agree, it feels like the right decision as well. The grid felt a little bit like shadcn hence I asked.

Using external libraries gives some early velocity, but most of the good looking libraries are incomplete and most of the complete ones are boring (material / bootstrap)


Charles, you may want to fix that link at bottom of main page on github ( Get Started with Twenty.) that yields a 404 not found error.


We want our design to match exactly Figma. Shadcn could have been an option because their approach is to have users copy/paste the code, so it could have worked. But copying styles from Figma isn't much more work, it wasn't painful


Nice to see someone else using styled components instead of tailwind.


why did they commit .vscode/ ?


Since VSCode is the most popular editor, it sets a pre-configured environment for people who want to contribute. For exemple it suggests extensions we recommend using.


Okay, I didn't know it was so popular.


For anyone interested a wrote a pretty good Blog post.

What is CRM Why use CRM?

https://www.onedb.online/blog/what_is_crm_why_use_crm


You're linking to your own post, self-judge that it's a good post, it has a call-to-action for a "free of charge consultation" at the bottom (which, ironically, leads to a page with 2 separate loading bars before still showing a flash of unstyled content) where you will presumably (based on the homepage and pricing page) be sold a competing product to TwentyCRM. Is there any redeeming way in which your comment is not just spam / trying to use this thread as free advertising space?




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: