If you're unfamiliar with what I do for a living—I own and run two SaaS products: Conncord and SnitchFeed. They are my babies.
But I also help companies with Revenue Operations (RevOps). More specifically, I help their sales, marketing and customer success teams make sense of the data the business generates. Over the years, my RevOps consulting has naturally evolved into more of a data architecture, software integration expertise. Which is to say, I now end up doing a lot more programming for my consulting gigs, in addition to my SaaS businesses.
I love Javascript Typescript
It's true. The ecosystem is vast. And even though the JS ecosystem comes with its own set of problems, a lot of the programming problems have been already solved. Which means I can move fast.
So here's my stack:
Lots of items in that image. Let me quickly introduce each of them.
Hosting
Netcup
Netcup is a hosting provider. I rent multiple VPSs from them to host my apps, services, and other self-hosted utilities that I use on a regular bases.
Cloudflare
Cloudflare is an excellent service for a lot of things. Here are two of them:
- Buying and managing domains (they sell domains at-cost)
- Adding a layer of protection between your servers/apps and the bad guys on the internet
Oh, they also have a great object storage service, R2. Free egress, which is reasonable, unlike AWS S3.
Coolify
Coolify is probably the best discovery of 2024 for me personally. It makes managing docker containers in your VPS stupid simple. Hosting apps, services and literally anything using docker becomes a breeze. Plus built-in CI/CD for your hosted apps via Github.
Vercel
The triangle company makes hosting apps even more simple than Coolify. Catch is they are expensive. But their servers are blazing fast™ because of edge compute.
Tools and Services
Groundhogg
Groundhogg is a fantastic open-source plugin that adds powerful email automation (and CRM) capabilities to your Wordpress. I don't use Wordpress for my websites, but I do have a couple of Wordpress instances for email automation for Conncord and SnitchFeed.
Directus
A great CMS for hosting content to be consumed by apps. I host Conncord, SnitchFeed and this blog articles on there. It also holds images and videos used by these apps. It connects to Cloudflare R2 for fast, reliable storage of assets.
Redis
In memory cache. Magical piece of tech. I use it for queues (with BullMQ) and caching frequently needed data in node apps.
PostgreSQL
The king of databases, honestly. Pair this up with Drizzle, and it's a match made in heaven. *chef's kiss*
Apps Tooling
TurboRepo
Honestly, I wish I had discovered and invested this earlier. It makes setting up and working with monorepos incredibly easy. Also has shared build cache for faster development and CI/CD.
Typescript
If you don't like Typescript and prefer Javascript, I have nothing to say to you. We cannot be friends.
NodeJs
Runtime for building apps in JS. Incredible piece of technology, I don't understand how it works, but then again I don't understand how most things work.
Hono
Web framework for JS ecosystem. I use it for building APIs mostly.
NextJS
The standard choice since 2024. Really fast to get up and running with building frontend (and sometimes also backend) MVP. Though, sometimes I do wonder how life would have been different if I had chosen Vite instead. Not that I don't absolutely love it.
BullMQ
The latest addition to my tech knowledge base. It makes creating and managing job queues super frigging easy. Recently moved a bunch of core functionality of SnitchFeed to queues using BullMQ.
Drizzle
Last, but absolutely fucking not the least—my favorite ORM ever. It's a joy to work with, honestly. Highly, highly recommend.
There's a bunch of stuff I'm forgetting to add here...
And that's alright with me. To be honest, with NextJS in the mix, pnpm
installs over 1700 packages in the SnitchFeed monorepo alone... I am bound to have missed something.
In any case, I hope this was a somewhat interesting read for you. If I'm being honest, stuff I post here is mostly for me to read and look back on, hence the kind of rambling tone you see in some of the posts. Oh well, I enjoyed writing this. Can't wait to discover this post a couple years from now :)