I build webcam gaze tools for cognitive screening research, and I run them in clinics to find out where they break.
Education
Research
Carried the EyeCI pipeline into field research in clinics and community events, evaluating 2,095 session-level runs. Built and ran the whole deployment loop: session protocol, data capture on clinic laptops, quality control, and analysis of where the model failed under real conditions.
Adapted the same browser-based system for ASD-focused research, funded by Xunfen Biotech. Built the collection platform full stack: the console research staff use to run standardised sessions, with authentication and roles, session records, capture quality tracking, and JSON or CSV export. It reports screening references only. It does not output diagnostic conclusions.
An exploratory machine learning pipeline producing cognitive screening scores from gaze traces over a fixed image set. Field sessions revealed head movement leaking into the predictions, an artifact absent from my solo testing, which redirected the work toward stricter motion controls.
Open source
Gaze tracking built on MediaPipe landmarks: camera access, multi-point calibration, smoothing, filtering, and a live gaze overlay. Ships as a Python library and a browser toolkit, and runs on an ordinary laptop. MIT licensed, 42 forks. An earlier version is posted as a preprint on arXiv.
A TUI Reddit client written in Rust, built for my own setup and now maintained for a much wider user base, with ongoing work on async fetching and caching.
Mistake.nvim, a Neovim autocorrect plugin carrying over 20,000 entries; obfuscate.nvim, which visually scrambles code so you can work in public; ObsidianLinker, a note linker for Obsidian; px, an immutable Python package and environment manager; and gnav, a GNOME workspace navigator.