Work
Building Software for Lab Robots
On writing instrument drivers, backend glue, and what it means to build software for the physical world.
Automata · London
The Gap Between a Working Model and a Reliable Service
What I learned serving PyTorch models in production and why the engineering around the model matters as much as the model itself.
Sprout AI · London
Three Years on Search at Cafe Bazaar
From writing Elasticsearch queries to leading a microservices migration — what I built and what I learned along the way.
Cafe Bazaar · Tehran
Building a 3D Reconstruction Engine from Scratch
How we built a photogrammetry pipeline and a custom WebGL shader engine for in-browser 3D rendering, and what happened next.
To3D.net → To3D.ca
A Startup Built on Borrowed Time
Building a distributed computing grid on top of idle university machines — and learning what "economically viable" actually means.
QGrid · Qazvin
Five Years in a Robotics Lab
How a university lab shaped the way I think about engineering — and why constraints are often the most useful thing you can have.
NAO Biped Lab (MRL) · Qazvin
Projects & Research
Gesture Recognition with Spiking Neural Networks
My master's research on biologically-inspired neural networks with event-based cameras — and what I found out about math along the way.
Shahid Beheshti University · arXiv:1911.03630
Building a Rescue Robot in a Week
What happens when you put a group of engineers in a room for a week and tell them to build something autonomous. We won.
ETH Zürich Robotic Summer School · 1st Prize
A Self-Driving Car in a Weekend
Training a ResNet to steer an RC car during a hackathon — a weekend project that turned out to be more instructive than expected.
Cafe Bazaar Hackathon
Breaking the Monolith at CafeBazaar
How we split a Django monolith into microservices, redesigned the caching layer, and shipped it without taking the system down.
Cafe Bazaar · Tehran
Fast Soccer Ball Detection with Deep Learning
Replacing a fragile color-threshold approach with CNNs — making object detection on NAO robots robust to lighting variation.
Qazvin Azad University
Camera and Gyro Displacement Calibration
A Gauss-Newton calibration tool that corrected sensor displacements on NAO robots, improving world model and self-localization accuracy.
NAO Biped Lab (MRL) · Qazvin
Building a Wallet on Polymesh
Exploring a permissioned blockchain designed for regulated securities — and what makes it different from general-purpose chains.
Hobby Project