Wearable AI · Self-Supervised Learning · Sensor Systems
PhD researcher, programmer, and occasional Android tinkerer.
raw signals → learned representations → human behaviour → health insights
Explore my repositories · Connect on GitHub
I work at the intersection of machine learning, wearable sensing, and systems engineering. My PhD research looks at how we can learn useful representations of human movement from raw wrist accelerometer data, then turn those representations into a better understanding of activity, behaviour, and health.
The question I keep coming back to is simple: what do we miss when we treat continuous human behaviour as a collection of isolated, fixed-length windows?
That question has taken me into self-supervised learning, causal sequence models, activity-bout detection, and long-context modelling. I care about the research, but also about the engineering needed to make the ideas reproducible, efficient, and useful beyond a single dataset.
- Learning from unlabelled movement data. Pretraining wearable time-series models with reconstruction, contrastive learning, and predictive objectives, including JEPA-style approaches.
- Going beyond window-level activity recognition. Studying activity bouts, transitions, temporal context, and day-level representations rather than treating every prediction independently.
- Sequence models for sensor data. Experimenting with RWKV, Mamba, and other efficient architectures for continuous accelerometry.
- Bringing sensing closer to the device. Exploring Wear OS, Android, and lower-level implementation work, with a growing interest in C++, Metal, and efficient ML kernels.
My research uses free-living accelerometer datasets such as NHANES, Capture-24, and PAAWS, alongside work on transfer to health cohorts.
| Repository | What's inside |
|---|---|
| IMU data visualisation | Experiments around inspecting and visualising inertial-sensor data. |
| Jetpack Compose apps | Small Android projects exploring declarative UI and app architecture. |
| Motorola device tree | AOSP / custom-ROM device configuration and platform work. |
| Mamba SSM on macOS | An open-source fork I'm exploring for state-space models on Apple Silicon. |
| Wearable SSL reference | A fork of the OxWearables implementation, useful for studying wearable representation learning. |
Some of my current research experiments live outside these public repositories.
Research & ML: Python · PyTorch · NumPy · Polars · self-supervised learning · time-series modelling
Engineering: C++ · Git · Linux · CUDA · Apple Silicon
Apps & platforms: Kotlin · Java · Android · Jetpack Compose · AOSP
I'm also learning more about Metal kernels, SwiftUI, and the details that make sensor software reliable on actual devices.
I like projects that cross boundaries: a model that learns from a sensor, a tool that helps inspect its failures, or a small app that makes the data tangible. If you're working on wearable ML, sequence modelling, or open-source systems, I'd be glad to exchange ideas.




