Jeremi Mroczko

Your turn.

You vs. my neural network
Loading
W / S · arrows · drag

It isn’t. The game runs on a CHIP-8 emulator I wrote in C. The opponent is a neural network I trained with my own C library.

Here’s how it works
The road1 / 5
01MLKit

A neural network library, from zero, in C.

Forward and backward pass, mini-batch SGD, activation and loss functions, no dependencies. The first version took two days and worked on flat 1D arrays. As a sanity check it reaches 97.6% on MNIST.

02Policy gradient

From classifying to acting.

A game agent is never told the right move. With REINFORCE the network outputs a softmax over actions, and the actions that led to a good return become more likely.

03CHIP-8

An emulator, and the tools around it.

4 KB of memory, 16 registers and a 64×32 display, written in C, with a compiler I created that compiles assembly to binary CHIP-8 opcodes and a browser editor. Pong runs on it as a ROM.

04Training

The agent learns inside the emulator.

The emulator steps the game, MLKit reads it and presses a key, and the outcome of the rally flows back as the training signal. One C program driving another.

05WebAssembly

Two workers, no server.

Both C codebases compile to WASM. The emulator lives in Worker A, inference in Worker B, pretrained weights load once, and the page thread only paints.

Selected work

01

CodEdu.pl

2025 — now

Programming lessons in Polish, with an in-browser editor and automatic solution checking. I built the architecture, backend and frontend, including sandboxed C++, Rust and Go through Docker-to-WASM builds. Silver Wolf winner, mentored by Allegro.

319
accounts
~4k
visitors a month
Next.jsTypeScriptMongoDBDockerWebAssembly
02

CHIP-8 Game Engine

2026 — now

A game-making environment for CHIP-8 in the browser. You write assembly; a compiler I wrote turns it into CHIP-8 opcodes, and a C emulator core running as WASM executes it with a live debug panel. It also powers the Pong game above.

CWebAssemblyTypeScriptNext.js
03

MLKit

Personal project

A neural-network library from scratch in C: backpropagation, mini-batch SGD, activations, losses and REINFORCE. 97.6% on MNIST. It is the brain of the Pong opponent above.

CNeural networks
Get in touch

mroczkojeremi@gmail.com

Backend / Full-stack
Internship or first role · remote