Portfolio · AI tooling & browser apps

I build tools thatput language modelsto real work.

A notebook where a model writes the code while you steer, agentic builders that write whole games and VR worlds, a studio that turns photos into rigged 3D assets, and benches that measure what models actually produce. Every project here is live — open one and try it with your own model.

Runs entirely in the browser Bring your own local or hosted model Open source, no account
12live projects on this site
220+apps in the private workbench they come from
0build steps — native ES modules, no bundler
0third-party CDN requests — every library is vendored

Selected work

Projects

Twelve projects from DevTools Hub, a workbench of 220+ browser apps I design, build and use daily. Each one below is the real app, running from this site.

Start here

The project I use most, for research and for teaching: a notebook where a model writes the cells and you steer.

Agentic builders

A model is handed tools and a budget, writes a multi-file project, and the app checks the result instead of trusting it.

LLM evaluation benches

One prompt, many models: generate, preview safely, compare and keep the evidence. Released together as the open-source LLM Test Bench.

HTML + JavaScript

Prompt Gallery

Run one prompt through different models, preview each generated page in a sandbox, compare variants, refine failures and record a walkthrough. 62 starter prompts.

Open Prompt Gallery
Creative coding

p5 Sketch Gallery

Generate instance-mode p5.js sketches, tune parameters and seeds, follow a sketch’s lineage, compare runs and capture video. 24 starter prompts.

Open p5 Sketch Gallery
Vector evaluation

SVG Generation Bench

Generate SVG submissions, compare them with reference images, inspect structure, score pixel similarity and batch-run a model over the whole catalogue. 63 starter prompts.

Open SVG bench

Developer tools & computer science

Tools for seeing how code actually behaves, with a model on hand to explain or assist.

Systems

C Machine Lab

Compile a subset of C to a teaching machine and step through it: source, assembly, registers, ALU flags, stack frames, heap and raw memory side by side. Traps double frees and use-after-free.

Open C Machine Lab
Algorithms

Algorithm Visualizer

Instruments a JavaScript or Python algorithm, records every variable change and replays it as an animated array, graph, tree or grid you can scrub forwards and back.

Open Algorithm Visualizer
Databases

SQL Playground

SQLite compiled to WebAssembly, with a schema viewer, ER diagram, query plans and an assistant that writes SQL against your actual schema.

Open SQL Playground
Compilers

AST Explorer & Refactor Lab

Parse JavaScript, TypeScript or Python, walk the syntax tree linked to the source, and apply model-driven refactors as a diff you review before accepting.

Open AST Explorer

Under the hood

How it’s built

The same conventions run through every app, which is what lets one person keep 220+ of them working.

No build step

Native ES modules with Preact and HTM through import maps. No bundler, no transpiler: the source you read is the code that runs.

Provider-agnostic models

One streaming layer over OpenRouter, LM Studio and other OpenAI-compatible servers, with local coding agents (Claude Code, Codex and others) exposed as ordinary model choices in the private hub.

Local-first storage

Work is saved to a folder you choose, through the File System Access API. Saves are append-only, so nothing a model generated is ever overwritten.

Verify, don’t trust

Generated code runs in sandboxed frames and is measured: rendered, screenshotted, re-read by the model, or entered into an emulated XR session.

Vendored, pinned dependencies

Every library is served from this site and recorded in a manifest. Engines copied into generated projects are checked against pinned hashes.

Zero-npm testing

Unit tests on node:test, plus recorded user-flow replay and visual-regression screenshots driven by a small Chrome DevTools Protocol client.

Trying the projects

Your data, your models

The site is hosted, but your work is not uploaded to it. In Chrome or Edge, choose a folder on your own computer and the apps read and write inside it with your permission.

  1. Choose a folderThe browser remembers it and asks before restoring access.
  2. Connect a modelYour local LM Studio or OpenAI-compatible server, or your own OpenRouter key.
  3. Open a projectPrompts go only to the provider you pick; outputs stay in your folder.

About

Peter Edwards

I am a software engineer with 20+ years of experience developing commercial software. My background is in C++, Java, C#, JavaScript, Fortran and VB6. More recently, I have been exploring how to use AI agents throughout the software development cycle and have built this site using Claude Code and Codex. I am currently looking for a new role in software development that will allow me to expand my software skills particularly working with AI tools. If that sounds like a good fit for your team, I'd be happy to talk.

I’m currently looking for my next role. If you’re hiring for AI application engineering, developer tooling or creative technology, I’d like to hear from you.