bill manager in ethiopian context
# ScanLogic: AI-Powered Receipt & Document Assistant
ScanLogic is a production-ready, full-stack AI assistant designed to simplify expense tracking and document management. It leverages Google Gemini for intelligent OCR and data extraction, Supabase for secure data persistence, and Telegram as a lightweight, accessible interface.
---
## 🚀 How to Use
### 1. Telegram Bot Interface
The primary way to interact with ScanLogic is through the Telegram bot.
- **Register Receipts**: Simply send a photo of a receipt. The AI will automatically extract the merchant, total, currency, date, and category.
- **Query Expenses**: Ask natural language questions like:
- *"How much did I spend this week?"*
- *"Show me the receipt from Kaldis Coffee."*
- **Export Reports**: Use the `/export` command or the "Export Report" button to receive an Excel summary of your data.
- **Fill Forms**: Upload a PDF form, and the bot will offer to fill it using your saved profile data.
### 2. Web Dashboard
Access the web interface to view a visual summary of your spending, manage your profile, and see a history of all uploaded documents.
---
## 🛠 Tech Stack
- **Frontend**: React 19, Vite, Tailwind CSS 4, Motion (Framer Motion).
- **Backend**: Node.js (Express), TypeScript.
- **Database**: Supabase (PostgreSQL) for structured data and Auth.
- **AI Engine**: Google Gemini 1.5 Flash (`@google/genai`) for high-speed OCR and intent analysis.
- **File Processing**: `pdf-lib` for PDF manipulation and `xlsx` for Excel report generation.
- **Communication**: Telegram Bot API.
---
## 🏗 Project Structure
```text
├── server.ts # Main entry point: Express server & Telegram Webhook
├── src/ # React Frontend application
│ ├── components/ # UI components (Tailwind + Lucide)
│ ├── App.tsx # Main dashboard logic
│ └── main.tsx # React entry point
├── .env.example # Template for environment variables
├── package.json # Dependencies and scrip …