Skip to content

A full-stack, AI-powered financial tracker that instantly organizes your expenses with a single photo. Built with React, Cloudflare Workers, D1 database, and Google Gemini AI.

Notifications You must be signed in to change notification settings

Creative-Geek/Focal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Focal Logo

Focal Finance Tracker

A modern, privacy-focused expense tracking Progressive Web App (PWA) with AI-powered receipt scanning.

Dashboard

Live Demo License

✨ Features

  • 📸 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.

Add Expense form with receipt scanning

AI Receipt Scanning: add an expense from a photo; fields are auto-filled.

🚀 Quick Start

# 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:full

Visit http://localhost:3000 to get started!

Home page on first run

First run: Home page shown after starting the dev server.

🛠️ Tech Stack

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

📚 Documentation

🔒 Security

  • Password hashing with bcrypt
  • JWT token authentication
  • AES-256-GCM API key encryption
  • SQL injection protection
  • CORS configuration
  • Input validation with Zod

🌐 Browser Support

Chrome/Edge 90+ • Firefox 88+ • Safari 14+ • Opera 76+

📝 License

License: MIT

🙏 Acknowledgments

Built with React, Cloudflare, shadcn/ui, Google Gemini, and Hono


Live DemoDocumentationReport Bug

Made with ❤️ by Creative Geek

About

A full-stack, AI-powered financial tracker that instantly organizes your expenses with a single photo. Built with React, Cloudflare Workers, D1 database, and Google Gemini AI.

Topics

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •