As a startup, your time and resources are very limited, so you should focus 100% of your attention on your own product. You should work on what makes your solution valuable to your customers, and not spend time rebuilding any software that you can buy off the shelf.
In principle, this strategy makes perfect sense. In practice, as it often happens, the strategy is: it depends. đ
Over the years, weâve built several internal tools at Balsamiq. Today Iâll show you some of them, and tell you why we built them.
|
|
For the first 2 years of Balsamiqâs life, our CRM consisted of a script on our website that created license keys, a report from our payment processor, a perl script to manipulate it a bit, and a large Excel spreadsheet to collect it all. We affectionately called this spreadsheet âthe beansâ. đ
As sales kept growing, I started looking around for a more scalable solution. At this point Balsamiq was still a tiny company of about 4 employees, but we were selling our little desktop app over 10,000 times a month.
This was 2010, and the software industry had already moved on to SaaS, so all the CRMs I found online were optimized for subscription businesses. To find something that could handle over 10k transactions a month, I looked at software used by supermarkets and fast food restaurants!
As you can imagine, there wasnât much ready-made on the market. The closest thing I found was a combination of Salesforce + a number of very expensive plugins + large consulting fees to set them all up.
We couldnât afford it, and, frankly, it looked terrible. Remember, Stripe didnât even exist at the time.
So, my 5th hire (hi, Paolo!), was brought on board to build our own custom license key generation + customer database, which we named âOlioâ (Italian for oil) âŚbecause it goes with our condiment theme, and because Olio is what makes the Balsamiq engine run smoothly. đ
|
|
Olio is over 10 years old now. Over the years it was improved to handle subscriptions as well as licenses, integrating first with PinPayments, and then with Stripe.
Several Balsamiq employees have worked on Olio over the years, and rarely full-time. Itâs been fully rebuilt once, and it will probably be rebuilt again soon. Itâs not the prettiest, nor the fastest, but it does its very important job for us, quietly in the background.
It now has over 1 MILLION transactions in its database. Each month, it processes an average of over $600,000 worth of transactions, and only costs around $450 to run, mostly in database costs.
You could say the main reason we built it was because nothing like it existed on the market.
|
|
Acetaia, our project management solution
|
|
At the end of 2016, with Balsamiq now 8 years old and 25-people strong, it became obvious that we needed a tool to keep track of all of the projects we were working on.
As this is a common problem to have, I was confident I could find a solution online. I looked into Asana, Notion, Basecamp, and others. I even trialed some of them for a while.
As I was trying them out, it became apparent to me that none of them was designed for a company like ours: remote-first, geographically distributed, flat, in which projects just appeared organically, and project teams were assembled from the bottom up.
What we needed most was a tool that showed us what each person was working on, without adding bureaucracy around it.
We also wanted a tool that could grow with us: not a tool that forced us to work in a certain way, but one that we could evolve to accommodate the way we work.
I prototyped something in a few days, and Acetaia was born.
|
|
An Acetaia, in Italian, is a balsamic vinegar cellar, itâs where balsamic is made. đ
It has helped us coordinate work on around 2,000 projects in the last 3 years, and costs less than $10/month to run. Maintenance is minimal, and weâve improved it to follow our ever-evolving way to work with little effort.
Again, nothing quite like Acetaia existed on the market, but the main reason we built it was because we wanted full control over its features and roadmap.
|
|
CloudAuth, RTC, LBC - born out of costly mistakes
|
|
In three other occasions, we originally DID find something suitable in the marketplace, and decided to buy instead of building.
The first example was PubNub - a real-time collaboration solution to enable co-editing in our apps. We subscribed all the way back in 2013 , and it cost around $200/month to run. As our customer base grew, it grew to a still manageable $400/month. That all changed at the end of 2017. PubNub decided to change their pricing, and we were told our subscription was going to start costing around $1,600 a month! A 4x increase overnight. WHA??? Obviously, we immediately got on a call with them, and at the same time started looking for a replacement. We worked out a deal that made the offramp acceptable for us, and now run our own RTC cluster (based on socket.io), for about $400/month.
A similar story happened with Auth0 - we used it for Balsamiq Cloud to manage authentication, and at first it didnât cost us anything, we were under their âfreemiumâ threshold for a while. Only 5 months after shipping, we passed that threshold, and we were slapped with an $850/month bill! Again, WHA???? đ We immediately started working on our own solution, which is now part of the app: we have full control over it, and it costs us very little to run.
Another similar story happened with Logmatic - a log-collecting solution we used for a few years. In this case the problem was not that they raised their price on us, but, sadly, they got acquired by Okta, which immediately forced us to migrate to their own, more complicated and expensive solution. Instead, we migrated to an in-house ELK Stack, which we now run for about $500/month.
|
|
The main reason for building all these tools was simple: managing costs.
|
|
Lately, a new reason to build internal tools has emerged, and that is data privacy.
The GDPR legislation and the data breach scandals of the last few years have opened the worldâs eyes to how much our personal data is shared and traded by businesses without us end-users even knowing about it.
How much the general population actually cares about it is still up for debate, but we decided to take it very seriously, and think it will even become a competitive factor for B2B companies in the future.
So lately we took a good look at our list of 3rd party vendors that process our customers' Personal Identifiable Information, and have actively started working on shrinking it.
One example is scheduling software. For years we used YouCanBook.me to schedule meetings with partners or customers. Recently one of our employees started evaluating Calendly because it offered a better booking UX for people. We started debating internally what to do: use both vendors (and thus have both listed in our Privacy Policy), or try to standardize on just one, knowing that we werenât entirely happy with either of them, orâŚwhat else?
So I did a little internal user research on what features we actually needed, did some technical research on how hard this would be to build and run, did some wireframes, and voilĂ , Schedulinator 3000! was born. Iâm good at naming, huh? đ
|
|
It doesnât do everything those professional tools do, but it does everything we need, itâs super-easy to use, it costs pennies to run, and it only took about 2 weeks of work to build.
Most importantly, it doesnât send your data to any third party vendor (other than AWS, which cannot be avoided these days), so now we get to have an even shorter Privacy Policy! Everyone* wins!
*Well, everyone except for our friends at YouCanBook.me and Calendly. đ I actually have a theory brewing that the push towards more data privacy could spell big trouble for smaller software vendors⌠đŹ let me know if youâd like me to discuss this in a future newsletter!
|
|
Other reasons for building internal tools
|
|
Building internal tools offers more than just full control over features, costs, and data privacy.
Itâs a great way to experiment with new technologies (Schedulinator is fully serverless, for instance), it provides a wonderfully safe training ground for new hires, and itâs a great distraction for someone who wants to work on something different for a while - CEO included! đ
If you open-source some of your internal tools, they can even become an interesting source of marketing.
|
|
As I said at the beginning, your default strategy should be NOT to build. You must resist the sweet song of the NIH mermaids at all costs. đ
If what you find on the market is acceptable, customizable enough to suit your needs, backed by a company with a good reputation, and not too expensive, by all means buy it!
If you expect a high maintenance cost, or if itâs a technology that would be too hard or costly for you to replicate, enter your credit card info and hit that âsubscribeâ button! đ
Just be careful who you buy fromâŚswitching later is very expensive.
|
|
We build internal tools in order to have full control over their features, cost, and privacy. We do it because itâs educational and fun, and sometimes we do it because weâre forced to by greedy freemium plans or acquisitions.
If you build B2B tools, keep this in mind: youâre not just competing with other businesses, but also with your customers internal tools. đ
|
|
What happened at Balsamiq in December
|
|
We continue to improve our productsâŚitâs what we do best! đ Hereâs a summary of what weâve done in the last few months.
We finally said goodbye to our vintage web app myBalsamiq. It was great to see many customers migrate to Balsamiq Cloud, which is growing at a very impressive rate.
On our website, we moved our blog from a subdomain to a subfolder. It sounds easy, but it wasnât. Weâre happy to have it all under one domain now, check it out at https://balsamiq.com/company/news/
As per our tradition, at this time of the year we do our â3% of profitsâ donations. This year we donated $52,800 to various worthy causes. This makes us SO happy.
|
|
UX/UI links for December
|
50+ Practical UI/UX Design Tips
âNeed to display some numbers on a dashboard? Try making them big and bold, with a smaller, lighter uppercase label. An easy, clear, and stylish treatment!â
-Erik D. Kennedy |
|
Old Is Solid; New Gets Talked About
âThere are times where itâs fun to try new stuff and tell people about it, and thereâs times to reach for the technology you know so you can get stuff done.â
-Kilian Valkhof |
|
|
|
That's it for this month!
|
|
So, whatâs your stance on internal tools? What have you built, and why? Weâre planning on publishing this on our website soon, and weâd love to include a few quotes from you, our inner circle.
See you next month, with our traditional and very popular âlooking backâ newsletter, with our 2020 revenue numbers! đ
|
|
|
Peldi for the Balsamiq Team |
|
|
|
|
|