Projects /

YNAB Tracking Accounts

Simple Rust application that used the YNAB API to update tracking accounts every month with new balance

Date
Jun 2021
Role
Solo project
Stack
Rust / YNAB
Contents
  1. Problem
  2. Constraints
  3. Approach
  4. Outcome
  5. What I’d do differently

Problem

This was an old project that I used to try and learn Rust. I was curious about all I’d heard about how much it’s conventions improved upon C++ and made it easier to debug and safer. The problem set was simple - I wanted to automate some math I was doing on a monthly basis to update the value of investment accounts within my budgeting app, with the potential in the future to scrape the data automatically from the financial websites themselves.

Constraints

  • Use Rust to learn Rust
  • Pre AI coding assistants
  • Leverage the newly released YNAB API

Approach

My first implementation was a complete wreck. I had bad, spaghetti code that wasn’t quite working the way I expected and hadn’t actually taught me Rust. I basically scrapped that attempt and started by watching some excellent lecture style YouTube videos by Jon Gs. That got me unblocked and I built a functional CLI that delivered on the MVP I wanted.

Now I wonder how I would build this app today. AI means I probably could one shot the functionality in this app in basically any language. But if I wanted to learn a language itself, how would I go about approaching that? Would I hand-write code and use AI to help me when I get stuck? Intuitively it feels useful to have a depth of knowledge of programming languages to enhance debugging and potentially even system design, but I’m not sure. Maybe simply using AI to guide the delivery of enough projects and asking agents to explain sections of code is good enough?

Outcome

  • Use the CLI every month still!

What I’d do differently

Add async account updates. Build a TUI so that the update experience feels beautiful. Scrape the data from a screenshot (since scraping financial institutions directly is a nightmare)