A modern, privacy-focused expense tracking Progressive Web App (PWA) with AI-powered receipt scanning.
- 📸 AI Receipt Scanning - Extract expense details from photos using multiple AI providers.
- 🔄 Multi-Provider Support - Supports Google Gemini, OpenAI GPT-4o, Nvidia NIM, and Groq (OCR+LLM).
- 🧠 User-Selectable AI - Users can choose their preferred AI provider.
- 📊 Rate Limiting - Daily quota for AI scans to manage costs.
- 💰 Expense Tracking - Manage expenses with categories, amounts, and notes.
- 🔐 Secure Auth - JWT-based authentication with bcrypt password hashing.
- 🌓 Dark/Light Theme - Beautiful UI with theme persistence.
- 📱 Progressive Web App - Install on any device, works offline.
- 🔒 Production-Ready - Server-side API keys, no user setup required.
- ⚡ Edge-First - Deployed on Cloudflare's global network.
# Clone repository
git clone https://github.com/Creative-Geek/Focal.git
cd Focal
# Install dependencies
pnpm install
# Set up environment (see docs/DEVELOPMENT.md)
# Create .dev.vars with JWT_SECRET and ENCRYPTION_KEY
# Initialize database
pnpm db:migrate && pnpm db:migrate:002 && pnpm db:migrate:003 && pnpm db:migrate:004 && pnpm db:migrate:005 && pnpm db:migrate:006
# Run development server
pnpm dev:fullVisit http://localhost:3000 to get started!
First run: Home page shown after starting the dev server.Frontend: React 18 • TypeScript • Vite • TailwindCSS • shadcn/ui
Backend: Cloudflare Workers • Hono.js • D1 (SQLite)
AI Providers: Google Gemini • OpenAI • Nvidia NIM • Groq + Azure Vision
Tools: ESLint • Wrangler • pnpm
- Development Guide - Setup, configuration, and local development
- Deployment Guide - Production deployment to Cloudflare
- API Reference - Complete API documentation
- Contributing - Guidelines for contributors
- Email Verification Setup - Email verification configuration
- Production Checklist - Pre-deployment checklist
- Password hashing with bcrypt
- JWT token authentication
- AES-256-GCM API key encryption
- SQL injection protection
- CORS configuration
- Input validation with Zod
Chrome/Edge 90+ • Firefox 88+ • Safari 14+ • Opera 76+
Built with React, Cloudflare, shadcn/ui, Google Gemini, and Hono
Live Demo • Documentation • Report Bug
Made with ❤️ by Creative Geek


