Bilal Shihab / Projects

Scribend

An offline medical scribe my team built at the Qualcomm × Meta ExecuTorch Hackathon. It records a doctor–patient visit and writes a structured SOAP note on an Android phone, with no internet:

Collaborated with Mariam Shihab, Ishani Paul and Bhasky NandagiriQualcomm × Meta ExecuTorch HackathonSan Francisco, June 2026
Spec
Runtime
ExecuTorch, XNNPACK (CPU)
App
React Native, TypeScript
Speech to text
Whisper tiny.en
Note model
Llama 3.2 1B, 4-bit QLoRA
Device
Galaxy S25 Ultra (Snapdragon 8 Elite)
Network
None after first model download
NPU (QNN)
Models exported for the S25's NPU (next step)
Output
SOAP note
The Scribend SOAP note screen, recreated from the app's code
Fig. 1The SOAP note screen, recreated from the app's React Native code (colours, type and labels) using its built-in sample visit, not a screenshot from the phone. The patient-context card is empty because that feature was never connected in the app.

Why I built it

Clinics in remote areas often lack reliable internet, so a cloud-based scribe doesn't work there. The hackathon focused on running AI on Snapdragon phones with ExecuTorch, which made an offline scribe a natural fit.

The hard part

The biggest constraint was memory. Llama 3.2 3B wrote better notes than the 1B, which sometimes echoed the prompt, but running it alongside Whisper exhausted the phone's memory and crashed the app. After testing the combinations on the S25, I went with Whisper tiny and Llama 3.2 1B, which ran reliably in all three runs at about 49 tokens per second.