The game at the end of the build.
A combat cut from ChampChase: combos, knockdowns and the count. The case study follows the work from the first systems to the beta.

I build custom AI systems, software and games — then publish what happened. The method, the failures, the receipts.
OPEN TO WORK · AI SYSTEMS + SOFTWARE SCROLLI wanted a boxing RPG. ChampChase is the game I wanted to exist: fights, a voiced campaign, and the six-terminal pipeline I built to make it happen.
● DOCUMENTED BUILDThe beginning of the whole thing. Six terminals, separate jobs, one coordinator. This is the system I built to turn an idea for ChampChase into a game I could actually make.
● LIVEA London fintech studio, rebuilt from a single page into a ten-page English and Spanish site with the information its payments underwriter needed.
● DELIVEREDAn ageing builder template became twelve hand-built pages for a Riga IT consultancy, with a clear identity and a site the client owns outright.
ARCHIVED PROJECTA freelancer workspace and hiring board: client projects, payments and separate tenant data, built into one working product.
ARCHIVED PROJECTFrom a name and visual identity to a complete marketing site. The public face of the product, with its own voice and a nine-page home on the web.
LEAVING ~/WORK
ed@develop-ed:~/work$ cd ../lab
enter ↵Directory changed. Noise floor: zero.
ed@develop-ed:~/lab$ ./bench --open
enter ↵RESEARCH NOTEBOOK / 001
One candidate qualification. Recorded 14 Sep 2026.
Task → output → check → cleanup. Keep the chain.
AI MODEL QUALIFICATION / 14 SEP 2026
A small, recorded qualification run: change one byte in a bound task packet, check that dispatch refuses it, restore the original and run the checks again.
A historical record, not a new rerun or a general model ranking. The archived receipt predates the current receipt format. Read the evidence summary ↗
TASK → RECEIPT → CHECK → CLEANUPTrace the result back to the run.02 / THE LAB
Four findings from actual build records. What was checked, what happened, and what the result does not establish.
Change one byte in an approved task packet. The altered job is refused; restore the original and it runs. Eight checks, with cleanup recorded.
Read the findingA job went out. The receiver restarted. The reply still came back, because the return token lived in a ledger instead of disappearing with the process.
Read the findingSerial and parallel runs reported the same totals. The first comparison still missed cases. Matching all 2,773 outcomes was the important part.
Read the findingThe uppercut sound had a 290 ms wind-up inside the file. Trimming it moved the impact to about 5 ms. The delay was in the asset.
Read the findingON THE BENCH
Recent runs, open questions, and one highly questionable prompting technique.
Years of AI research. Billions in training. Have we tried telling it not to fuck up?
PEER REVIEW: MY LAST NERVEI recently put both to work on reconnaissance. Which brings back material worth using, and how much checking does it leave me? The comparison is run; the write-up is next.
RUN COMPLETE / WRITE-UP TO FOLLOWSame task and acceptance checks: the main model alone vs the main model with workers. Count coordination, review and rework as part of the job, alongside quality, time and total cost.
PROPOSED / SOLO VS DELEGATEDLEAVING ~/LAB
ed@develop-ed:~/lab$ cd ../content
enter ↵The build is only half the story.
ed@develop-ed:~/content$ spawn --feed
enter ↵03 / CONTENT
The footage, the decisions, the damage. A place for the longer version.
A combat cut from ChampChase: combos, knockdowns and the count. The case study follows the work from the first systems to the beta.
The uppercut sample carried 290 ms before the impact. The audio review trimmed that lead-in to 5 ms. Small edit, very different punch.
Read the audio finding ↗The channels are here. Pick your usual corner of the internet.
I wanted ChampChase to exist. Six terminals became the process for turning that idea into code, art, audio and a playable game.
Read the case studyA Luna qualification run passed its eight checks and wrapper cleanup. That is one recorded outcome. A general quality or cost claim needs more evidence.
Open the Lab record ↗A bot check could silently discard a real enquiry after autofill, then show the success message. Finding that meant following the message past the nice green confirmation.
Read what broke ↗BEFORE THERE WAS A BUILD
Just ChampChase in my head and the question: how the hell do I make this happen? The six-terminal pipeline started there.
01 / START An idea.
02 / BUILD Six terminals. A process. A game taking shape.
03 / SHIP ChampChase reaches beta.

ONE DESK → A WHOLE GAMESHIPPED

05 / THE PERSON AT THE KEYBOARD
I'm Ed. I like finding an angle, unsticking a problem, and making something work better than it did yesterday.
That has turned into a game, software, websites, and a habit of keeping the record. Some ideas work. The interesting part is finding out why.
A little more about meOPEN TO WORK / REMOTE
I’m open to projects and collaborations in custom AI systems and software development. Based in Riga, working remotely.
Tell me what you’re building ↗Custom AI tools, connected systems, and checks that show whether they worked.
02 / SOFTWARE DEVELOPMENTWeb applications, internal tools, integrations and prototypes.
03 / PORTFOLIOGames, websites, software and the decisions behind them.