Dev Log: October 2018

I haven’t been posting on this blog for a while, but I have been doing things. I’m going to aim to do one of these dev logs every month or so. The idea is that I’ll be more accountable and maybe even release something.

Anyway, here’s what I’ve been doing over the last little bit.


We ended up running out of Azure Credits, and decided to move Waka to AWS. It’s generally a lot cheaper, and as I use AWS at Xero, I’m pretty familiar with how to Terraform the bits and pieces together. We had to switch from Azure Blob Storage to S3, and move from a maps server to static map tiles in a S3 Bucket. Other than that, it went fine.

Matt is supposed to be working on waka-importer. The idea is that you input a GTFS file, and it’ll dump everything to a SQL Database Dump & Upload Shapes to S3. Hopefully, this should make Waka a bit more modular. It’s mostly just extracting the existing functionality into a standalone app, so it should be done pretty soon.

Waka Status Page

Waka now has a status page. It’s pretty rough right now, but it’ll be integrated into service alerts when we add them in. This will probably happen pretty soon because I now live in Wellington, and it seems that every time I go try and catch a train, it’s been replaced by a bus.

In terms of a roadmap, the next things coming will be a new unified lines view, service alerts, and hopefully a switch to Docker containers.

Nitro 3

I’m still working on Nitro! I get a lot of emails asking when Nitro 3 is coming, and the only thing I can say is “soon”.

Nitro has taken a long time to build for a number of reasons. Firstly, it’s trying to ship an interface that feels native on both mobile & desktop. The end result is great - a single screen, like most native apps. However, it’s much more difficult than building something in Bootstrap, with no animations, and calling it a day.

The second reason for the slow development is the syncing. Nitro works perfectly offline, and it will merge changes when you go back online. I decided to write my own sync code with a standard postgres database, but definitely ran into more issues than I had envisioned.

Lastly, I don’t have enough time. I’m not a uni student anymore, and have less time to work on things. This will hopefully change when Nitro is released and is earning a little bit of money, but for now, I have to balance it around other things.

Anyway, here’s what Nitro looks like right now:

Nitro Mobile

And here it is on the desktop:

Nitro Desktop

As you can see, it’s taken a little bit of inspiration from Waka - that user interface works really well on mobile. It’s also very easy to adapt it to the desktop.

At the moment, I’m working on the expanded task. While the inside is done, there’s quite a few weird bugs when you try open a task from a fresh reload, search, or click too fast. For performance reasons, it’s rendered as an overlay, rather than inline with an expanding height, but it does make things a bit weird.

Other than that, the next task is to finish off sync (add an indicator + fix edge cases), and add a little more polish (papercuts + settings + sign up). I haven’t been adding features for some time now because I want to get a release out the door. If you haven’t already, you can sign up for the beta at

That’s it for this month! If you have any questions, flick them through to me on Twitter, and I’ll try answer them in the next post.