Dev Log: April - July 2019

Yikes. Haven’t done one of these in a while. It’s mostly because I’m really busy at work - turns out, everyone wants to use Kubernetes. I also bought a house, which turns out to be quite a stressful process.

Waka

We’ve been reducing technical debt in Waka. The server has been entirely rewritten in TypeScript, we’re adding tests, and making it really easy to add more cities. The app itself is also getting a little bit of love, and we’re looking at improving the route page and adding service alerts in the near future. Just for fun, we also rewrote waka-proxy in golang.

The architecture itself hasn’t changed a lot since the last post, but we have added a new component. It’s called waka-realtime, and it’s responsible for pulling realtime information from agencies and putting them in a Redis cache. waka-worker now pulls from the Redis cache, as opposed to doing the pulls itself, and storing it in RAM.

This new component allows us to make more of Waka “serverless”, and run on AWS Lambda. Even though we run our ECS cluster on spot instances, it’s still expensive to maintain a seperate test environment.

There’s a lot more coming to Waka really soon, we’re looking forward to announcing the availbility of our next two cities - Sydney & Christchurch.

Nitro

Unfortunately, Nitro hasn’t seen a lot of work on the last couple of months. I’ve mainly been fixing up UI bugs - the server is rock solid. Upon reflection, building a really fancy user interface isn’t a good way to get a product out quickly. While it’s a clean, simple experience, the animations and transitions have proved to be difficult to stabilize. I don’t want to abandon things, and will look to getting a public beta out soon.

In terms of infrastructure changes, I’ve moved the account manager (activates accounts and invitations) from ECS to Lambda.


That’s really it for the last couple of months. Fingers crossed that I’ll have more to post about soon!