Cortix SL Platform
The engine that reads receipts and answers questions.
The service behind Cortix SL: turning receipt photos and spoken sentences into structured data, and plain-language questions into answers — while keeping every account's data strictly its own.
- Turns receipts into
- Itemised data
- Understands
- Speech & questions
- Data isolation
- Per account
- Tested on
- Every change
Upload a receipt image and get back structured line items, merchant, total and a suggested category.
Request
Errors
Response
200 OK · 1.2s{
"merchant": "Al-Fatah Superstore",
"total": 1550.00,
"currency": "PKR",
"date": "2026-10-04",
"category": "Food & Dining",
"line_items": [
{ "name": "Basmati rice 5kg", "qty": 1, "price": 1180.00 },
{ "name": "Olive oil 500ml", "qty": 1, "price": 370.00 }
],
"confidence": 0.94
}The challenge
Two failure modes would end a personal-finance product on day one: showing one person another person's spending, or letting paid features run free. Both get easier to cause as the product grows, because each new feature is another chance to forget the check.
Our approach
Rather than relying on every feature to remember the rules, we put them in one place each. All database access flows through a single layer that scopes every query to the signed-in account, so isolation cannot be forgotten feature by feature. Plan entitlements are checked through one shared gate. Sign-in is verified cryptographically against the identity provider, so the keys that could read everything never leave the server.
What shipped
A service that handles scanning, voice, search, budgets, billing and exports for the app and the admin portal, deployed in containers with the full test suite running on every change.
What it does
- Read a receipt photo into merchant, total, date and line items
- Parse a spoken sentence into a structured expense
- Answer plain-language questions over a user's own ledger
- Keep each account's data provably separate from every other
- Gate paid capabilities by plan, in one place
- Fail with a clear, actionable message instead of a stack trace
Stack
- FastAPI
- PostgreSQL
- Supabase
- Gemini
- Docker
Our role
API architecture, AI integration, data modelling, automated testing, deployment.
Building something like this?
Tell us what you are building and we will come back with technical direction, scope and a timeline.
Start a similar build