A full-stack, AI-powered personal finance platform that helps users track income and expenses, set and monitor budgets, receive real-time alerts, get AI-generated monthly reports, and gain smart financial insights — all within a modern, responsive web application.
-
✅ AI-Powered Receipt Scanner
Upload images of physical receipts and let the app auto-fill transaction details (amount, date, vendor, category) using OCR combined with Gemini AI. -
🔁 Recurring Transaction Automation
Schedule salary deposits, subscriptions, or fixed bills as recurring entries — seamlessly handled via Inngest CRON jobs with automatic execution. -
🧾 Smart Transaction Management
Add, edit, delete, and categorize transactions. Filter by date range, amount, account, or type. Bulk operations supported for better productivity. -
📊 Real-Time Budget Monitoring & Alerts
Set monthly budgets per account and receive email alerts when you’re nearing or exceeding limits — powered by Inngest and Resend. -
📬 AI-Generated Monthly Reports
Every 1st of the month, users receive a personalized email summary with expense breakdowns, category-wise charts, and AI-generated savings tips. -
📈 Interactive Financial Analytics
Use clean and responsive Recharts visualizations to track spending patterns, compare months, and assess financial health. -
👥 Multi-Account & Category Management
Create and manage multiple financial accounts (e.g., Savings, Personal, Business) with customizable categories for more accurate tracking. -
🔐 Secure & Social Authentication
Google login and session handling via Clerk. All sensitive routes are protected with Clerk middleware and server-side session validation. -
⚙️ Serverless Background Jobs
Recurring logic and notifications are powered by Inngest, a serverless job orchestration engine with retries and CRON scheduling. -
💂 Bot/Abuse Protection
APIs and critical routes are protected by Arkjet to block bots, limit rate abuse, and shield your app from common web attacks. -
💎 Polished, Responsive UI
Built with ShadCN UI and Tailwind CSS, the app offers a smooth user experience across devices — with elegant modals, forms, and animations.
| Job Name | Trigger | Purpose |
|---|---|---|
monthlyReport |
1st of each month | Sends AI financial summary via email |
dailyBudgetMonitor |
After every 6 hrs | Alerts when nearing budget threshold |
handleRecurringTx |
Daily @ 12AM | Adds recurring transactions automatically |
✅ Powered by Inngest – reliable, serverless job scheduling.
| Landing Page | Dashboard |
|---|---|
![]() |
![]() |
| Account Page | Transaction(AI) Page |
|---|---|
![]() |
![]() |
| Daily Budget Email | Monthly Report Email |
|---|---|
![]() |
![]() |
| Area | Tech Stack |
|---|---|
| Frontend | React, Next.js 15, Tailwind CSS, ShadCN UI |
| Backend | Supabase (PostgreSQL), Prisma ORM |
| Authentication | Clerk (Google login + user profile) |
| Resend | |
| Charts | Recharts |
| AI/OCR | GEMINI API + custom OCR |
| Job Scheduling | Inngest (CRON jobs, retries, queues) |
| Security | Arkjet (bot detection, rate limiting) |
| CI/CD | Vercel + GitHub Actions |
Follow these steps to set up the ExpensIQ - AI Powered Personal Finance Manager project locally on your machine.
- Git
- Node.js (v18+)
- npm
git clone https://github.com/yourusername/expensiq.git
cd expensiqnpm installAfter installing dependencies and setting up environment variables, initialize your database:
npm i -D prisma
npx prisma init
npx prisma migrate dev --name create-modelsMake sure to create a .env file in root of your project with the following variables:
DATABASE_URL=
DIRECT_URL=
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=
CLERK_SECRET_KEY=
NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in
NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up
NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/onboarding
NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/onboarding
GEMINI_API_KEY=
RESEND_API_KEY=
ARCJET_KEY=
INNGEST_SIGNING_KEY=Replace the placeholder values with your actual credentials.
npm run devOpen http://localhost:3000 in your browser to view the project.
If you find this project useful, consider giving it a ⭐
Special thanks to the following platforms for their tools:
- Clerk – authentication and user management
- Supabase – backend database and real-time support
- Inngest – background jobs and CRON scheduling
- Arkjet – bot protection and rate limiting
- ShadCN UI – UI component library
- Gemini API (Google AI) – AI for receipt parsing
- Resend – transactional email delivery
- Recharts – charts and data visualization
- Vercel – frontend hosting and CI/CD



.png)

