AI-powered financial assistant to track, analyze & optimize your money.
NextWealthAI is a full-stack Next.js application designed to manage your finances smartly.
It enables you to:
✅ Track multiple accounts & transactions
✅ Visualize spending trends with interactive charts
✅ Scan receipts with Google Gemini AI
✅ Manage budgets & set up recurring expenses
✅ Receive personalized insights & email notifications
- 🚀 Overview
- 🔥 Features
- 🛠️ Tech Stack
- 📁 Project Structure
- 🚀 Getting Started
- ☁️ Deployment
- 🤝 Contributing
- 📜 License
- Create, edit & delete accounts (
/app/(main)/account
) - Log, filter & sort transactions in
TransactionTable.jsx
- Set a default account with the toggle in
AccountCard.jsx
- Recent transaction overview in
DashOverview.jsx
- Monthly expense pie chart powered by Recharts
- Budget progress bar charts in
BudgetProgress.tsx
- Receipt Scanner: Upload receipts;
scanReceipt
extracts amount, date, merchant & category. - Auto-Categorization: Maps AI-suggested categories to your IDs in
TransactionForm.jsx
- Schedule daily, weekly, monthly or yearly payments with
transactionSchema
- Compute next recurrence via
calculateNextRecurringDate
- Email confirmations with Resend in
emails/template.jsx
- In-app toasts using Sonner
- Auth & user management via Clerk
- Simple in-memory rate limiter in [
lib/inngest/arcjet.js
] (max 10 transactions/day)
Layer | Tech Stack |
---|---|
Framework | Next.js 15 (App Router) |
UI | Tailwind CSS, Radix-UI, Lucide Icons |
Database | PostgreSQL, Prisma ORM schema.prisma |
Auth | Clerk |
AI | Google Generative AI (Gemini) |
React Email, Resend | |
Jobs | Inngest |
Charts | Recharts |
Utils | clsx , tailwind-merge |
.
├── app/
│ ├── (main)/
│ │ ├── account/
│ │ ├── dashboard/
│ │ ├── budget/
│ │ └── transaction/
│ └── layout.tsx
├── components/
├── emails/
├── lib/
├── prisma/
│ └── schema.prisma
├── public/
├── actions/
├── package.json
└── next.config.js
git clone https://github.com/MayankGupta0119/GenAI-NextWealthAI.git
cd GenAI-NextWealthAI/wealth_ai
npm install
Create a .env
file and update:
DATABASE_URL="postgresql://..."
DIRECT_URL="postgresql://..."
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=...
CLERK_SECRET_KEY=...
GEMINI_API_KEY=...
RESEND_API_KEY=...
npx prisma migrate dev
npx prisma generate
npm run dev
-
Add your environment variables in the Vercel dashboard.
-
Ensure your
package.json
contains:
"scripts": {
"build": "prisma generate && next build",
"postinstall": "prisma generate"
}
- Fork & clone this repo.
- Create a feature branch:
git checkout -b feature/your-feature
- Commit & push your code.
- Open a Pull Request.
✅ Please follow existing code style & run npm run lint
before submitting.