Running Assistax without a cluster
What it took to reproduce a JAX/MJX multi-agent assistive-robotics benchmark on a gaming laptop, and where that stopped being enough.
R&D Robotics engineer: soft wearables, embedded sensing, devices that ship
I build the parts of a medical robot that have to survive contact with a real patient, the actuation, the sensing, the firmware, and the quiet work of making a prototype into something a clinic can rely on. I was the first full-time engineer at Bioliberty, where that meant taking a soft robotic glove for stroke rehabilitation from bench to clinic.
In practice that has been the unglamorous middle of the stack: the firmware that drives the pneumatics, the self-test routines that let a clinician trust the device in front of a patient, the BLE layer, and the production software that turns one working prototype into units in boxes. I am a named co-inventor on the patent covering the pressure-sensing and safety behaviour underneath the product.
Outside work I build Project Carl - a plant-monitoring system spanning Zephyr firmware, a FastAPI backend and a SwiftUI app. It exists mostly so I have somewhere to make mistakes in public.
| Role | R&D Robotics Engineer, Bioliberty : Edinburgh · first engineer, since 2023 |
|---|---|
| Domain | Soft robotic rehabilitation wearables : upper limb, post-stroke |
| Patents | WO2025190946A1 : PCT · + GB2622317A |
| Deployment | FDA-registered devices : US clinical settings |
| Funded work | Innovate UK Biomedical Catalyst : £435k · ref. 10071274 |
| Firmware | Zephyr RTOS · nRF52 · ESP-IDF · BLE : C, Python |
| Education | MSc Robotics, Cranfield : Distinction, 2022 |
| Side build | Project Carl : firmware, cloud, iOS, open source |
| Reading now | Multi-agent RL for assistive robotics : Assistax, MJX |
The gap between a control policy that works in simulation and a device that works on a person. What a wearable can actually measure, what it can actually actuate, and how much of the assumed state simply is not observable outside a simulator. Three years of shipping hardware has made that gap concrete rather than abstract, and most of what I read and build outside work now points at it.
What it took to reproduce a JAX/MJX multi-agent assistive-robotics benchmark on a gaming laptop, and where that stopped being enough.