Skip to content
View ChristopherProject's full-sized avatar
😁
Belive in yourself, this is your power
😁
Belive in yourself, this is your power

Block or report ChristopherProject

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
ChristopherProject/README.md

header


About Me

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.


What I Work With

Core

Java, C, C++, Spring, Maven, MySQL

Systems & Tooling

Git, Linux, Python, Vim

Systems-level focus: JNA & native memory manipulation, bytecode analysis, reverse engineering.


Projects

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

Git History Knowledge Graph

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


GitHub Stats

stats top langs


footer

Pinned Loading

  1. Mem4J Mem4J Public

    Mem4J, a Java library dedicated to the safe and controlled manipulation of process memory. This project emerged from the need to enable Java developers to modify values directly in memory, an opera…

    Java 18 2

  2. Streamtape-Video-Downloader Streamtape-Video-Downloader Public

    this is simple snippets written in java or python to get direct download from streamtape links as string to use in your own application, hope this can help you

    24 3