Things I've built.
Projects
-
2024-2025
pp — Linux runtime analysis & debugging tool
A Linux process instrumentation and debugging tool in modern C++23. Using ptrace it attaches to a running process to read and write its memory, search and replace byte patterns, change region permissions, and inspect threads and registers, resolving functions by parsing the target's ELF symbol tables by hand. It disassembles with Capstone, injects shared libraries into a live process, and — the part I'm most pleased with — hooks a function by compiling source at runtime and writing an inline detour over the target's prologue. It was my bachelor's thesis, and the project I'd point to first.
-
2024-2025
ftv — hide an encrypted file inside a video
"File to video": a C++23 tool that hides an encrypted file inside an ordinary-looking video. It encrypts the data with AES-256-GCM through OpenSSL's EVP API — a random per-file IV and an authentication tag — then encodes the ciphertext into video frames with OpenCV to produce a playable file; decrypting reverses the process. A YouTube client rounds it out for using the platform as remote storage. My most cryptography-heavy project.
-
2023-2025
moOS — 32-bit x86 operating system
A 32-bit x86 operating system written from scratch in C and assembly. A custom bootloader hands off to a kernel that sets up a GDT with kernel and user segments and a TSS, an IDT and interrupt handling, physical and virtual memory (page-directory paging plus a heap allocator), an ATA disk driver with a streaming layer, a FAT16 filesystem with a path parser, and a VGA text terminal — on top of a small freestanding libc (string, stdio, stdlib, ctype) I wrote for it. Runs under QEMU; keyboard input and userland are still in progress.
-
2023
jet_fighter — Atari 2600 game in 6507 assembly
A playable Jet Fighter clone written entirely in 8-bit 6507 assembly, running within the Atari 2600's 128 bytes of RAM. Assembled with dasm and tested on the Stella emulator — an exercise in doing a lot with almost nothing.
-
2023-2024
web_crawler — multi-threaded web crawler
A multi-threaded web crawler with a WPF desktop interface. Up to ten concurrent workers crawl outward from a root URL — depth-first or breadth-first, chosen by swapping the frontier data structure — record every discovered URL in SQL Server, and export to CSV. A companion Python script renders the crawl as an interactive graph. An earlier project from my second bachelor year; I'd build parts of it differently now, and it lives here for breadth.
-
2022-2023
food_classification_website — food recognition from a photo
A web app that identifies a dish from a photo across the 101 categories of the Food-101 dataset, using an EfficientNet model fine-tuned in PyTorch and served through a Django site with image upload, prediction results, and a history of past predictions. Built with a friend during an Erasmus+ exchange at AGH Krakow — a good example of getting a trained model off the notebook and into something people can actually use.