AI-powered receipt saver for warranty and return tracking
- Search purchasers by product name, store, or notes (case-insensitive) - GET /search?q=... returns purchase list fragment - 300ms debounced keyup trigger on search input - Empty query returns all purchases |
||
|---|---|---|
| contrib | ||
| internal | ||
| static | ||
| templates | ||
| .env.example | ||
| .gitignore | ||
| build-all.sh | ||
| go.mod | ||
| go.sum | ||
| install.sh | ||
| main.go | ||
| Makefile | ||
| README.md | ||
NextReceipt
AI-Powered Receipt Saver for Warranty & Returns
Save receipts from private purchases to track warranty coverage and return windows. Upload your receipt, get AI-extracted data, and never lose track of your guarantees again.
Features
- Passwordless login via email OTP
- AI receipt extraction (Gemini / OpenAI-compatible)
- Warranty tracking — save product name, store, price, warranty months, return window
- Receipt image storage with UUID filenames
- Mobile-first PWA — camera capture, installable, works offline
- HTMX-powered UI — no SPA framework, server-driven
- Pure Go, no CGO — single static binary
Quick Start
cp .env.example .env
# Edit .env with your credentials
go run main.go
Tech Stack
- Go 1.23+ (pure Go, no CGO)
- SQLite via modernc.org/sqlite
- HTMX 1.9.10 + vanilla CSS
- chi v5 router
Configuration
| Variable | Purpose |
|---|---|
AI_PROVIDER |
gemini or openai |
GEMINI_API_KEY |
Google Gemini API key |
OPENAI_API_KEY |
OpenAI-compatible API key |
AI_MODEL |
Model name (for OpenAI/Ollama) |
AI_BASE_URL |
API base URL |
SMTP_HOST/PORT/USER/PASS |
SMTP credentials (for OTP emails) |
PORT |
Web server port (default 8080) |
Install (systemd)
bash install.sh
Updates: bash install.sh -update
License
MIT