Skip to content

An open-source, AI-powered alternative to ProjectionLab for planning your long-term personal finances.

License

Notifications You must be signed in to change notification settings

schelskedevco/ignidash

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5,197 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ignidash
Ignidash

An open-source personal financial planning app with AI-powered features.
Monte Carlo simulations • Historical backtesting • US tax estimation • AI chat & insights


Ignidash Simulator Ignidash Simulator

What is Ignidash?

Ignidash is a web-based retirement planning tool. It focuses on long-term financial projections as opposed to budgeting and day-to-day expense tracking.

What it does:

  • Monte Carlo & Historical Backtesting Run hundreds of simulations to identify risks and calculate your probability of success. Test against actual historical market data to see how your plan would have performed.

  • US Tax Estimation Model how withdrawals, asset location, and income changes impact your estimated tax liability.

  • AI Chat Ask questions, clarify results, and learn about retirement planning concepts with an AI chatbot that knows your plan.

  • AI Insights Generate educational overviews explaining how taxes, RMDs, Roth conversions, withdrawal strategies, and more affect your results.

  • Compare Plans (Coming Soon) Create multiple plans and view key outcomes side-by-side to see how different choices affect your future.

Try hosted version at ignidash.com

Roadmap

Ignidash is in beta and actively under development. Planned features:

Q1 2026

  • Modeling debt and physical assets
  • Configurable drawdown order
  • State & local taxes, IRMAA surcharges
  • Roth conversions & SEPP

Q2 2026

  • Custom financial goals & milestones
  • Support for planning as a couple
  • Track NW with real-time data (by ticker?)

See Known Limitations for details.

Tech Stack

  • Frontend: Next.js 16, React 19, TypeScript, Tailwind CSS
  • Backend: Convex (DB & server functions)
  • Auth: Better-Auth with Google OAuth
  • Payments: Stripe
  • AI: Azure OpenAI

Self-Hosting with Docker

See SELF_HOSTING.md for how to host Ignidash yourself with Docker.

Local Development

Prerequisites

Setup

git clone https://github.com/schelskedevco/ignidash.git
cd ignidash

npm install

cp .env.cloud.example .env.local

Generate secrets and edit .env.local with them:

openssl rand -base64 32  # For BETTER_AUTH_SECRET
openssl rand -base64 32  # For CONVEX_API_SECRET

Optional Environment Variables

Variable Description
GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET Google Cloud Console
OPENAI_API_KEY, OPENAI_ENDPOINT Azure AI Foundry
RESEND_API_KEY Resend
STRIPE_SECRET_KEY, STRIPE_WEBHOOK_SECRET, STRIPE_PRICE_ID Stripe Dashboard
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY Stripe Dashboard
NEXT_PUBLIC_POSTHOG_KEY, NEXT_PUBLIC_POSTHOG_HOST PostHog

Syncing Environment Variables

After updating .env.local, sync your environment variables to Convex:

npm run selfhost -- --sync-only

Running Locally

# Terminal 1: Start Convex (follow prompts to create deployment)
npm run dev:convex

# Terminal 2: Start Next.js dev server
npm run dev

Open http://localhost:3000 in your browser.

Available Scripts

Command Description
npm run dev Start Next.js dev server
npm run dev:convex Start Convex local backend
npm run build Production build
npm run lint Run ESLint
npm run lint:fix Run ESLint with auto-fix
npm run typecheck TypeScript type checking
npm run format Format with Prettier
npm run test Run Vitest tests

Code Style

  • ESLint and Prettier run automatically on commit via Husky
  • Run npm run format to format all files
  • Run npm run lint:fix to auto-fix linting issues

Contributing

  • Bug reports & feature requests: GitHub Issues
  • Questions & discussion: Discord
  • Pull requests: Fork the repo, make your changes, and submit a PR

License

AGPL-3.0