Ghostfolio is an open source wealth management platform designed for individuals who want to track their investments in stocks, ETFs, and cryptocurrencies without relying on proprietary services or spreadsheets. Built with Angular, NestJS, Prisma, and TypeScript, it provides a modern web interface for managing multiple accounts, analyzing portfolio performance, and maintaining full data ownership. The application is ideal for DIY investors who value privacy, transparency, and control over their financial data—especially those using multiple trading platforms or pursuing long-term buy-and-hold strategies. Ghostfolio offers both a hosted Premium service and full self-hosting options via Docker, making it accessible to users with varying technical expertise.
What You Get
- Multi-account portfolio tracking - Manage investments across multiple platforms and accounts with unified views of holdings, transactions, and performance metrics.
- Portfolio performance analytics - Calculate Return on Average Investment (ROAI) for Today, WTD, MTD, YTD, 1Y, 5Y, and Max timeframes to evaluate long-term growth.
- Import/export transactions - Bulk import transaction data via CSV or export your portfolio for backup and analysis outside the app.
- Dark Mode & Zen Mode - Reduce visual clutter with a dark theme and minimalist Zen Mode for focused portfolio review.
- Progressive Web App (PWA) - Install Ghostfolio as a native-like app on mobile and desktop with offline capabilities and home screen access.
- Static risk analysis - Identify potential portfolio imbalances or over-concentration risks through automated data-driven insights.
- Self-hosting with Docker - Deploy Ghostfolio on your own infrastructure using official container images for amd64, arm/v7, and arm64 architectures.
- OpenID Connect (OIDC) authentication - Securely integrate with existing identity providers like Keycloak or Auth0 using experimental OIDC support.
Common Use Cases
- Building a personal investment dashboard - A retail investor tracking holdings across Robinhood, Coinbase, and Schwab uses Ghostfolio to consolidate transactions, visualize performance trends, and avoid spreadsheet errors.
- Privacy-focused financial tracking - A user concerned about cloud-based services harvesting their investment data runs Ghostfolio on a home server to retain full control of sensitive financial records.
- Problem → Solution flow: Manual spreadsheets → Automated insights - Users tired of manually updating Excel sheets for ETF allocations and dividend income automate data entry via CSV import and gain real-time ROAI metrics.
- DevOps teams managing personal finance tools - Technical users deploy Ghostfolio via Docker Compose on a Raspberry Pi or VPS, integrating it with their existing infrastructure and custom monitoring stacks.
Under The Hood
Ghostfolio is an open-source wealth management platform designed to provide comprehensive portfolio tracking, financial insights, and data integration capabilities. It combines a modern monolithic architecture with modular design principles to support extensibility and ease of use for developers and investors alike.
Architecture
Ghostfolio adopts a monolithic structure with clear module boundaries, enabling maintainable and scalable development. The application leverages NestJS as its core backend framework to enforce service-oriented architecture and dependency injection.
- Modular organization with distinct functional modules promoting separation of concerns
- Service-oriented design that encapsulates business logic and enhances testability
- Strong use of dependency injection for improved flexibility and decoupling
Tech Stack
Built with TypeScript, Ghostfolio utilizes modern web and backend technologies to deliver a robust and extensible platform.
- TypeScript as the primary language with NestJS for backend API and Angular for frontend
- Extensive use of Prisma, RxJS, and utility libraries like lodash and date-fns
- Nx for monorepo management, Docker for containerization, and webpack for bundling
- Jest-based testing suite configured for both API and client-side components
Code Quality
Ghostfolio demonstrates a mature approach to code quality with strong testing practices and consistent error handling.
- Comprehensive test coverage with extensive mocking and scenario-based test suites
- Structured exception handling and widespread use of try/catch blocks for resilience
- Consistent naming conventions and architectural patterns across the codebase
- Moderate technical debt evident in service initialization and heavy mocking practices
What Makes It Unique
Ghostfolio distinguishes itself through its modular design and built-in AI capabilities, offering a unique blend of portfolio tracking and financial intelligence.
- Modular architecture allows seamless integration of third-party data providers and AI features
- Native support for diverse asset types and market data sources enables unified portfolio views
- Built-in AI-driven financial analysis provides value-added insights beyond standard tracking tools
- Emphasis on open standards and extensibility positions it as a flexible foundation for custom financial applications