An open-source personal financial planning app with AI-powered features.
Monte Carlo simulations • Historical backtesting • US tax estimation • AI chat & insights
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
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.
- 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
See SELF_HOSTING.md for how to host Ignidash yourself with Docker.
git clone https://github.com/schelskedevco/ignidash.git
cd ignidash
npm install
cp .env.cloud.example .env.localGenerate secrets and edit .env.local with them:
openssl rand -base64 32 # For BETTER_AUTH_SECRET
openssl rand -base64 32 # For CONVEX_API_SECRET| 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 |
After updating .env.local, sync your environment variables to Convex:
npm run selfhost -- --sync-only# Terminal 1: Start Convex (follow prompts to create deployment)
npm run dev:convex
# Terminal 2: Start Next.js dev server
npm run devOpen http://localhost:3000 in your browser.
| 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 |
- ESLint and Prettier run automatically on commit via Husky
- Run
npm run formatto format all files - Run
npm run lint:fixto auto-fix linting issues
- Bug reports & feature requests: GitHub Issues
- Questions & discussion: Discord
- Pull requests: Fork the repo, make your changes, and submit a PR