003 — case study

Smriti

Your phone remembers your work. Point the camera, say one line, ask it anything later. Nothing leaves the device.

roleTeam build, Android
eventiQOO Hackathon, finalist
stackKotlin, ML Kit, Gemma 3 1B
tested onMoto G05
Smriti hero
Capture · ask · timeline · memories2026
0
network permissions in the shipping build
1B
parameter model, on device
2
scripts OCR'd: Latin + Devanagari
context

Who it's for

Site engineers, shop owners, lab technicians, field staff: people whose work doesn't happen at a desk and who will never type notes. Smriti lets them press once, capture the thing in front of them, say one line about it, and later ask out loud. The answer comes back with the original photo as evidence.

research

What we learned

  • 01
    Real paper is bilingual

    The Latin OCR model returns near-empty text on Devanagari. Smriti runs both recognisers and keeps whichever read more.

  • 02
    A 1B model doesn't honour schemas

    So the extractor never throws: it repairs braces, fences and trailing commas, aliases keys, retries once, then falls back to the raw transcript. Losing a capture is the worst failure.

  • 03
    On-device speech can be missing entirely

    On a stock Moto G05 the recogniser had no language pack. That made on-device Whisper a requirement for the offline build, not a stretch goal.

  • 04
    GPUs crash in ways you can't catch

    MediaPipe's GPU backend segfaults on Mali mid-generation. A sentinel quarantines the GPU after one unexplained death.

  • 05
    Privacy has to be enforced, not promised

    A telemetry library silently added INTERNET through the manifest merger. A build task now fails if the shipping manifest ever asks for network.

system

How it works

  1. Camera → on-device OCR (Latin + Devanagari).
  2. Mic → on-device speech recognition.
  3. A local language model fuses both into a structured record: title, people, tasks, dates.
  4. Questions are embedded and matched by cosine similarity. No vector database needed at this scale.
  5. Answers cite the records they came from, photo first.
design

Design decisions

  • 01
    The camera is the home screen

    One shutter: tap for photo, hold for photo + voice, mic for voice only. No forms.

  • 02
    Evidence before prose

    Every answer shows the source record and its photo, because a 1B model has to show its working.

  • 03
    Mono tags as status

    [ on-device ], [ 9 memories ], [ fri, sep 4 ]: small bracketed tags carry state without adding chrome.

close-ups

Design, up close

Crops from the Smriti Figma file, then the real app on a real phone.

Ask: question, answer, evidence
Ask: question, answer, evidence
Timeline: open tasks with dates
Timeline: open tasks with dates
Memory record: tag, title, summary
Memory record: tag, title, summary
Capture: bracketed nav + on-device badge
Capture: bracketed nav + on-device badge
App icon
App icon
Icon, two colourways
Icon, two colourways
Smriti running on a phone, four screenshots
The real app, screenshots from the devicedevcloud build
result

Outcome

Selected as a finalist at the iQOO Hackathon 2026. The offline build ships with no network permission at all, and a build-time guard makes sure it stays that way.