This is one of the more interesting discussions that I find at the moment. It's about whether you should use AI to build your own internal tools.
Chamath built his own JIRA tool in about 6 weeks.
Our cracked team just used Software Factory to rebuild and replace Jira in a little more than a month. We first spent 3.5 weeks planning. This is Software Factory's superpower. Chamath Palihapitiya
Gergely (Pragmatic engineer author) thinks this isn't a good idea from a maintenance point of view.
Not a Medium member? Keep reading for free by clicking here.

You have this large chorus of people saying that you should stay away from building a CRM.

I have a personal opinion on this as we have built a number of internal tools including our own timesheet system.

Some of these tools have been great, but some haven't and we have reverted back to basic systems.
A list of specific tools that we have built at my agency
- A timetracking system
- A project management system
- An email management system for me personally
- A system to manage our operations, cashflow, finances, Xero integration
- A system that is like PandaDocs and basically sends a client a quote
I'm not going to pretend that this is a straightforward thing to do and that every tool we have built has been worth it. I've definitely bitten off more than I can chew.
The ones that took a few attempts was the operations one. It was wider in scope and basically tried to tackle a number of complicated things. Like centralising leave, it produces complicated financial models and has an integration to Xero. That one has probably taken 3 different goes from 3 different developers in the team to get right.
I thought I'd share what I've learned through that time.
#1 — It is totally fine to build your own internal tool
First of all if you enjoy learning how things work then I think it is totally fine to build your own tools. I often find that it's a good way to learn a new thing.
For example recently I built an integration to Outlook to see how that worked. I wanted a simple tool that allowed me to methodically review my emails.
But this work was fun to learn about Azure and that ecosystem. Then you might be able to use that skill later in another context. This is really important to me because I am a consultant and so have to learn about how a bunch of different systems work.
I believe when you are starting out in development it is really helpful to get practice on your own problems.
#2 — It is fine if you have a clear relatively small use case
Whenever I have tried to bite off more than I can chew the opportunity cost has always meant that I don't end up finishing the project.
But whenever I have had a small use case the tools have worked perfectly. Things like task list systems are a good basic example. Sure there are a million systems that do it but if you want something simple then it is quite fun and it doesn't require much maintenance.
I wouldn't try to build a chat system like Slack as Gergely mentioned.
#3 — Beware if you need clients to use the system
Using AI tools yourself is one thing. You probably don't care if it doesn't work. As soon as you want clients on then beware.
I have tried this with the task system. That was a failure. We ended up reverting to ClickUp and Trello.
The thing about those tools is that they are tested and smooth. Everything works. Clients expect a high standard.
The problem with my tool is that it worked for me, but the UX wasn't as nice as the other tools and also the subtle things like drag and drop and the polish of the product was nowhere near as good as the off the shelf products.
Having a client on a system is a much higher bar. It's not to say that you can't do it but the bar is much higher. I would definitely hesitate before doing that again.
#4 — You can save money
We saved a lot of money by building our timesheet system. We did that 4 years ago. It was $500 a month. Now the thing is that I live in New Zealand and all of these SaaS products are in USD and our currency is really weak. As soon as you get to 10 staff the per license charges really start to add up.
It took us 2 weeks to build. Over that 4 years that's $25,000 in fees. We didn't have a whole bunch of work on at the time.
When you have your own tools they don't cost that much to operate and run.
#5 — You can also lose money by not being focused
I'm definitely a learn by doing person and have learnt the hard way that there is an opportunity cost to my time. That has become more apparent as I have been more busy. It is easier to compare an hour of where I spend my time as I have a lot of work to do than when we first started the business.
As a result it is an easy trap to fall into where you just build your internal tool and you don't focus on the main thing or task at hand. I've learned that this is called the law of triviality where you as a company can easily focus too much on things that aren't actually important.
If you are starting out your business the harder thing to do is to talk to customers about their problems and learning about them or potentially facing rejection.
#6 — You can build what you want which is great
I enjoy simple tools. I enjoy simple systems and my brain operates in a funny way. This is my favourite part about building your own systems. You can get to tailor experiences to exactly how you like them.
You also get to remove all the junk that large scale systems have.
#7 — You can save time
The thing about a tailored system is that you can save heaps of time as you are coding exactly how you want something. For example in my email system, I have a number of tailored actions that need to happen for certain emails. I have integrated these to systems and it saves me a lot of time. This is a great benefit of systems like this.
#8 — You can explore the art of the possible
One of the benefits of building your own system is that you can explore what is possible. You might discover that by combining your invoice system with AI, it opens up a whole new workflow for your business.
This is a really big advantage that I often find. Usually it's some internal tool that I have built that allows me to pitch a concept to a future client. The Outlook email integration one is a good example. I was able to show a client what I had made and then it made it easier for them to see how it could be applied to their business.
What about businesses?
I want to speak to something that I have a lot of experience on and that is building custom systems for business of 20–1,000 people.
At this scale it is totally viable to build your own system and I am doing it a lot more. The per seat charges for these clients really add up (as mentioned for non-US businesses) and sometimes they might need a slice of an off the shelf product.
I still think a number of the same rules apply, for example I wouldn't build a chat app, but often large businesses want to integrate things together and they want to give clarity to data in some form. On the CRM subject for example, some businesses don't actually need the email integration and they just need a simple opportunities mapper and then a couple of custom things like an easy UI for storing tasks and actions. The IKEA effect really kicks in strong for businesses and they take great delight in having things tailored to their own branding and also their internal language.
All of the same rules apply and you just have to be tactical with what you build. The big power that a business has is that you will own your own data and you can build these great tailored workflows that an off the shelf product can't to the same degree. You can also use AI across your own data which is super powerful.
How do you decide the cutoff between "small enough to build" and "too big"? Is there a rule of thumb or do you just feel it out?
Now I will only give myself a few hours to get the tool to a level of viability. If it is going to take weeks it typically isn't worth the time and means I am falling into the law of triviality.
What about when the small tool inevitably wants to become a big tool?
Yes, this is particularly a problem with AI tools and how easy it is to jam features in. The way that I get around this is by having a written down scope that I stick to. Then I use the tool for at least 1 month without adding anything to it.
Then I add a round of changes. Then I try to use it for another 3 months.
How much time do you actually spend maintaining these tools now?
Honestly no time at all. In four years we have spent like 1 hour on maintenance on the timesheet system. All of the other systems work. I am a minimalist though and like simple systems. That has helped.
So how do I view this today?
Now I view it like this. If there is a really big pain point in my own business then I will try and solve it simply with a clear scope. If I want to explore a random idea then I might give it a few weeks and that will usually be the art of the possible.
The bar for both of those is quite high now as the opportunity cost of time for me is higher. As a result it ends up that I will probably do a couple of internal things this year.
Before you go
Subscribe to my free Substack newsletter because you get the following:
- A brand-new article for executives on Sunday that's only posted on Substack.
- Links to every Medium post I've written in the past week
- Book recommendations every week for you to spend your Audible credits on
If you've built your own tools let me know if you agree with me. It does seem to be getting easier and easier with these AI tools to do it yourself.