Budget Warden

A native budgeting app built around a shared Rust core.

Rust
FFI
CRDT
Native
Swift
SwiftUI
C#
WinUI
Kotlin
Jetpack Compose
Budget Warden on iOS and macOS
Budget Warden on Windows
Budget Warden on Android

Overview

Budget Warden is not just a budgeting app. I spend an absurd amount of time on building it AND studying personal finance - the subject is a passion of mine and I wanted to build the best budgeting app I could. I initially wrote a cloud-based web & react native application. Then I completely pivoted it to a native local-first app with native UI on Mac, Windows, iOS and Android with a shared Rust core. The application is local-first but supports atomic write & merges with a CRDT data structure. This means you can share a budget warden file on a cloud drive and work simoultaniously on the file on multiple devices without a cloud service running.

It's a technical excellence project with which I tried to build a no-compromises desktop app and it might sound absurd spending so much time on a simple app the people would say they can "vibe code" in an hour, but I enjoyed building it and learned a ton. I still maintain it, work on it and use it every day.

Related Articles & Videos

Distributed Systems
How I Made a Local App Support Concurrent File Editing with CRDTs

This article walks through the problem of concurrent file editing in a local, single-instance desktop application and explains how the author solved it with Conflict-free Replicated Data Types (CRDTs), using a Hybrid Logical Clock with a device id as a tie-breaker to guarantee deterministic convergence.