Finsync is a cutting-edge finance management platform that leverages AI to automate your transaction tracking, budgeting, and monthly reporting. Built with the latest full-stack tools and deployed on Vercel, Finsync is secure, fast, and feature-rich.
LIVE DEMO 👉🏻 Click to visit FinSync
PORTFOLIO 👉🏻 View My Portfolio

Upload a receipt and let Gemini 1.5 Flash extract:
- Amount, date, merchant, description, and category
- Auto-fills the form for quick entry
- Users mark transactions as recurring (daily/weekly/monthly)
- Scheduled job checks and auto-adds them on due dates
- Updates account balance and next due date
- Users define budgets by category
- Every 6 hours, the system checks spending
- If >60% used, sends email alerts
- Prevents repeated alerts within the same month
- Secure authentication via Clerk
- Rate limiting and bot protection with Arcjet
- All sensitive routes are protected and session-aware
Visual overview of the core tables (Accounts, Transactions, Budgets, Users, etc.)
| Layer | Stack |
|---|---|
| Frontend | Next.js 15, TypeScript, Shadcn UI, Tailwind |
| Backend | API Routes, Prisma, Node.js |
| Auth | Clerk |
| AI | Gemini (via Google AI API) |
| Jobs | Inngest (CRON-based automation) |
| Security | Arcjet (rate limiting, bot detection) |
| DB | PostgreSQL |
| DevEnv | Docker |
| Deployment | Vercel |
git clone https://github.com/Rupesh-Piwal/finsync.git
cd finsync
npm installDATABASE_URL=your_postgres_url
CLERK_PUBLISHABLE_KEY=your_clerk_key
CLERK_SECRET_KEY=your_clerk_secret
NEXT_PUBLIC_ARCJET_TOKEN=your_arcjet_token
GEMINI_API_KEY=your_gemini_key
INNGEST_EVENT_KEY=your_inngest_keynpx prisma migrate dev --name init
npm db:seeddocker-compose up --build- Receipt Parsing (Gemini API) – Extract merchant, total, date, etc.
- Monthly Insights (LLM) – AI-generated summaries of user spending.
- Auto Categorization – Smart categorization of expenses.
- Import the repo into Vercel.
- Set all environment variables.
- Deploy and monitor via Vercel Dashboard.
Contributions are welcome!
- Fork the repository
- Create a feature branch (
git checkout -b feat/your-feature) - Commit your changes
- Push to GitHub
- Create a Pull Request
Feel free to reach out to me for guidance or collaboration:




