04 / games.skip()
Games
Small games built in Godot are in the works. Nothing playable yet: this section unlocks when there is.
Hello there, I'm
QA engineer. I break software for a living and build my own after hours.
01 / describe('me')
I work in quality assurance, so my day job is finding the ways software fails before its users do.
After hours I build the things I wish existed: offline-first tools for tabletop games, a workout tracker, and small utilities that do one job well. Sometimes a tool already exists but is locked behind a paywall, tied to one platform, or missing a feature I need, so I make my own. Every app here runs on a home server I look after myself, and the recent ones ship with their own unit and end-to-end tests.
02 / apps
BetaCampaign manager for tabletop RPG game masters. It runs in the browser and works offline.
TallyHo is a free, MIT-licensed campaign manager for game masters. Campaigns are built from pages and blocks: journal, wiki, quests, calendar, maps, encounters with dice, and a library of PDFs and markdown vaults. Data stays in the browser's IndexedDB. Signing in with Google optionally syncs it as JSON to the user's own Drive. It's an installable PWA with no backend.
LiveLoot and coin tracker for tabletop game masters.
One board per campaign shows what the party stash holds and what every character carries. A bookkeeper edits through a secret link and players follow along read-only, no accounts needed. Works offline on a phone.
LiveInteractive character sheets for tabletop RPGs.
D&D 5e (2014 and 2024), Nimble and Fatherfog sheets with padlocks against accidental edits. Works offline, syncs across devices, prints to PDF and shares read-only links with the GM.
LiveTurn any picture into printable paper miniatures.
Upload images, pick creature sizes, crop and remove the background with an AI model that runs on your own GPU. Out comes a print-ready PDF at exact millimetre scale. Images never leave your computer.
LiveRandom name generator for tabletop RPGs.
Fantasy, modern and cyberpunk names for eight ancestries and 16 real-world cultures, with correctly gendered surnames. Tap a name to copy it, star it to save it, and keep named lists for each campaign with a backup file. Installs as an app and works offline; no accounts or tracking, and nothing leaves your device.
BetaPrintable cipher riddles for tabletop RPGs. Works offline!
Type a secret message, pick a cipher and a setting (fantasy, modern or futuristic), and print a themed player handout plus a GM sheet with the solution and a five-step hint ladder. 19 ciphers, from Caesar and Morse to pigpen, runes and book ciphers, in English and Polish. Keeps a library of your riddles, exports PNGs for virtual tabletops.
Log workouts from your phone and beat last time.
Build plans, start a workout from a plan day, see what you lifted last time and get the next target suggested. Passwordless sign-in with an email code.
LivePrivate monthly budget.
Personal budget and balances. Runs in private mode, requires special permission to access.
LiveCut the background out of any image.
Upload a picture, pick fast or high quality, download a transparent PNG. Every upload gets a private folder and is deleted after 24 hours. Runs in private mode, requires special permission to access.
03 / tools
Alarm Clock (up)
A simple alarm clock in your browser.
Temperature Converter (up)
Celsius, Fahrenheit and Kelvin.
QR Code Generator (up)
QR codes for text and links.
Distance Converter (up)
Distance units, TTRPG ones included.
Dice Roller (up)
Roll virtual dice, old-school.
Color Converter (up)
HEX, RGB and Tailwind.
Image to .ICO (up)
Turn PNG, JPG or WebP into .ico files.
04 / games.skip()
Small games built in Godot are in the works. Nothing playable yet: this section unlocks when there is.
05 / testing.skip()
How I approach quality: test pyramids, cross-browser end-to-end runs, offline and sync chaos, layout checks at every screen size. The write-up is coming soon.