Currently only AT&T bills are supported. T-Mobile and Verizon support are planned for future releases.
No. All processing happens locally on your machine. PDFs are temporarily stored in the backend/temp folder during parsing and then deleted. Groups are saved only in your browser's localStorage.
- LlamaParse: Free tier (1000 pages/day) - plenty for personal use
- Total estimated cost: ~$0.02-0.04/month for typical usage (1-2 bills)
Yes, the project is MIT licensed. However, please verify the API usage terms with LlamaCloud and OpenAI for commercial use.
No, but it's recommended. You can use Node.js 22+ instead:
npm install # instead of bun install
npm run dev # instead of bun run devNo, you need a LlamaCloud API key to parse PDFs. The free tier is generous for personal use.
Common issues:
- Port 3001 already in use (change PORT in .env)
- Missing .env file (copy from .env.example)
- Invalid API keys (verify at cloud.llamaindex.ai)
- Missing temp directory (run
mkdir tempin backend folder)
Not yet. Currently, you can upload one bill at a time. Multi-bill support is planned.
Currently not supported. The parser extracts data as-is from the bill. Manual editing is a planned feature.
Not yet. CSV/PDF export is on the roadmap.
- Verify it's an AT&T bill (other carriers not yet supported)
- Check if the PDF is a scanned image (text-based PDFs work best)
- Open an issue on GitHub with details about the parsing error
Groups are stored in your browser's localStorage with key splitbill-groups. They persist across page refreshes but are lost if you clear browser data.
We're actively working on it! Follow the repo for updates.
Not yet. Historical tracking is planned for a future release.
Not yet. Shareable links are on the roadmap.
Not yet in the UI, but groups do have color assignments. Custom color selection is a planned enhancement.
The backend uses LlamaParse to extract text from PDF, then OpenAI to structure the data. This involves:
- Uploading PDF to LlamaParse (~2-3s)
- PDF text extraction (~2-3s)
- AI structuring with GPT-4o-mini (~2-3s)
Yes! The entire stack runs locally. For production deployment:
- Deploy backend to any Node.js host (Railway, Render, Fly.io)
- Deploy frontend to Vercel, Netlify, or Cloudflare Pages
- Update API_URL in frontend code to point to your backend
Not yet, but it's on the roadmap. Contributions welcome!
Bun is faster, has built-in TypeScript support, and includes package management. But Node.js 22+ works fine too if you prefer it.
The app processes files locally and doesn't store them permanently. However:
- Redact sensitive info (SSN, full account numbers) before uploading
- Run the app on your own machine, not a shared computer
- Don't commit .env files with API keys to version control
This tool is for personal use to help understand and split your own bills. It doesn't violate any terms. Always verify amounts against your actual bill.
Still have questions? Open an issue on GitHub or start a discussion!