Skip to content

mdstaff/ashfolio

Repository files navigation

Ashfolio

Personal financial management application for investment and cash account tracking.

Ashfolio manages financial data locally on your computer. Track investments, cash accounts, and net worth without cloud dependencies or data sharing.

License

Why Ashfolio?

Privacy-First Financial Management with professional-grade analytics and AI enhancements:

  • 100% Local Data: Your financial information never leaves your computer
  • AI-Enhanced Entry: Parse transactions naturally while maintaining privacy
  • Professional Analytics: Markowitz optimization, tax planning, risk metrics
  • Production Ready: 2,200+ tests ensuring financial accuracy
  • Open Source: Transparent calculations you can verify and customize

Built with Elixir/Phoenix for reliability and performance.


Quick Start

Prerequisites

  • Elixir 1.14+ and Erlang/OTP 25+
  • macOS (optimized for Apple Silicon)
  • just command runner (brew install just)

Installation & Run

  1. Clone the repository:
    git clone https://github.com/mdstaff/ashfolio.git
    cd ashfolio
  2. Setup and start the project:
    just dev
  3. Access the application:

Features

Privacy

  • Local-only data: Financial information stays on your computer
  • No cloud dependencies: Works offline except for price updates
  • Open source: Transparent data handling

Financial Management

  • Investment Portfolios: Stock, ETF, bond, and crypto position management with FIFO cost basis
  • Cash Management: Checking, savings, money market, and CD account tracking
  • Net Worth Analytics: Cross-account financial position analysis with trending
  • Expense Tracking: Monthly spending analysis with interactive charts and advanced filtering
  • Retirement Planning: 401k, IRA projections with industry-standard calculations
  • Goal Tracking: Progress monitoring for emergency funds and financial independence
  • Performance Analytics: Time-weighted returns, rolling performance, and benchmarking
  • Real-time Pricing: Automatic price updates from Yahoo Finance
  • Interactive Visualizations: Professional SVG charts with responsive design
  • AI-Powered Entry: Natural language transaction parsing with privacy-first local AI
  • MCP Integration: AI assistant portfolio access with granular consent controls
  • Privacy Management: Four privacy modes with GDPR-compliant consent infrastructure

Setup

  • Single command setup: just dev
  • Local database with sample data
  • No external dependencies or signups required

Project Status

Current Version: v0.10.0 (Released November 30, 2025)

Latest Features

v0.10.0 - MCP Phase 2 (November 2025)

  • AI Settings page with privacy controls and consent management
  • GDPR-compliant consent infrastructure with audit trails
  • Natural language parsing for amounts and dates
  • Tool discovery optimization (~85% token reduction)

v0.9.0 - MCP Integration (November 2025)

  • Model Context Protocol server for AI assistants
  • Privacy filtering system with four modes (strict/anonymized/standard/full)
  • Secure portfolio data access for AI tools

v0.8.0 - AI Natural Language Entry (November 2025)

  • Parse conversational transactions: "Bought 10 AAPL at $150 yesterday"
  • Local AI with Ollama or cloud with OpenAI
  • Human-in-the-loop validation before saving

Currently Available

Core Financial Management

  • Investment Portfolio Tracking with FIFO cost basis calculations
  • Net Worth Calculation with cross-account analysis and manual snapshots
  • Cash Account Management for checking, savings, money market, and CD accounts
  • Comprehensive Expense Tracking with interactive dashboard widgets
  • Transaction Categories and organization
  • Real-time Portfolio Calculations and performance analytics

Financial Planning

  • Financial Goals with emergency fund calculator
  • Retirement Planning using industry-standard 25x rule and 4% safe withdrawal rates
  • Portfolio Forecasting with scenario planning (pessimistic/realistic/optimistic)
  • Financial Independence timeline calculations
  • Contribution Analysis and impact modeling

Advanced Analytics

  • Time-Weighted Return (TWR) and Money-Weighted Return (MWR) calculations
  • Rolling Returns and performance pattern analysis
  • Interactive Visualizations powered by Contex SVG charts
  • Enhanced Analytics Dashboard with year-over-year comparisons
  • Professional financial notation and formatting
  • Performance caching for complex calculations

Development Roadmap

  • ✅ v0.1.0 - v0.10.0: Complete (AI integration, MCP, consent management)
  • 🚧 v0.11.0: Additional AI enhancements and analytics
  • 📋 v1.0.0: Production hardening and performance optimization

See ROADMAP.md and CHANGELOG.md for complete version history.


Architecture

Phoenix LiveView application with Ash Framework for business logic and SQLite for local data storage.

See Architecture Overview for detailed information.


Development

Tech Stack

  • Backend: Elixir, Phoenix 1.7+, Ash Framework 3.0+
  • Database: SQLite with ecto_sqlite3 and ash_sqlite
  • Frontend: Phoenix LiveView
  • Caching: In-memory caching with ETS
  • HTTP Client: HTTPoison for external API communication
  • AI Integration: Multi-provider support (Ollama for local, OpenAI for cloud)
  • MCP Server: Model Context Protocol for AI assistant integration
  • Privacy & Consent: GDPR-compliant consent management infrastructure
  • Testing: ExUnit, Mox, and Meck
  • Code Quality: Credo for static analysis
  • Task Runner: just command runner

Development Workflow

Ashfolio uses the just command runner for development tasks.

Essential Development Commands

  • just dev: Sets up environment and starts the server
  • just test: Runs the test suite (2,200+ tests, 95%+ financial calculation coverage)
  • just test <path>: Runs tests for a specific file
  • just db reset: Resets the database with sample data
  • just: Lists all available commands

For complete development setup and testing details, see Getting Started Guide and Testing Documentation.

Contributing

See Contributing Guide and First Contribution Guide.


Documentation

Getting Started

Development

AI Features

Testing

API Reference


Support

Contributing

  • Star this repository
  • Report issues
  • Suggest features
  • Contribute code

License: MIT Privacy: Financial data stays on your computer.

About

A local financial portfolio project loosely inspired by ghostfolio built with Elixir, Phoenix and Ash. Not affiliated with "ashfolio dot app"

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages