I'm a Computer Systems Engineering student from New Zealand interested in low-level software, embedded systems, and compiler tooling.
I primarily work in C and enjoy exploring systems programming, where software interacts with hardware and operating systems. My current projects include USB development with TinyUSB, compiler extensions using GCC plugins, and building developer tools such as CLT, a lightweight C testing framework.
- Embedded systems
- USB protocols
- Linux kernel development
- Compiler tooling
- Operating systems
- C programming
- Arch Linux
- Vim
- GCC toolchains
- Git
- GDB
C has been my primary language since 2018. I enjoy its simplicity, explicitness, and control over how software is structured and executed.
I enjoy exploring software design patterns in C while maintaining explicit control over memory layout, resource management, and program structure.
- Participating in open-source projects, including Linux kernel development and learning upstream contribution workflows.
- Extending TinyUSB with USB Hub support.
- Improving CLT functionality, including compiler compatibility and additional assertion support
-
- Implementing USB Hub functionality in TinyUSB, including descriptors and downstream port enumeration following the USB 2.0 specification
-
CLT - C Lightweight Testing Framework
- A modular C testing framework that keeps unit tests alongside production code while excluding them from release builds
-
- GCC plugin implementing experimental inheritance-style extensions for C structure types
I occasionally write about programming, C, and systems development on Dev.To


