A minimal personal finance backend focused on balance tracking, financial projections, and learning backend engineering through building real systems.
Built with Go and PostgreSQL.
This is the backend for the UnBrokie app and this is the UnBrokie app repository UnBrokie
I originally built this project to fix my own terrible money management habits while learning backend engineering properly.
Instead of using a generic finance app, I wanted something:
- personalized
- minimal
- simulation-focused
- and architected in a way that teaches me real backend concepts
This project became a playground for learning:
- Go (Golang)
- Backend architecture
- PostgreSQL
- Authentication systems
- Financial data consistency
- Transaction-safe operations
- User registration & login
- JWT-based authentication
- Password hashing with bcrypt
- Protected API routes
- Account balance tracking
- Transaction management
- Skip/restore transactions
- Override transaction system
- Big buy tracking
- Category-based expenses
- Event logging
- Clean layered design
- Repository + service pattern
- PostgreSQL with migrations
- Transaction-safe database operations
- Atomic balance updates
- Dockerized development setup
- Go (Golang)
- PostgreSQL
- Gin
- JWT
- Docker
- pgx
- Core backend architecture mostly complete
- Authentication system implemented
- Financial transaction system implemented
- Big buy system implemented
- API handlers/routes for MVP is done
- Flutter frontend for version 1.0.0 MVP is done
Build a personalized finance system that helps me:
- understand spending habits
- simulate financial decisions
- track money properly
- and grow into a better backend engineer while building real software
This is currently an MVP and learning-focused project.
The system is intentionally designed to evolve over time as I improve the architecture, add features, and scale the project beyond personal use.