Index of case files

Cases

Six engineering case files. Each one: a real problem, the system that fixed it, and the numbers that prove it.

Case 001
PCB Manufacturing

PCB Pre-Production Tools

Before an assembly job can be quoted or run, customer BOMs must be cross-checked against pick-and-place files — mismatched designators, missing placements and format quirks are caught by eye, and they cause line stops when missed. Reviewing the Gerber data itself means switching between separate viewers with no link back to the BOM.

Open file
Case 002
UK Construction

Timber Frame Configurator

Designing even a small timber outbuilding to UK standards means juggling TRADA span tables, Approved Document U-value targets and permitted-development height limits across separate references, then producing cut lists and drawings by hand. Errors surface on site, where they are expensive.

Open file
Case 003
Developer Tooling

Terminal UI Platform

Terminal dashboards and ops tools normally mean a pile of TUI library dependencies, each with its own theming, input model and licence. There was no single C# platform for building retro-terminal tools that could also ship each tool as its own standalone binary.

Open file
Case 004
Trading Card Games

TCG Deck Engine

Deck builders use a different tool for every card game, and each game has different construction rules — deck sizes, copy limits, colour identity, leaders and bases. Nothing lets you physically lay cards out the way you would on a table.

Open file
Case 005
UI Components

Canvas Data Grid

DOM-rendered Blazor grids slow down as rows and features stack up, and the commercial alternatives (AG Grid, Syncfusion, Telerik) are licensed dependencies you don't control. Most teams accept the licence cost because building a serious grid is considered too expensive.

Open file
Case 006 Live
Worldbuilding Platforms

LoreBench

Large fictional settings outgrow wikis fast — locations, factions, timelines and stats drift out of sync because nothing links a city to its planet, its history and the people in it. Writers and GMs end up maintaining consistency by memory.

Open file
Case 007
Game Tooling

Dungeon Map Builder

Dungeon map tools output static 2D sprites — no geometry, no real light — so a GM who wants a torch to actually cast shadows has nothing between Dungeondraft and a full game engine. Lighting in existing VTTs is faked with 2D shadow polygons.

Open file
Case 008
IoT / Animal Welfare

Reptile Welfare Monitor

Reptile keepers rely on spot-checking dial thermometers; a failed heat source or drifting probe can go unnoticed for hours, and there is no long-term record to show a vet. Off-the-shelf systems assume one enclosure and put software in charge of heating.

Open file
Case 009
Game Companion Tools

ARK Breeding Planner

ARK breeders chase top-stat, custom-coloured creatures through dozens of pairings, juggling spreadsheets to track which parent carries which stat and mutation. The game itself never shows the wild/domestic level breakdown that breeding decisions depend on.

Open file
Case 010
Audio / DSP

Audio Analysis Toolkit

Music-reactive applications need dependable beat and energy data from arbitrary tracks, but full transcription of mixed polyphonic audio is beyond what FFT peak-picking can honestly deliver. Most hobby tools blur that line and ship unreliable note data.

Open file
Case 011
Collection Tracking

Living Pokédex Tracker

Completing a living dex means tracking caught, shiny and hidden-ability status for over 1,000 species — per save, per region — and spreadsheets collapse under that. Most trackers are single-user and re-fetch the same API data endlessly.

Open file
Case 012
Simulation / Play

Modular Toy Sandbox

Virtual-pet and sandbox toys are either scripted set-pieces or full game engines; there's little in between where a player just pushes blocks together and watches behaviour emerge. Hard-coding every pairwise interaction is what kills these projects.

Open file
An unhandled error has occurred. Reload 🗙

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.