Bahandi
QSR write-off PWA with iiko integration and a fraud gate: photo capture, timestamps, perceptual hashing, AI vision.


- Built with
- Supabase, React
- Year
- 2026
- Status
- Prototype
Write-off control for a restaurant chain. A line employee records spoilage or breakage with a photo, a reviewer approves it, and the approved write-off goes to iiko as an act. Around that: voice dictation of the comment, an offline queue, PIN and shift login, a reviewer queue and a dashboard showing where the money is leaking.
A React PWA with Supabase as the entire backend — Postgres with row-level security, storage for the photos, and five Deno edge functions. iiko is reached only through an edge function behind an interface, with a mock as the default, so nothing in the app can talk to a real accounting system by accident.
The fraud gate is designed but not built, and I'd rather say that than imply otherwise. The schema is all there — photo source marked camera or gallery, a server-side timestamp with a comment saying the client isn't trusted, coordinates, a perceptual hash for spotting a reused photo, and fields for an AI match with a confidence score. Nothing in the repo writes those columns yet. The shape of the answer exists; the detection doesn't.
Paused at MVP. Stages one through four are done, three remain.