I am a Systems Engineer with a focus on embedded development and hardware emulation tooling. Currently, I operate at the intersection of hardware and software, developing an emulation framework in C and C#. My work involves deep, low-level execution analysis and debugging bare-metal applications and RTOS environments.
I have a strong interest in instruction set architectures and systems-level development. Outside of my professional role, my language of choice is Rust. I use it heavily to build custom CLI and GUI (egui) utilities for my own workflows, and I have made open-source contributions to terminal projects like Zellij and Lazygit. My most comprehensive personal project to date is a fully functional RISC-V emulator built from scratch in Rust.
A fully functional RISC-V emulator built from scratch in Rust, capable of executing complex userspace applications and booting full operating systems like xv6. It supports both 32-bit and 64-bit architectures, featuring a simulated MMU with virtual address translation and paging, alongside full ELF parsing and memory mapping.
The engine implements the RV32/64-IMFDA instruction sets, privileged architecture, and system call handling. It operates in two primary modes: a userspace mode with host syscall passthrough, and a bare-metal execution mode that simulates hardware peripherals including UART, PLIC, and VIRTIO. Backed by automated Coremark benchmarks and a comprehensive test suite, the emulator is performant enough to run a custom port of DOOM at ~45 FPS via a simulated framebuffer.
Project page
An end-to-end encrypted (E2EE) file-sharing utility designed for secure data transfer between devices. Files are routed through a remote remote server but arrive already encrypted, utilizing zero-knowledge, client-side AES-256-GCM encryption and decryption.
The project supports 2 clients: an optimized, native Rust CLI for terminal access, and a WASM-backed webpage for easy access from the desktop.
Project page
Shader-based visualization of the Lorenz, Clifford and Dream attractors, app draws paths taken by thousands or millions of particles and is capable of animating the function variables and post-processing.
Project page
Compute Shader based real-time path tracing renderer with support for loading meshes and textures, physics-based ray tracing with refractions and reflections. Program allows real-time rendering with mouse and keyboard movement and averaged, more accurate rendering when camera is still.
Project pageA command-line media management utility designed to streamline photography and video workflows. It scans directories to filter media based on specific EXIF metadata criteria such as star ratings or labels and performs batch operations like copy, move, delete and more.
Project page
Nearby-share server capable of receiving files sent over local network.
Project page
WS2812b LED controller based made for ESP32 microcontroller. Uses the I2S interface with custom data packets for sending data to the addressable LEDs. Accepts HTTPS requests and serves a small website from it's filesystem, the website allows for changing the LED animation, color and other parameters. Also exposes an endpoint which allows for streaming the color data and has 3 capacitive touch inputs.
Source code soon
Interactive display based on 8x8 LED grid panel.
Project page
Weather station based on ESP8266 and DHT sensor with local data logging, HTTP server, NTP time and WakeOnLan functionality
Project page
Atmega328P-based energy efficient sd card logger for a bike. Measures wheel revolutions using a hall effect (magnetic) sensor. Uses interrupts and deep-sleep to save battery.
Project page
Functional thermometer with a 4 digit 7 segment display allowing for displaying a wide range of temperatures. Thermometer has a probe on a long cable allowing it to be put inside harsh conditions without risking the device itself. Also contains a battery with a charging circuit and a switch. The case is designed and 3D Printed by me.
Project page
Interactive data visualization tool for Facebook Messages.
Project page
I'm personally hosting and managing this website, together with over 20 other personal services and virtual machines for my customers.
Shader-based visualization of the hydrogen quantum wave function, capable of rendering an image showing the probability cloud of an electron at different energy levels.
Project page