We're Tender - an inbox for your personal finances.  We connect with your bank accounts and help you get to inbox-zero and stay on top of your sp

How and why we built our expense tracker with CRDTs

submited by
Style Pass
2024-04-03 16:30:12

We're Tender - an inbox for your personal finances. We connect with your bank accounts and help you get to inbox-zero and stay on top of your spending. Check out the demo to learn more!

I started building Tender a year ago to explore an alternative path for building a personal finance app - one that prioritizes privacy and runs locally on the user's device. There are countless personal finance tools out there, but by-and-large they operate in the cloud, exposing user data to a broader surface to secure. I believe that a local-first app not only strengthens our privacy posture, but also makes for a better user experience.

Tender uses the Automerge CRDT to store user data - a (conflict-free, replicated) data-type that supports making edits across multiple devices in a way that can be merged. CRDTs are common in collaborative apps like Figma or Apple Notes, where you might have several users working on the same document, making edits that need to be combined.

Although Tender doesn't (yet!) utilize the multiplayer capabilities that CRDTs provide, Automerge gives us the foundations to build a secure, local-first app. I wanted to share some of the reasoning behind Tender's CRDT-based architecture, as well as some lessons learned around building local-first.

Leave a Comment