Most of my work lives at the boundary between hardware and software — infotainment systems that have to behave predictably in a moving car, observability pipelines that tell you why something broke before a customer notices, and low-level tools written in Rust and C++ where a memory bug isn't an inconvenience, it's a recall.
I came into software through electronics, which is probably why I still care more about what a system does under load than what it looks like in a demo. Outside of work: Formula 1, and picking apart whichever protocol I don't understand yet.
A multi-threaded, real-time packet analyzer using raw sockets and a producer–consumer model with lock-free channels to decouple capture from rendering. An async sidecar thread handles background DNS resolution, keeping the TUI at a stable 60 FPS under heavy load.
A secure financial management system in C++ with robust transaction processing and persistent storage. A custom file-handling layer enforces ACID-like integrity with rigorous exception handling to prevent data corruption during banking operations.
A hospital administration platform in Java streamlining patient records and appointment scheduling, with a responsive Swing GUI over a persistent backend and strict input validation for high-availability healthcare workflows.
A low-latency terminal app in Rust that asynchronously fetches linguistic data from REST APIs with non-blocking requests, backed by a state management system for real-time logic and JSON parsing without stalls.
A high-efficiency CLI task orchestrator with atomic CRUD operations and persistent JSON storage, with a custom serialization layer for data integrity and a keyboard-driven interface — no heavy GUI overhead.
A C++ banking system with account creation, login, balance checks, deposits and withdrawals — using enums for account operations, file I/O for storage, and exception handling for robust errors.
A self-hosted streaming server running on a Raspberry Pi 5, serving music and movies to every device on the home network — no subscriptions, no external dependency, full control over storage and library.
A small networked display that sits in the room and shows what's actually playing, room temperature, and other live status the user can define — built to be glanceable, always-on, and independent of a phone screen.
Also built: a Java Swing Hospital Management System, a Python/OpenCV face recognition tool, and Formula-1 for Beginners, an F1 explainer site.