Fish and lemon in an oven tray

The Evergrace Tech Stack

What’s a “tech stack” you ask? Good question. But I probably don’t need to tell you the answer because if you clicked this article you likely already know.

By the way, don’t you get annoyed at those articles that tell you stuff that you already know or didn’t ask for!?

Like I might search “How do I cook a fish” and click on the top result to find…

Before I tell you how to cook a fish, which is why you came here, let more let me tell you about the origins of fish. Species fishus-swimus dates back to… bla bla.

I know what a fish is! Get to the point!

The Point

I’m a JavaScript engineer by trade, and I coded pretty much everything that powers the Evergrace platform.

So if you would like to know more about than, read on.

Mobile App

The Evergrace mobile app is built in React Native which allows me to write the entire application in JavaScript and yet compile native iOS (Swift) and Android (Java) applications. Sweet!

We heavily rely on open source packages, and a few paid services too.

I love React Native and the epic open source community. I’ve specialised my career in JS so if it wasn’t for RN I would be TS (that one’s up to you!).

API Service

We run a Node.js service using Express to serve API calls from the app and website.

The mobile app uses the API to:

The API is hosted on an Ubuntu instance in New York with my favourite cloud service provider Digital Ocean.

No, we don’t have a load balancer. No we can’t scale quickly right now (nor do we need or want to). No we aren’t using Lambda, or Docker, or AWS, or Terraform (though I use these professionally in my day job).

Our needs are simple right now. And I deploy everything from my local machine (an old MacBook Pro!). #dontoverdoit

Website

Our website is built in the epic CMS framework called Statamic. Seriously, this is the best CMS.

We use the privacy focused Fathom for simple analytics.

For styling I use Tailwind CSS, which I also love.

But we don’t serve it dynamically (that is so old school! c’mon people!). It’s all compiled to static html files (using ssg) and deployed to our CDN provider.

Static Content Hosting

All assets for both our website and app (like story mp3 files and artwork), are hosted with Google’s Firebase Hosting service.

It really is the best and easiest way I’ve found to deploy static content. Sorry folks, but it’s better than Netlify - there, I said it. The Google CDN that Firebase uses is by far the fastest - with more regions and lower latency around the globe. I’m fairly anti-Google myself and generally don’t like supporting the big adtech companies, but test it for yourself and you’ll see it perform.

And how easy is this? firebase deploy… done.

Use what you love

While writing this article I realised that the stack I’ve chosen is all the technologies I love. I enjoy using them and believe they are the best in class for our use case. So I consider myself lucky to be building it all exactly how I choose to - no legacy code for me. Awesome! Thank you God.

Photo of family-beach-square.jpg

Written By

Brad Flood

More to Read