Skip to content

Repository files navigation

FinTrack

An AI-powered personal finance platform — track expenses, automate recurring transactions, scan receipts, and get monthly insights powered by Gemini AI.

Live Demo →


Product Screenshot


What is FinTrack?

FinTrack gives you a clear, real-time picture of your financial life. Log income and expenses, set budgets with alert thresholds, automate recurring payments, and let AI analyse your spending patterns — all in one place.


Features

Feature Description
Dashboard Visual overview of income, expenses, and net balance with interactive charts
Transaction management Add, edit, and categorise transactions with full history
Budget tracking Set per-category budgets; receive email alerts when you approach limits
Recurring transactions Automate repeating income or expenses — daily, weekly, or monthly
AI receipt scanning Upload a receipt and Gemini AI extracts the amount, merchant, and category
Monthly AI reports Personalised financial health summaries delivered to your inbox each month
Secure auth Clerk-powered sign-in with social login and MFA support
Rate limiting Arcjet protects all API routes from abuse

Tech Stack

Frontend

Backend & Database

Services

  • Clerk — authentication and user management
  • Gemini AI — receipt scanning and monthly insights
  • Inngest — background jobs for recurring transactions and reports
  • Resend — transactional email (budget alerts, monthly reports)
  • Arcjet — rate limiting and bot protection

Getting Started

Prerequisites

Installation

  1. Clone the repository
git clone https://github.com/himanshuvkm/FinTrack.git
cd FinTrack
  1. Install dependencies
npm install
  1. Set up environment variables

Create a .env.local file at the root of the project and fill in the values below.

  1. Push the database schema
npx prisma db push
  1. Start the development server
npm run dev

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


Environment Variables

# Clerk — https://dashboard.clerk.com
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

# Supabase / Prisma — https://supabase.com/dashboard
DATABASE_URL=
DIRECT_URL=

# Gemini AI — https://aistudio.google.com/app/apikey
GEMINI_API_KEY=

# Resend — https://resend.com/api-keys
RESEND_API_KEY=

# Inngest — https://app.inngest.com
INNGEST_EVENT_KEY=
INNGEST_SIGNING_KEY=

# Arcjet — https://app.arcjet.com
ARCJET_KEY=

Project Structure

fintrack/
├── app/                  # Next.js App Router pages and layouts
│   ├── (auth)/           # Sign-in / sign-up routes
│   ├── (main)/           # Protected app routes (dashboard, accounts, transactions)
│   └── api/              # API route handlers
├── components/           # Shared UI components
├── lib/                  # Utility functions, Prisma client, AI helpers
├── inngest/              # Background job definitions
├── prisma/               # Prisma schema and migrations
└── public/               # Static assets

Contributing

Contributions are welcome — bug reports, feature requests, documentation improvements, and code all help.

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/your-feature
  3. Commit your changes: git commit -m "feat: add your feature"
  4. Push to your branch: git push origin feature/your-feature
  5. Open a Pull Request

Please follow Conventional Commits for commit messages where possible.


License

Distributed under the MIT License. See LICENSE for details.


Contact

Himanshu Vishwakarma

About

FinTrack is a full-stack AI Finance Platform designed to help users seamlessly manage their income, expenses, budgets, and overall financial health. It combines transaction automation, smart analytics, AI-powered insights, and beautiful visual dashboards into one unified experience.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages