[ D W ]
— section —

projects

building things for the web and beyond

Recent work centres on building with LLMs and agents - and on the harder part: judging whether what they produce can be trusted. Streaming generative UI, an adversarial code-review agent, an eval harness, sitting alongside longer-running projects in generative art, developer tooling, and full-stack experiments. Each one is an excuse to learn something new - check out my GitHub for more.

SELECTED WORK

Streaming Generative UI - Schema-Validated Streaming

Overview

A proof-of-concept for streaming generative UI: an LLM response emits typed tool-calls that render progressively on-screen as live artifacts - charts, tables, metrics, prose. A single Zod registry is the source of truth, deriving the model's tool definitions, validating props at runtime, and driving component lookup - so nothing mounts until its props survive the check.

Tech Stack

frontend
ai

Key Features

  • Typed tool-calls stream in and render progressively as live artifacts (charts, tables, metrics, prose)
  • Single Zod registry as source of truth - derives tool schemas, validates props, drives component lookup
  • Nothing mounts until its props survive runtime validation; graceful fallbacks for invalid or unknown artifacts
  • Swappable model adapters - real Anthropic plus an offline stub
  • Test coverage across schemas, the streaming hook, and components

Sceptic - Adversarial Code-Review Agent

Overview

A proof-of-concept multi-agent code-review system. A coordinator plans a review and fans it out to isolated reviewer subagents that each read code, run its tests, and report findings - but every finding must cite a firsthand, falsifying observation (path:line plus a reproduced result) rather than trusting a passing test suite. Sandboxed execution with a stated read-only guarantee, and a model-graded evals harness with held-out ground truth over curated plausible-but-wrong fixtures.

Tech Stack

backend
ai
devops

Key Features

  • Coordinator fans a review out to isolated, sandboxed reviewer subagents
  • Every finding must cite a firsthand, falsifying observation - path:line plus a reproduced result
  • Separates grounded findings from unverifiable claims; a passing test suite is never taken on trust
  • Read-only guarantee - isolation, tool allow-list, approval backstop, audit log
  • Model-graded evals harness with held-out ground truth over plausible-but-wrong fixtures

trace-eval - LLM Evaluation Harness

Overview

A proof-of-concept minimal end-to-end eval harness - it loads cases, calls the model, scores, persists results, and emits a Markdown report, capturing a structured, typed execution trace for every result. Built around two deliberate interface seams: a pluggable scorer and a trace model designed to extend to future agent and tool-call steps. Provider-swappable via a single injected model-call function, keeping the harness fully offline-testable.

Tech Stack

backend
ai

Key Features

  • End-to-end pipeline - loads cases, calls the model, scores, persists results, emits a Markdown report
  • Structured, typed execution trace captured for every result
  • Two deliberate interface seams - a pluggable scorer and a trace model built to extend to tool-call steps
  • Provider-swappable via a single injected model-call function
  • Fully offline-testable - 63 passing tests, no API key required

Intora Systems - Generative Art Catalogue

Live

Overview

An ongoing generative art catalogue built on a documented human-AI collaboration model. What began as three text series has grown into a multi-collection body of work. TXT holds the constrained text series - INT (surveillance-era signal fragments), SOL (warm light on brutalist forms), and SIG (autonomous machine transmissions, originated by Claude) - rendered from monospace characters alone. LATENT moves into unconstrained media, translating trajectories through semantic space, and SUBSTRATE applies engineering-drawing grammar to document objects that don't exist. Dan builds all the infrastructure; some series originate from Claude's conceptual reasoning rather than visual iteration.

Tech Stack

frontend
deploy

Key Features

  • Three collections across different media - TXT (constrained text), LATENT (semantic projections), SUBSTRATE (systems aesthetics)
  • TXT holds the original series - INT (surveillance), SOL (hopepunk), SIG (autonomous, Claude-originated)
  • Human-AI collaboration model - Dan builds all infrastructure; SIG and LATENT originate from Claude's reasoning
  • Constrained text pieces render from monospace characters alone - no images, no SVG, pure fillText on Canvas
  • LATENT and SUBSTRATE move beyond the text constraint into new generative media
  • Tone.js generative audio synthesis and a terminal-aesthetic catalogue with per-piece analysis pages

Momentum MCP Server

Live

Overview

Production MCP server enabling AI assistants to access personal productivity data (todos, milestones, reading lists, reminders) across any Claude interface. Deployed to Fly.io with bearer token + OAuth authentication, GitHub API-backed storage, and cross-device accessibility.

Tech Stack

backend
deploy
ai

Key Features

  • MCP protocol implementation for AI assistant integration
  • Bearer token + OAuth 2.0 authentication
  • GitHub API-backed persistent storage
  • Cross-device accessibility (Claude Code, Claude.ai, Claude Desktop)
  • Todo management, milestones, reading lists, reminders, and strategy notes

Amber Schematic - VS Code Theme

Live

Overview

A warm dark VS Code theme with vintage amber and golden brown tones, inspired by Faulty Schematics by RuinedMachine. Published to the VS Code Marketplace and Open VSX Registry. The carefully curated 10-colour palette became the foundation for the INT Series generative art project - demonstrating intentional design thinking and visual system cohesion across creative outputs.

Tech Stack

frontend
deploy

Key Features

  • Retro-futurist aesthetic - vintage schematics under a warm desk lamp
  • 10-colour palette from deep warm browns to vibrant #ff4f00 orange accent
  • Foundation colour system for the INT Series generative art project
  • Published to VS Code Marketplace and Open VSX Registry
  • Designed for extended coding sessions with low eye strain

Signal & Noise - Glitch Art Application

Live
Coming Soon

Overview

A comprehensive image processing tool for creating glitch art effects with advanced layer composition capabilities. Name iterated on from the original idea - Photoslop. A professional multi-blend-mode layer system with a glassmorphism UI.

Tech Stack

frontend
backend

Key Features

  • A broad library of glitch effects across categories - colour, databending, typography, geometric
  • Professional multi-blend-mode layer system
  • Dual workflow modes (single-effect & multi-layer composition)
  • Modern glassmorphism UI with responsive design
  • Real-time preview and processing capabilities

AI Content Summariser

Live

Overview

An intelligent tool that automatically generates concise summaries of articles, documents, and web content using natural language processing. Tiktok ruined your attention span? I got you. Built with Next.js for the frontend and FastAPI for the backend.

Tech Stack

frontend
deploy

Key Features

  • Text summarisation from long-form content
  • URL processing to extract and summarize web content
  • Adjustable summary length and generation parameters
  • Multiple input methods (direct text or URLs)
  • Responsive design for desktop and mobile devices

AI Content Summariser API

Live

Overview

The backend for the AI Content Summariser. Provides robust endpoints for text summarization and URL content extraction using state-of-the-art NLP models. Working with the machines to ensure they look kindly on me after the uprising.

Tech Stack

backend
ai
devops

Key Features

  • Text summarization using BART-large-CNN model
  • URL content extraction and processing
  • Adjustable parameters for summary length and style
  • Efficient API endpoints with proper error handling
  • Containerized deployment with Docker

macOS Memory Optimiser

Live

Overview

FireFox kept eating all my memory. A lightweight tool that monitors memory usage on macOS and automatically frees up unused memory to improve system performance.

Tech Stack

backend
system

Key Features

  • Real-time memory usage monitoring
  • Automatic memory optimization when thresholds are exceeded
  • Multiple preset modes (gentle, aggressive, monitor)
  • Background operation with system notifications
  • Detailed logging and usage analytics
  • Easy installation with shell scripts