The problem
A fintech startup had a simple but painful observation: expense reporting was the most hated task in every company they surveyed. Employees forgot receipts, typed amounts wrong, mis-categorised expenses, and submitted reports late. The root cause was friction — it took too long and required too much attention.
Previous solutions required uploading a photo and waiting for a cloud OCR API to process it — often 5–15 seconds. Users abandoned the flow. The client needed something that felt instant.
The solution
1
On-device OCR via Google ML Kit
We used Google ML Kit's Text Recognition v2 API — which runs entirely on-device on both iOS and Android with no network call. Raw text is extracted from the receipt image in under 400ms on a mid-range device.
2
LLM parsing layer (on-device or lightweight API)
The raw OCR text is messy — different receipt formats, languages, currencies. We built a structured parsing layer using a fine-tuned small LLM that extracts merchant name, total amount, date, line items, and currency. For offline mode, a quantized model runs on-device. When connected, a cloud endpoint handles edge cases.
3
Smart categorisation engine
The app learns from user corrections. Each categorisation decision is stored locally and used to fine-tune future suggestions. After 20 receipts, the app accurately predicts the category 94% of the time for that user's spending patterns.
4
Accounting platform sync
Bi-directional sync with QuickBooks, Xero, and FreshBooks via their REST APIs. Expense reports generated as PDF or Excel on demand. Approval workflows handled via the Django backend with push notification triggers.
Key design decisions
- On-device first — the happy path has zero network dependency for receipt capture and parsing
- React Native single codebase — shipped simultaneously to iOS App Store and Google Play
- Offline queue — receipts captured without connectivity sync automatically when connected
- Camera UX — custom viewfinder with receipt edge detection guides the user to the optimal capture position before they tap
- Accessibility — full VoiceOver and TalkBack support, WCAG AA compliant
We tried three other expense apps before Velox built ours. The difference is the speed. Snap a receipt and it's done — I don't even think about it anymore. It just works.
— Beta user, Series A SaaS company, UK