Open source

What I've put on GitHub, from the newest experiment to code I wrote before my first job. Most of it I built to learn something, not to sell it.

What I'm working on

The next thing I'm building, and the last thing I shipped.
2026In progress
An AI testing framework (working title)
With AI agents writing more of the code, the test suite is often the only thing anyone really checks, and agents have been caught weakening tests or hardcoding outputs to make them pass. This will be an open source GitHub Action that checks your tests still test what they claim to.The first check runs on every pull request. When a test file changes, it compares the assertions before and after and flags anything that got weaker, like a removed assertion, toBe softened to toBeTruthy, or a mock that swallows the thing under test.It uses an AST diff first and an LLM only for the cases that are really ambiguous, and it warns instead of blocking, because flaky CI checks get turned off within a week.A second module is planned for code that a refactor replaced but never deleted, flagged at merge time while the author still has the context.StatusIt's not public yet. If you'd like to try it when it's out, send me an email.
tests/cart.spec.ts pull request diff

@@ it('calculates the cart total') @@

  const total = cart.total()

- expect(total).toBe(129.99)

+ expect(total).toBeTruthy()

Assertion weakened: an exact value became a truthiness check. This test now passes for any non-zero total.

An illustration of the first check, not real output yet.
2026100+ stars on GitHubRust
dolby-atmos-encoder
A proof-of-concept encoder that turns Dolby Atmos master files (DAMF) into E-AC-3 with Joint Object Coding, the Dolby Digital Plus version of Atmos, for hardware that can't play TrueHD Atmos. It started as an experiment with AI-assisted coding and ended up as a near-complete encoder pipeline.It parses the Atmos master files and renders the objects down to a 5.1 bed with VBAP.It encodes the object metadata (OAMD) and the Joint Object Coding matrices, and wraps them in EMDF containers.It injects the Atmos metadata frame by frame into an E-AC-3 core that ffmpeg encodes.Where it stopsThe README says this too. ffmpeg and Cavern read the output as valid Atmos with the right object positions, but Dolby-certified hardware won't switch into Atmos, because the stream needs an authentication code that only Dolby's licensed encoder can produce. So it's for interoperability research and personal use.
  1. 01DAMF
  2. 025.1 downmix
  3. 03OAMD + JOC
  4. 04EMDF
  5. 05E-AC-3 Atmos

The learning years

Before my first job I wrote code to learn things, and to play games. They stay up as history.

2011 to 2015

Minecraft mods, in Java

I ran a Minecraft server for about 3 years, first vanilla and later modded, and managed its community of players. Around 2014 and 2015 I learned Java so I could write mods myself.

GeoActivity
My own Forge mod, with three new coal types, modular tools you upgrade with perks like Fortune and Auto-Smelt, a chemistry system with 19 elements and a multiblock furnace.
Java
Steamcraft2
A steampunk mod for Minecraft 1.7.10 that I worked on with a small team of 2 coders and 2 artists. This is my fork of the team's repository.
Java

2014 to 2015

Academy+PLUS, before university

In my last year of high school I learned C and algorithms at Academy+PLUS, which is how I got my internship at Pitech+Plus.

RayTracer
A ray tracer with scene files, vector math, object intersections and color processing.
C++
EvalExpr
A small expression calculator written in C.
C

The rest of the story is on the about page.