The Pointz Tech Stack

I often get asked by other developers what kind of stack we used to build Pointz (if you don’t know what I mean by “tech stack,” it’s just a term software developers use to refer to what technologies were used when building your app, website, etc.) and since I love talking about nerd stuff I figured I’d go ahead and write a blog on it.

Here’s exactly what we used to build Pointz (spoiler alert, it’s pretty Google-dependent).

birmingham pointz small business

Frontend - Flutter

If you haven’t used Flutter, consider this a personal ringing endorsement. Before Flutter, React Native was the go-to for writing mobile apps that needed native-like performance, without having to go full native and manage two separate apps.

 
flutter.png

Now, Google has come out with a new framework called Flutter that in my opinion, is superior to React Native. Why do I like Flutter so much more than React Native? There are many reasons but I’ll just go into a few.

First, there’s no Javascript bridge. This in and of itself is enough reason to at least try Flutter.

 

Second, you develop in Dart, not Javascript. As a backend developer by trade, I abhor Javascript. I have a solid preference for strongly typed languages that are compiled first. It is not only safer and results in much more structured code, but it’s also faster to develop because errors are shown immediately before you test it. If you’re new to Dart- don’t worry; I was too but like every other Flutter convert says, it’s very easy to learn.

Third, Flutter comes with amazing styled components out of the box. This is huge for me because I do not have a designer yet, nor am I very design-conscious. I end up spending more than half my time trying to make an app look good. With Flutter, I don’t need a designer. Everything comes out looking great.

There are many more reasons why I really like Flutter, but I’ll end it there for brevity sake.

Database - Firestore

A lot of people have heard of Firebase, but not so many about Firestore. Firestore is just like Firebase except it’s… wait for it… scalable!! It’s still a (very) realtime database, but unlike Firebase, you don’t have to worry about all the necessary data redundancy in order to get adequate perform and Firestore is much more queryable.

Coming from a SQL based background, Firestore is pretty much a cross between a SQL database and Firebase from my viewpoint. I can’t tell you how excited I was to run a query and have it spit out in the console, “Hey, you need to create an index for the query. Click here to do so.” This was music to my ears. I am more accustomed to being forced to call a DBA to create some index that won’t be created until weeks later (sidenote: I worked at a bank previously).

Backend - Firebase Functions

Firebase Functions gets another endorsement from me. Realtime database triggers with server-less functions, and no need to write a custom API make me a huge fan of Firebase functions. My only criticism is that I wish I could write the functions in Dart instead of javascript, and sometimes my functions get called too many times. Other than that, IT IS AWESOME.

Analytics - Mixpanel

After trying so hard (and I mean really really hard), I simply cannot convert to Firebase Analytics. It’s watered down, has bad reports, and is unnecessarily difficult. I feel like I may be alone on this one, because everyone else seems to love Firebase Analytics (and I really wanted to as well). Mixpanel is just a stronger analytics program and easier to use in so many ways.

Hardware - Beacons

This is kind of obvious, but thought I would include it for the sake of having a complete overview. Right now we haven’t committed to any particular beacon manufacturer, despite trying multiple. All of them lack one thing or another, so we’re hoping our ideal version will come out in the future. If not, we’ll just end up building our own.

Conclusion

Any-who, that is our tech stack. Thanks for me letting me nerd out for a little bit.