ExpenseFlow is a production-grade full-stack expense tracker with AI receipt scanning, multi-currency support, shared group expenses, real-time analytics, and GraphQL API.
demo@expense.app/demo123Live from the demo database
Fetched server-side at build time and regenerated every hour (Next.js ISR)
What's inside
Designed as a portfolio project showcasing modern full-stack patterns.
Interactive charts with category breakdowns, 30-day trends, budget tracking, and AI-generated spending insights. Powered by MongoDB aggregation pipelines.
Upload a receipt photo and Claude AI extracts the amount, description, and category automatically. Falls back to keyword matching in demo mode.
Create groups, invite members, split bills equally or by exact amounts. Greedy debt-simplification algorithm minimises the number of settlements.
Add expenses in any of 30 currencies. Live exchange rates cached for 1 hour from open.er-api.com. Stores original amount + conversion rate for audit trail.
Weekly, monthly, or yearly recurring templates. Generate due expenses in bulk, pause/resume, and track next due dates automatically.
Export filtered expenses to CSV or a beautifully formatted PDF report generated server-side with PDFKit. No client-side PDF libraries needed.
Analytics endpoints cached in Redis with 2–5 minute TTLs. Non-blocking SCAN-based cache invalidation on every write. Falls back gracefully if Redis is down.
Full GraphQL layer alongside REST using Apollo Server 4. Apollo Sandbox enabled in development. Custom Date scalar, auth guard, and ISR-friendly resolvers.
Stateless JWT authentication with role-based access control. Helmet, CORS, and express-rate-limit for production hardening. Passwords hashed with bcrypt.
Tech stack
This landing page is a Next.js 14 Server Component. On each deployment (or every hour via ISR), it authenticates with the ExpenseFlow API server-side and fetches live analytics. The HTML arrives fully rendered — no loading spinners, no client-side API calls, zero JavaScript for the stats.
The demo is live with 200+ seeded expenses, shared groups, recurring templates, and real analytics. No sign-up required — just use the demo credentials.
Demo credentials