What is a
tech stack you ask? Good question - but if you clicked this article you probably already know the answer.
By the way, don't you get annoyed by articles that tell you stuff you already know or didn't ask for!?
Like I might search "How to cook fish on a bbq" and click on the top result to find...
Before we get to the cooking bit (which is the only reason you are here), allow me write several boring paragraphs about origins of the word fish.
Etymologically the word fish originates from fishus-swimus-waterus which dates back to the Greeks usage of... bla bla bla!
I know what a fish is 🙄 Get to the point mate! 😾
Here's some high level details of our tech stack.
We heavily rely on open source react native packages, and a few paid ones too.
I'm thankful for React Native and the generous open source community. I've specialised my career in JS so if it wasn't for RN I would be TS (and that one's up to you!).
We run a Node.js web service to handle API calls from the App and Website for things like:
Logging playback statistics
Signing up to our email newsletter
Logging in to Evergrace accounts
The API is hosted on an Ubuntu instance in New York with my favourite cloud service provider Digital Ocean.
It's all fairly primitive at the moment. We don't have a load balancer or any fancy security in place. We can't scale quickly (nor do we need or want to right now), and we aren't using serverless (yet). It's all a work in progress, the TODO list is massive, but we are chipping away at it. Laying robust technological foundations takes time.
Our current needs are simple. I deploy everything from my MacBook Pro using the command line and some bash utils I've written. It get's the job done at speed that is proficient for me.
Our website is built in the epic CMS framework called Statamic. Seriously, this is the best CMS.
We use the privacy focused Fathom analytics for simple web stats.
For styling, Tailwind CSS, which makes building UI components so quick, easy and consistent.
The whole site is compiled to static html/css/js files using SSG and deployed to our CDN provider.
All our assets, for both the website and app, are hosted with Google's Firebase Hosting service. Everything from story MP3 files, JSON configurations, artwork and imagery, and of course the website files goes up here.
The Firebase CDN is the best and easiest way I've found to deploy static content. It's than Netlify because the Google CDN that Firebase uses is by far the fastest, with more regions and lower latency around the globe than anything else I've compared. I'm not usually keen on supporting the big ad-tech companies but test it for yourself and you'll see it perform.
The stack I've chosen for Evergrace is all the technologies I love and believe are best in class. I'm grateful for the opportunity to be doing it my way - no legacy code or tech debt from "the last guy" - just pure awesome code. Praise God!