

Keras on PyTorch: compiled generation 11.6x faster
Traced why Keras on PyTorch ran about 9x slower than plain PyTorch, and merged the fixes upstream, one root cause each.
The model you need rarely fits where it has to run, and the number you are shown is rarely the one that decides. I work on both: vision and sensing on phones, large models on one GPU, and automated trading after costs and tax.
What I work on
Big models made to fit and run fast on phones, NPUs and one GPU, and the frameworks that ship them.
Seeing on the device: damaged barcodes, faces, attention, documents.
Reading motion and touch: falls, crashes, and who is holding the phone.
An independent research lab, and the tools built along the way.
Selected work
Each card opens the full story: the problem, what I did, the result, and where the number comes from.


Traced why Keras on PyTorch ran about 9x slower than plain PyTorch, and merged the fixes upstream, one root cause each.
Read 90%+ of damaged barcodes correctly on its damaged test set, where a commercial scanning SDK read 70%, with models trained on 10M+ synthetic images.
Replaced a deep-learning drop detector of millions of parameters with sensor features and a model of under 22, saving over 95% of the power.
Automated trading on Indian stocks, where a strategy counts only if it beats an index fund after real costs and tax.
Served a 181 GiB mixture-of-experts LLM from one 96 GiB GPU and took decoding from 10.8 to 15.0 tokens/s shipped, 16.5 at peak.
A multi-face recognition engine at 99.2% accuracy and 30+ FPS on edge devices, with face search cut from 1,200 ms to 87 ms.
Told which hand holds a phone, right 90%+ of the time over 30+ seconds, and who holds it, without deep learning.
Built the LiteRT export path in Keras and KerasHub: a trained model to a phone-ready file in one call, on TensorFlow and PyTorch.
Demos lab
Rebuilt from scratch with public techniques. Each page shows how it works today; live versions are on the way.
Point a camera at a scuffed barcode, or upload a photo, and watch it get found, cleaned up and read, or refused when the damage is too much.
Tap and swipe a few times on your phone and the page guesses which hand holds it: the first signal in telling users apart by behaviour.
Live face landmarks with attention and expression signals from your camera.
Open source
Most of the work is in Keras and KerasHub; the rest is fixes across the Python and ML tooling people use every day.
Writing
Hashnode
DEV
DEV
DEV
Notes
GitHub
rlalphalabs.com
GitHub
rlalphalabs.com
Contact
I am glad to talk about roles, collaborations and hard problems where a model has to fit.