For the past year and a half, the YNAB team, every last one of us, was focused on one thing: making the best budgeting mobile app possible. (In case you missed it, you really need to check it out!) We’re still bowled over by all of the rave reviews and, more importantly, the fact that now it’s possible to manage your entire budget from your phone!
Now that so many of you are using the new app, I thought it’d be fun to pull back the curtain and talk to some of the masterminds behind the scenes.
Without Further Ado…
Meet Sebastian Hubrich, mobile lead, and Graham Borland, Android lead—who, incidentally, are both long-time YNABers (with great stories of their own!).
It’s not every day that the cook lets you tour the kitchen, but Sebastian and Graham were kind enough to give us a glimpse.
Putting The “Remote” Into Remote Work
Sebastian lives in an old farmhouse in Switzerland with his partner Tina, two dogs, and eight cats. They love living in the countryside, where Sebastian continues to convince himself that handyman skills can be learned.
Graham is a huge rock music fan and aviation geek. He lives in Scotland with his wife and two kids, whose arrival caused him to trade flying lessons for guitar lessons because one can only stomach so many wild rides simultaneously.
Fans First, Employees Next
Graham requested to be quoted verbatim here, so who am I to deny the world his truth? He said, “I discovered YNAB after trying just about every other personal finance package out there, and realizing they were all crap. YNAB actually made sense: categories and months!”
When Sebastian found YNAB in 2009, it immediately clicked, because for the first time he felt like he was in control of his money. There was just one problem: he’d just bought an iPhone and YNAB was still only a Windows application. His response?
Now, Sebastian didn’t specify that I quote him verbatim, but this is too good to leave out: “I thought I’d whip up a quick prototype to see if I could figure it out. I sent Jesse and Taylor some screenshots of an early prototype, and I guess the rest is history.”
You read that right—he just “whipped it up” (that “cooks in the kitchen” analogy is really paying off. Thanks, Sebastian).
The Lure of Tech
It wasn’t until this interview that we realized a shared appetite for power drew them both to programming at an early age.
Graham: “On a childhood family vacation, somewhere in the north of England, in a farmhouse in the middle of nowhere, we kids were bored out of our minds. Feeling sorry for us, I guess, Mum and Dad popped into the nearest town and bought us an Acorn Electron computer. However, they didn’t buy any games to go with it, so all we could do was type instructions into it and see what happened. The first thing I typed was, “Graham is Superman,” and it replied, “Mistake.” From then on I was determined to show the computer who was boss.”
Sebastian: “One day my dad brought home an old terminal from the factory where he worked, and I was instantly hooked. It glowed green and you could type on it but, other than that, it was pretty useless without a mainframe to talk to. As I got older, I became more and more fascinated with the ability to make that thing do what I wanted it to do.”
The Nitty, Gritty Tech Behind The Tech
The mobile app’s tech stack is a cross-platform, shared library written in Typescript (and compiled into Javascript).
Graham takes the lead on Android: “For Android, we’ve gone all-in with Kotlin and RxJava. We were early adopters of Kotlin, before it became an officially supported language. And RxJava completely transformed everything. It allows us to weave complex chains of asynchronous events, jumping between languages (Javascript and native Java/Kotlin) effortlessly.
For interaction with our Javascript shared library, we use J2V8, which is a Java wrapper around Google’s V8 Javascript engine.”
Sebastian leads development for iOS: “At first, I was skeptical about the shared library, mostly due to concerns around performance and maintainability, but JavaScriptCore on the iPhone is fantastic, and using TypeScript took care of any maintenance concerns. We still use mostly Objective-C although we’re slowly including some Swift in low-risk areas of the code. For the UI, we do almost everything with AutoLayout in code—albeit with our own helper classes to make it more readable to us.”
There’s No “I” In Team
When we asked what—out of all the work they’ve done in the last year and a half—they’re most proud of, Sebastian and Graham (once, again) had very similar answers:
Graham: “The team.” (Awwww!) “I’m blown away by the passion, talent, and commitment of everyone on the YNAB team. It makes me far more proud than any technical achievement,” Graham says.
Sebastian: “Definitely. It wasn’t always easy, and we changed our minds a few times, which caused some delays, but everyone really poured in all their passion for YNAB … and the app is better for all of it.”
Favorite Aspect of the App?
And, speaking of technical achievements, there were quite a few that shouldn’t be overlooked:
Graham: “Very few mobile apps have such complex UI. On Android, there are no established patterns for how to manage such complexity and very little guidance from Google so, at times, it felt like we were fighting against the platform in trying to achieve the behavior we needed. Of course, now we’re starting to see some interesting things happen with various MVI frameworks and React Native. Google recently announced the Android Architecture Components, but they may be too little, too late.”
Sebastian: “The biggest challenge was really just the UX—compressing so much information and interaction into a tiny screen. It simply wouldn’t have been possible without such a talented design team. Beyond that, we did run into some performance issues around complex database queries that ran fine on the server, but sometimes struggled with bigger budgets, and we had to adapt a fair amount of database queries for mobile. There are still some areas that run a little slower and, once we catch our breath, that’s an area I look forward to making more improvements.”
Unexpected Wins
Of course, the new app was a big professional accomplishment, but it turned out to be a personal win as well.
“My wife, who never uses the web app, is now able to categorize and approve her spending before I even notice the money is gone. I’m simply delighted,” deadpans Graham, like only he can.
Even Sebastian, the father of mobile at YNAB, was surprised at the effects of the app on his personal budgeting: “I am still doing my big monthly budgeting session on the web, but everything else in between, I’m doing on mobile, which has been surprisingly powerful. I find that I feel much more connected with my goals.”
What’s Next on the Menu?
When we asked what was next for mobile, Graham and Sebastian were equally coy.
Graham offered, “There’s more coming, that’s for sure! We are still prioritizing and measuring customer feedback—we probably won’t tell you exactly what or when, but there’s much more to come.”