Skip to content

Selected work

Products with inspectable decisions

Independent tools and products spanning AI services, frontend systems, interaction design, accessibility, and data visualisation. Each case study separates the problem, the decision, and the evidence available today.

Current work

MockPit documentation showing its runtime provenance model and development tools
tool2026–presentActive

MockPit

Runtime provenance devtools that show whether interface data is live, mocked, derived, hardcoded, or AI-generated before a prototype is treated as production-ready.

Decision
Keep provenance in a framework-neutral TypeScript core, then expose it through React, MSW, custom-element devtools, and a Playwright-aware CLI.
Evidence
Six public npm packages, an MIT-licensed repository, runnable documentation, redaction controls, and automated tests.
TypeScriptReactMSWPlaywrightEffect
Rewriter reading workspace with adapted text and narration controls
product2025–presentActive

Rewriter

An AI-assisted reading workspace that rewrites literature for a chosen reading level and adds natural text-to-speech without losing the flow of the original story.

Decision
Make reading level, source text, and narration part of one calm workflow instead of presenting model controls or exposing a chatbot interface.
Evidence
A working responsive product with text transformation, speech playback, persistent reading context, and recoverable generation states.
LLMsText-to-speechReactProduct design

Earlier work

Foundations that still hold up

OpenFGC dashboard comparing fighting-game audience and player statistics
product2020–2021Maintained

OpenFGC

A fighting-game analytics product that unified fragmented Steam, Twitch, event, and player data into interfaces for event planning and sponsor conversations.

Decision
Separate fast, presentation-ready summaries from deeper player and event analysis so one dataset could support different decision speeds.
Evidence
A restored working product, an end-to-end data pipeline, and interface artifacts covering summaries, profiles, breakdowns, and replay analysis.
ReactNext.jsPrismaData visualisation