Bilal Shihab
Biomedical Engineering at UT Austin — building on-device clinical AI, edge inference pipelines, and iOS health applications.
shihabbilal@gmail.comAbout Me
I'm a Biomedical Engineering student on the Computational Track at UT Austin, working on on-device clinical AI and edge inference — taking models that normally need a datacenter and getting them to run on a phone or a microcontroller.
That's meant shipping two privacy-first iOS apps that run quantized LLMs entirely on-device via llama.cpp on Metal, building a C inference engine for a dual-core Cortex-M0+, and leading the Edge AI team at Longhorn Neurotech. I'm currently researching the gut-brain axis at Wang Laboratory, modeling EEG and EGG data to time targeted vagus nerve stimulation.
The through-line is privacy by architecture — health data that never leaves the device it was measured on.
Projects
Localabs
iOS app that translates medical lab reports into plain language, fully on-device. Apple Vision OCR extracts text locally; MedGemma 4B (quantized to ~2.5 GB) runs on the iPhone GPU via llama.cpp on Metal and returns a five-section summary. Lasso any text on the scan to ask follow-ups. Health Trends folds 30-day Apple Health vitals against peer-reviewed reference bands. No cloud, no account, no telemetry.
MedAdvisor
Built with a Stanford surgeon — records a medical consultation and scores it against a clinical rubric entirely on-device. Runs a 4-bit 7B LLM on iPhone, fitting a 4 GB model into a 495 MB footprint via memory-mapped weights, and cuts evaluation latency ~60% (18.6 s → 7.3 s per criterion) by caching transcript KV state across all 16 evaluations. Model choice came from benchmarking, not labels: a general 7B beat medical-tuned MedGemma 4B decisively.
PulseCam — Contactless Heart Rate
Measures heart rate from an ordinary webcam using remote photoplethysmography. Two engines: a fully explainable DSP baseline (forehead ROI → green channel → Butterworth bandpass → FFT peak) and PhysNet, a 0.77M-parameter 3D-CNN trained on UBFC-rPPG for robustness to motion and lighting. Runs locally on Apple Silicon MPS, CUDA, or CPU — the camera feed never leaves the machine.
Cloud to Edge Heart Rate Monitor
Dual-core safety-critical arrhythmia detector. A Raspberry Pi 5 streams MIT-BIH clinical data from Cloud Storage over a custom UART protocol to a Pi Pico, where Core 0 runs a hand-written C inference engine on a hybrid-quantized network (Int8 weights, float math) and Core 1 runs a watchdog that fires a hardware panic strobe if inference hangs past one second.
Evo 2 — BRCA1 Variant Effect Prediction
Zero-shot pathogenicity scoring for BRCA1 single-nucleotide variants using the Evo 2 genomic foundation model — delta log-likelihood between reference and variant sequence windows. Validated against the Findlay 2018 saturation mutagenesis set (~3,893 SNVs) and ClinVar. The centerpiece is the honesty layer: per-category performance, false-positive rates, calibration, and severity-dependent failure modes rather than a headline AUROC alone.
Embedded Multiplayer Racer
Won 'Best Embedded Design' in a class-wide competition. Bare-metal racing game in C with register-level drivers written from scratch — UART (interrupt-driven networking), SPI (ST7735 LCD), ADC (joystick), and DAC/Timer (audio, 30 Hz game loop). A custom UART protocol syncs player coordinates and item events between two boards in real time.
Scribend
Offline-first medical scribe for healthcare workers with no connectivity. Captures doctor-patient audio, converts it to text, retrieves historical patient context via local vector search, and structures the encounter into a JSON SOAP note — 100% on-device.
Ballotwise
Cross-platform voting guide that ranks the candidates on your real ballot by how well they match a 10-policy-area questionnaire. Google Civic Information API for elections and ballots, Claude for neutral candidate summaries and follow-up chat, styled like a paper optical-scan ballot.
Laser Speckle Analysis
Real-time laser speckle UI processing 16-bit optical streams from Basler cameras for tissue imaging during surgery. Localized contrast analysis over a 7×7 spatial sliding window, plus an Arduino feedback loop that evaluates microsecond exposures and adjusts laser current against a center-weighted 98% pixel saturation threshold.
ML Interpretability for Neurotech
Capsule network architecture for interpretability in brain-computer interface models, improving understanding of what neural signal classifiers actually key on.
MotorMind
EEG signal processing framework built on retrieval-augmented generation — acquisition, tokenization, vector storage, and inference over neural signal data.
ECG PCB
Custom electrocardiogram PCB designed in Autodesk Fusion 360. Analog signal chain with instrumentation amplifiers and active bandpass/notch filtering to reject 60 Hz noise and isolate cardiac signals, including component selection and BOM optimization for fabrication.