Analyse: The tools I used to build my start-up

March 14, 2022 (2y ago)

The sheer quantity of tools available when building Analyse was overwhelming. Since our launch three weeks ago, there have been many requests about what tools we use, and we felt a blog post would assist other startups in the same position.

Domains

What good would a start-up be without a domain name? There are plenty of solid registrars (where you can register a domain), however Porkbun stood out to me - they're the cheapest on the market whilst also having fantastic service as well.

I previously used Godaddy and Namecheap, however I began to understand how expensive they really were, and so I haven't looked back since moving to Porkbun.

Code

For our codebase I went with Next.js (React) for our landing page due to its built-in optimisations with Vercel (discussed later). In 2022, a very responsive and snappy landing page is crucial, and while this was my first time diving into React - I felt comfortable being able to build my landing page with it.

Then for the dashboard I went with Laravel (PHP), Inertia.js and Vue.js, solely because I felt most comfortable with Laravel and Vue. I also love how powerful the Laravel framework is having built in features such as mail notifications, jobs, a powerful database system and much more.

Both websites also utilise Tailwind CSS and Headless UI, this allowed me to build quickly whilst also being keyboard friendly.

Components

When it comes to speed, web components are a hugely beneficial way of focusing on your core app instead of small functionality. For this reason, both Tailwind UI and Flowbite have been hugely beneficial in speeding up the time it took to release my project. Flowbite has been a massive help with having charts that look and feel fantastic. To me, first impressions matter and Flowbite certainly makes that happen.

Data Storage

I knew from the start that we was going to be dealing with many millions of rows from launch, and having had prior experience using Mysql and Maria DB, I knew that either solution would cause us issues in the long term and I didn't want to deal with it. A previous project of mine had around 80 million rows of data and involved lots of maintenance and purging - which puts my time and focus away from the project.

This is where our solution of choice comes in - SingleStore DB, a database platform that has a data-heavy focus, perfect for our needs as this was their bread and butter. However, as a start-up I certainly couldn't afford their base $420 tier to be cloud managed, so instead I opted to use their self-hosted version.

My end goal is to eventually generate enough as to where we can move to their cloud solution, as database management is a headache, however this wasn't something I could afford from launch.

Payment Provider

I went with Paddle for our payments solely due to its PayPal support, they're a decent all-round platform however if my audience weren't PayPal heavy I would of gone with Stripe instead. To be honest, Stripe has much better support across the board with third-party integrations and has better features overall.

If Stripe were to ever add PayPal support I would more than likely move, even despite how thankful I am for the support from Paddle - even from their CEO in this tweet.

Email

For sending emails manually I cannot recommend FastMail enough - they're privacy-focused and super affordable, which both to me add up to a great product overall. For automated emails such as sign-ups, email resets etc, SendGrid felt a no brainer. They're completely free for up to 100 emails a day which was perfect, being a start-up and needing to cut costs.

Hosting

For hosting I went with Vercel for our landing page, as mentioned above it pairs fantastic with a Next.js app due to its built-in optimisations. I love their built-in git integration for deployments and having them manage my static sites - it saves me the headache of the upkeep involved for any form of static site.

For our dashboard and database I went with Hetzner due to their powerful dedicated servers whilst also having affordable prices. I went with the AX41-NVME which came with 64gb ram, 512gb ssd and a Ryzen 3600 CPU. These specs were mainly chosen to provide enough power to our database solution, and remove the worry of needing to upgrade any time soon.

Web Analytics

I went with Fathom Analytics due to their hard stance on privacy-first analytics, many turn to free solutions like Google Analytics - however Google use your visitor data for advertising purposes. This also means you're legally required to add a cookie banner to your website that outlines this information, a huge turn-off for those new to your website and aren't sure whether to stay.

I've been using Fathom for over a year for various projects and couldn't recommend them enough!

Push Notifications

I find it motivating to be notified when a new user signs up or purchases a plan for my start-up, and so I went with LogSnag for sending notifications to my phone/watch. Sadly Paddle has no app for payment notifications and I wouldn't want to build my own iOS app to notify it - I'd need the upkeep of developing and maintaining it, which would stray time away from my start-up.

I've only been using LogSnag in the last week or so but it has been phenomenal, and has allowed me to be quickly informed on sign-ups and payments at a glance.

Final Notes

Not sure if I've missed anything out, if I have I'll update the post! But hopefully this clarifies everything we're currently using.