Work on this started 20240205

Our businesses has doubled in size since we started using sqlite

Before I write about our experience with sqlite, you might want to be convinced that it could be beneficial to your business. Imagine you could query data about different pieces of your businesses as easily as this.

Access to accurate data differentiates first class and second class citizens in the SMB world

This is not coming from me. It's coming from Brent Beshore, the CEO and founder of Permanent Equity. If you don't know who they are, I'm not surprised, they are are a private equity fund specialized in small to medium sized businesses (meaning 5 to 100M USD in anual revenues).

If you don't know them, you are in for a treat. I share a lot of their philosophy and aspire to build something that comes even close to what they have built. Brent mentions the fact that data accuracy is what separates amazing from mediocre businesses here: "Culture of Buying The Misunderstood".

Why not use excel, airtable or something else?

You don't want to use another tool for two major reasons (1) you want your data to be centralized (2) you want to be able to have re-usable scripts for building reports. The best tool I have found for this is the combination of sqlite and a series of sql scripts.

Although this was not initially a reason for choosing sqlite, there are three others (1) it's free to use commercially (2) the Library of Congress chose it as an appropriate format for long term storage (3) it s a very simple yet flexible piece of software which can be used for a lot of different things.

Learning how to use sqlite

If you don't know how to use sql and data bases (I didn't when I started), just head down to Khan Academy's SQL course. They have built a super simple course which teaches you the basics of SQL.
To get data into your database, the easiest is to use the CSV file exports that most software partners will provide. For us as an e-commerce business it's : Amazon, our 3PLs around the world, Walmart, Shopify, Google Ads etc. To absorb all of that data into your sqlite database you will need to know how to use the the command line interphase of sqlite.
I have decided not to plug into any APIs for now since I don't want to maintain that code.