Financial Freedom
Own your financial data with a self-hosted, privacy-first budgeting app that replaces Mint and YNAB.
Financial Freedom is an open source personal finance manager built for people who refuse to hand their most sensitive data to commercial platforms. Where services like Mint and YNAB monetize your spending patterns, Financial Freedom stores everything on infrastructure you control — a cloud VPS, a home NAS, or even a Raspberry Pi running Docker.
The application is under active development by the two-person bootstrapped team at Server Side Up, who are self-funding the project to avoid the VC-driven compromises that plague many fintech alternatives. The stack pairs a Laravel 10 backend with a Vue 3 frontend connected via Inertia.js, giving users a seamless single-page experience without a separate API contract. CSV import from any bank, multi-currency support, transaction tagging and splitting, and cash flow visualizations form the current feature set.
Because it runs entirely inside Docker, deployment is consistent across environments — from local development to a hardened production cluster with Traefik handling TLS termination. The project is explicitly in a major refactor phase as the team works toward a stable release, but the codebase is fully reviewable and forkable for those who want to build on it today.
Financial Freedom is licensed under GPL-3.0, meaning any modifications you distribute must also be open source, which reinforces the project’s commitment to keeping financial software transparent and community-auditable.
What You Get
- CSV Bank Import with Client-Side Parsing - Upload bank export files and have PapaParse process them in the browser before submission, allowing preview and validation of transactions before they hit your database.
- Multi-Account Type Tracking - Manage cash accounts, credit cards, and loans in a single interface, with transactions linked to the correct account type via a polymorphic database relationship.
- Transaction Tagging and Splitting - Attach tags to transactions and split a single charge across multiple budget categories, enabling granular expense tracking beyond simple one-to-one categorization.
- Cash Flow and Budget Visualization - View income versus expense trends over time through Chart.js-powered dashboards that make spending patterns immediately visible.
- Global Multi-Currency Support - Track finances in multiple currencies simultaneously, making the app usable for international users or anyone with foreign-denominated accounts.
- Demo Account Seeding on Registration - New users immediately see populated accounts, institutions, and realistic transactions on first login, eliminating the empty-state problem and accelerating time to understanding.
- Docker-First Deployment - Separate Docker Compose files for development, CI, GitPod, and production mean the same application runs identically in every environment, with Traefik providing automatic TLS in production.
Common Use Cases
- Privacy-first household budgeting - A family replaces their Mint subscription with a Financial Freedom instance on their home NAS, keeping all bank imports and spending history on local storage with no third-party data access.
- Freelancer expense tracking for tax season - A self-employed developer imports quarterly bank CSV exports, tags transactions by client or project category, and generates a clean spending record without sharing income data with a SaaS provider.
- Multi-currency expatriate finance management - An expat with accounts in two countries tracks both in Financial Freedom, reconciling foreign-currency transactions against a home-currency budget without currency-conversion leakage to a cloud service.
- Developer-run personal finance lab - A developer forks Financial Freedom to add a custom Plaid integration or extend the category model, using the GPL-licensed codebase as a starting point for a more personalized finance tool.
- Low-cost self-hosted alternative on a Raspberry Pi - A budget-conscious user runs Financial Freedom on a Raspberry Pi 4 with Docker, avoiding recurring SaaS subscription fees while retaining full budget tracking capability.
Under The Hood
Architecture
Financial Freedom uses a domain-driven modular structure via nwidart/laravel-modules, which isolates distinct concerns — transactions, account initialization, demo seeding — into self-contained modules with their own models, services, controllers, and test suites. Controllers are deliberately thin, delegating all business logic to single-responsibility service classes. A polymorphic accountable relationship on the Transaction model cleanly handles cash accounts, credit cards, and loans without duplicating schema. Inertia.js eliminates the REST API layer by sharing Laravel’s server-side routing with Vue 3 rendering, keeping request/response cycles simple. The architecture is solid and maintainable, though the Dashboard page remains a placeholder, reflecting the project’s active development state.
Tech Stack The backend runs PHP 8.1+ on Laravel 10 with the Composer merge-plugin unifying dependencies across domain modules. Inertia.js connects PHP controllers directly to Vue 3 components using the Composition API, while VueUse supplies utility composables and HeadlessUI provides accessible UI primitives. Financial charts are rendered with Chart.js via vue-chartjs. CSV bank imports use PapaParse for in-browser parsing before data reaches the server. Tailwind CSS 3 handles styling with a custom dark-theme palette. Vite 5 with the Laravel Vite plugin drives the build pipeline with HMR support. Docker Compose provides separate environment configurations, with Traefik managing TLS and routing in production.
Code Quality Authentication flows have thorough PHPUnit feature tests covering registration, login, email verification, password reset, and password confirmation. Service classes follow clean, readable single-responsibility patterns with conventional Laravel naming. PHP Pint is included as a dev dependency for code style enforcement. However, test coverage for the core financial modules — transactions, budgets, account management — is currently limited to an example placeholder, leaving business-critical code untested. No static analysis tooling such as PHPStan or Psalm is present, and error handling relies on Laravel’s default exception mechanisms without custom exception classes.
What Makes It Unique The use of Inertia’s modal system renders transaction detail views as overlays on the transactions index without full page navigation, a notably smooth UX pattern for financial data review. CSV files are parsed entirely in the browser via PapaParse before submission, enabling pre-import preview and reducing server-side validation overhead. The Initialize module seeds realistic demo accounts, institutions, and transactions for every new user on registration, eliminating the cold-start problem that discourages new users from exploring financial tools. Password strength is enforced using zxcvbn’s entropy-based scoring rather than arbitrary character complexity rules, giving users accurate feedback on actual password security.
Self-Hosting
Financial Freedom is licensed under the GNU General Public License v3.0, a strong copyleft license that grants anyone the freedom to use, inspect, modify, and redistribute the software. The key obligation for self-hosters is network distribution: if you modify the application and distribute it to others — including as a hosted service — you must release your modified source under the same GPL-3.0 terms. For a private self-hosted deployment used only within your household or organization, no source release is required, and you can run it without restriction or royalty.
Running Financial Freedom yourself means taking full ownership of the operational stack. The application requires Docker with Compose support, and a production deployment involves configuring Traefik for TLS termination, managing persistent volumes for the database, and handling your own backup strategy for financial records. There is no managed upgrade path — you pull new Docker images as releases appear and run database migrations manually. The team is a two-person bootstrapped operation, and the README is explicit that the project is mid-refactor and not yet stable for production use, so early adopters should expect rough edges and plan accordingly.
There is no hosted or managed version of Financial Freedom. The team at Server Side Up is building other commercial products to fund the project’s development rather than offering a paid cloud tier. This means there is no SLA, no managed backup service, no enterprise support contract, and no high-availability configuration provided out of the box. Community support runs through GitHub Discussions and a Discord server. If you need guaranteed uptime, automated backups, or professional support, you will need to build those capabilities yourself or wait for the project to reach a more mature release.
Related Apps
OpenBB
Databases · Analytics · Invoicing Finance
The AI Workspace for Finance: Connect Data, Run AI Agents, Build Analytics
OpenBB
OtherMaybe
Databases · Invoicing Finance · Authentication
Self-hostable personal finance app that gives you full ownership of your financial data with a clean, minimal Rails-powered interface.
Maybe
AGPL 3.0ERPNext
ERP · Invoicing Finance
100% free, open-source ERP unifying accounting, manufacturing, inventory, CRM, HR, and POS in a single self-hostable platform.