I'm a Java developer with 11+ years of experience, mostly self-taught. I got into programming through Minecraft modding as a teenager, and that's shaped how I approach everything since: I'd rather understand what's happening under the hood than rely on a framework to hide it from me.
Over the years that's turned into a focus on JVM internals — memory management, class loading, bytecode — and on systems-level programming in Java and C/C++. I'm the kind of developer who'll spend a weekend reverse-engineering a binary protocol just to understand how it works, and I tend to gravitate toward direct, framework-light solutions over heavy abstractions.
Day to day, I work on enterprise Java/Spring systems — legacy codebase modernization, framework migrations, and integration with SQL Server-backed data layers. Outside of work, I build tools that scratch a specific technical itch: memory manipulation libraries, knowledge graphs built from git history, LLM-backed tooling running on self-hosted infrastructure.
Currently open to full-remote opportunities as a Senior Java Developer.
Core
Systems & Tooling
Systems-level focus: JNA & native memory manipulation, bytecode analysis, reverse engineering.
A Java library for safe, controlled process memory manipulation via JNA. Born from the need to modify values directly in memory from Java code — an operation that would normally require dropping out of the JVM and working at a low level in C/C++. Tackles the interaction between the JVM's memory model and the native process's address space, with an API that stays usable without exposing the underlying complexity.
Java JNA Memory Management
A Spring Boot 3 backend for a Telegram/WhatsApp-style messenger with an Instagram/Twitter-style feed layered on top. Built as a personal exercise in going deeper than the framework defaults: hand-rolled JWT auth with rotating refresh tokens and reuse detection, custom AES-CBC token envelopes, opt-in 2FA and QR passwordless login, and WebSocket signaling for WebRTC calls (offer/answer/ICE relay) written from scratch rather than pulled from a library.
Java Spring Boot 3 MongoDB WebSocket WebRTC
A collaborative port of Minecraft 1.8.9's rendering backend from the legacy LWJGL 2 to LWJGL 3, replacing the OpenGL context and windowing layer while keeping the game logic intact. Built with a collaborator, on top of prior work from the GTNewHorizons and MCLWJGL3 communities.
Java LWJGL 3 OpenGL
A tool that builds a queryable knowledge graph from a repository's git history — commits, authors, files, and branches as connected nodes — using a graph database and local embeddings for semantic search, with commit summaries generated by a locally-run LLM. Built to run fully offline, distributable to teammates without any cloud dependency.
Java Kùzu ONNX llama.cpp



