Skip to content

PrathamPeriwal/Ledgerly

Repository files navigation

Ledgerly

AI-Powered Personal Finance Management Platform

πŸ“– Overview

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.

⭐ Key Features

πŸ’° Transaction Management

  • Multi-account support with detailed transaction history
  • Real-time balance tracking and transaction flows
  • Advanced filtering and bulk operations

πŸ“Š Budget Management & Insights

  • Set monthly category budgets with alerts
  • AI-generated financial insights (monthly)
  • Automated email reports with analytics

🧾 Intelligent Receipt Scanning

  • Upload receipts and auto-extract transaction details
  • Google Gemini 2.5 Flash vision model
  • Smart categorization with form auto-population

πŸ”„ Automation

  • Automatic recurring transaction detection
  • Scheduled background jobs with Inngest
  • Monthly cron jobs for reports and alerts

πŸ” Security

  • ArcJet protection (bot detection, DDoS shield)
  • Clerk authentication (OAuth, email/password, MFA)
  • Rate limiting (10 req/hour per user)

πŸ› οΈ Tech Stack

Frontend & Framework

  • 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

Backend & Data

  • PostgreSQL - Relational database with advanced features
  • Prisma ORM - Type-safe ORM with auto-generated migrations
  • Node.js - Runtime environment

AI & Vision

  • Google Generative AI - Gemini 2.5 Flash for receipt scanning and insights
  • Vision API Integration - Advanced image analysis and data extraction

Authentication & Security

  • Clerk - Complete authentication platform (OAuth, email/password, MFA)
  • ArcJet - Bot detection, rate limiting, DDoS shield

Automation & Jobs

  • Inngest - Background job scheduling and orchestration
  • Cron Functions - Scheduled tasks for reports and recurring transactions

Email & Notifications

  • Resend - Email delivery service
  • React Email - JSX-based email templates

πŸš€ Quick Start

Prerequisites

Installation

git clone <repository-url>
cd ai-finance-platform

npm install

cp .env.example .env.local

npx prisma migrate dev

npm run dev

The application will be available at http://localhost:3000

πŸ”‘ Environment Variables

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"

πŸ“ Project Structure

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

πŸ“š Support & Resources

πŸ“„ License

This project is licensed under the MIT License


Built with ❀️ for better financial management

About

Ledgerly is an AI-powered personal finance platform that enables seamless tracking of income, expenses, and budgets through an intuitive interface. πŸ§ πŸ’° It leverages smart categorization, real-time analytics, and receipt scanning to deliver actionable financial insights.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors