AI-Powered Personal Finance Management Platform
Ledgerly is a modern, AI-powered financial management application that helps users track income and expenses, manage budgets, and gain actionable insights through a clean and intuitive interface. It supports smart transaction categorization, recurring payments, and real-time financial analytics to provide clear visibility into spending patterns, while AI-driven receipt scanning automates data entry and reduces manual effort.
- Multi-account support with detailed transaction history
- Real-time balance tracking and transaction flows
- Advanced filtering and bulk operations
- Set monthly category budgets with alerts
- AI-generated financial insights (monthly)
- Automated email reports with analytics
- Upload receipts and auto-extract transaction details
- Google Gemini 2.5 Flash vision model
- Smart categorization with form auto-population
- Automatic recurring transaction detection
- Scheduled background jobs with Inngest
- Monthly cron jobs for reports and alerts
- ArcJet protection (bot detection, DDoS shield)
- Clerk authentication (OAuth, email/password, MFA)
- Rate limiting (10 req/hour per user)
- Next.js - React 19 with App Router
- React 19 - Modern UI with automatic batching and transitions
- TailwindCSS - Utility-first CSS framework
- Radix UI - Unstyled, accessible component primitives
- PostgreSQL - Relational database with advanced features
- Prisma ORM - Type-safe ORM with auto-generated migrations
- Node.js - Runtime environment
- Google Generative AI - Gemini 2.5 Flash for receipt scanning and insights
- Vision API Integration - Advanced image analysis and data extraction
- Clerk - Complete authentication platform (OAuth, email/password, MFA)
- ArcJet - Bot detection, rate limiting, DDoS shield
- Inngest - Background job scheduling and orchestration
- Cron Functions - Scheduled tasks for reports and recurring transactions
- Resend - Email delivery service
- React Email - JSX-based email templates
- Node.js 18+ and npm/yarn
- PostgreSQL database
- API Keys:
- Google Generative AI key: (https://aistudio.google.com/apikey)
- Clerk keys: (https://dashboard.clerk.com)
- Resend API key: (https://resend.com)
- ArcJet key: (https://arcjet.com)
git clone <repository-url>
cd ai-finance-platform
npm install
cp .env.example .env.local
npx prisma migrate dev
npm run devThe application will be available at http://localhost:3000
Create a .env.local file with the following variables:
# Database
DATABASE_URL="postgresql://user:password@localhost:5432/ledgerly"
DIRECT_URL="postgresql://user:password@localhost:5432/ledgerly"
# Clerk Authentication
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY="pk_test_..."
CLERK_SECRET_KEY="sk_test_..."
NEXT_PUBLIC_CLERK_SIGN_IN_URL="/sign-in"
NEXT_PUBLIC_CLERK_SIGN_UP_URL="/sign-up"
NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL="/"
NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL="/"
# Google Generative AI
GEMINI_API_KEY="your_gemini_api_key_here"
# Resend Email Service
RESEND_API_KEY="your_resend_api_key_here"
# ArcJet Security
ARCJET_KEY="your_arcjet_key_here"
# Inngest Background Jobs
INNGEST_EVENT_KEY="your_inngest_event_key_here"
INNGEST_SIGNING_KEY="your_inngest_signing_key_here"ledgerly/
βββ app/ # Next.js App Router
β βββ (auth)/ # Authentication pages (sign-in, sign-up)
β βββ (main)/ # Main app pages (dashboard, accounts, transactions)
β βββ api/ # API routes
β βββ lib/ # Application schema
β βββ layout.js # Root layout
β βββ page.js # Landing page
β
βββ actions/ # Server actions
β
βββ components/ # Reusable UI components
β βββ ui/ # Radix UI + Tailwind
β
βββ lib/ # Core utilities & services
β
βββ hooks/ # Custom React hooks
β
βββ prisma/ # Database
β
βββ emails/ # Email templates
β
βββ data/ # Static data
β
βββ public/ # Static assets
β
βββ package.json
βββ configuration files
βββ .env.local # Environment variables
βββ README.md
- Documentation: See inline code comments and JSDoc annotations
- Clerk Docs: https://clerk.com/docs
- Google Gemini API: https://ai.google.dev/gemini-api
- Prisma Docs: https://www.prisma.io/docs
- Inngest Docs: https://www.inngest.com/docs
- Next.js Docs: https://nextjs.org/docs
This project is licensed under the MIT License
Built with β€οΈ for better financial management