portfolio

everything of mine that is public or online. back to the index.

online

adbank
the adbank front page: size, category, colour and language dropdowns, six sample 468x60 banners, and the generated line of embed HTML An archive of 1990s and 2000s web banner ads. A picker builds the one line of HTML that serves a random period-correct banner to your page, filtered by size, category, colour and language, and there is also a browse gallery, a JSON API and a provenance page for every banner. It exists because the banners are scattered across dead pages with no index you can actually pull from; ingest and image screening run on a Jetson, the NAS serves it.
originmarker
an originmarker panel: flanking coverage warnings, the chr11 locus track around rs334, and the ranked candidate marker table Give it a pathogenic variant and it returns a ranked menu of candidate flanking SNP markers for working out which parental allele an embryo inherited, which is the first layer of PGT-M linkage analysis. It queries ClinVar, Ensembl and gnomAD live and scores candidates against a bundled deCODE genetic map. Built to automate the mechanical half of panel design and hand off per-family phasing as lab work. Research use only.
live: originmarker.app and ezrakruger.cc/originmarker
silo
the silo front page: the SILO logo and curl commands for the manifest, an object and its thumbnail A read-only static object store holding all 20,350 Xbox 360 avatar marketplace items, mirrored from an archive.org dump. It serves a manifest of every item plus the package and a PNG thumbnail per item, with CORS open so a browser app can read it directly. The official marketplace is gone, so this is the copy; the items themselves only load on consoles that run unsigned code.
millrace
the millrace front page: a Cezanne landscape behind a white panel of purpose and contact lines A private file origin that hands installer images, disk images and build artifacts to my own machines. Apache with no index and no listing, plus a Host header rule that allows only the front page from the public side while LAN and Tailscale clients get everything, so bulk traffic never crosses the tunnel. Built to give my VM fleet somewhere local to pull ISOs from.
ezrakruger.cc
the ezrakruger.cc homepage: a photo, two lines of text, and the start of the Apache index of / This site. It is a real Apache mod_autoindex directory listing rather than a static site generator, so publishing is dropping an HTML file into a folder. It runs in a container on my NAS behind a Cloudflare tunnel, with no ports opened on the router.
scripts
the index of /scripts, one folder per script: anki-sync, autodream, deadline-alerts, diff-journal and the rest Homelab scripts collected off all my machines, one folder each with the script and a short writeup. They are generalized, so anything setup-specific is a variable at the top of the file. Put here so they live somewhere other than scattered across seven boxes.

github

i3psycho
i3psycho in use: three terminal windows floating in a cascade over the i3 bar A fork of the i3 window manager in which every window floats: cascade placement, titlebar buttons, drag-to-edge snapping with a live preview, minimize, an overview and hot corners. It is seven patches on upstream i3 and one small daemon, so an existing i3 config runs unmodified and upstream's test suite still passes. Written to get macOS-grade window behaviour without leaving i3.
mcpi-revive
A command line tool that converts Minecraft: Pi Edition worlds into modern Minecraft Java saves. It reads MCPI's chunks.dat, decodes the data nibble on each block for things like wool colour, stair facing and slab half, maps 70-odd block types to vanilla Java IDs, and writes 1.21-era Anvil chunks with the surroundings voided. Made so old Pi Edition worlds can be opened again without the dead client.
BTD6Unlocker_Deluxe
An account unlocker and profile editor for Bloons TD 6, driven from a menu inside the game's own settings page. It goes through the game's unlock, achievement and progression paths rather than editing a save file, so the rewards land the way the game expects. A heavily extended fork of Interesting-exe's btd6-unlocker.
EzrasRocks
A Flask web app that classifies photos of rocks with an ONNX model trained using the Jetson Inference toolkit. You pick an image in the browser, it returns the predicted rock type with a confidence score and logs it. Inference runs on an NVIDIA Jetson.
anki_latin_2026
A CSV of Latin vocabulary for import into Anki. One file, built for my 2026 Latin final.

last updated 08/13/26, e. kruger