ExperimentsCreative CodingInteractive Prototypes

Lab

Small builds, interactive experiments, and prototypes that help me work through ideas in public. Some are playful. Some are pointed. The common thread is making the idea tangible.

Featured project

Micro-Museum of Broken Interfaces

Interactive UX Critique · 2026

An interactive portfolio piece that turns UX critique into something you can actually feel. Instead of writing about bad interface patterns, it lets you use them, experience why they fail, and compare them directly to redesigns that fix the underlying problem.

The museum covers 15 infamous interface failures drawn from real products, FTC complaints, and dark patterns research. Each exhibit follows the same structure: experience the broken version, read the principle-level analysis, then see a better version side by side. The point is simple: critique is cheap, redesign is not.

15 exhibitsbroken pattern → analysis → fixstandalone project
Open the Micro-Museumnomadjames.com/micro-museum
Featured artwork

my horizons

Interactive Artwork · 2026

A preserved creative-coding composition translated into six animated color worlds: the original plus five Warhol-style variations. It keeps the geometry and tension of the first piece, then lets color do the emotional remixing.

The page behaves like one artwork instead of six disconnected sketches. Hover over any horizon to wake it up, move the mouse to bend the atmosphere, and click to pull a single variation into focus before dropping back into the full field.

original + five variationshover and click responsivestandalone project
Open my horizonsnomadjames.com/my-horizons

Live Systems

Live System Metrics

Clarence Pulse

Public-safe system pulse showing live knowledge metrics, system health, and architecture signals from Clarence.

Algorithmic Sol LeWitt

Inspired by Sol LeWitt's instruction-based wall drawings: rotating nested squares over a field of random geometry. Clickable: click to pause or resume, and move the mouse vertically to change the speed.

p5.js · 2025clickable · click to pause/resume · mouse Y = speed

Morphing Kaleidoscopic Grid

Moving rectangles bounce around the canvas and every 5 seconds deposit a nested copy of themselves onto a persistent layer. Clickable: click to pause or resume the accumulation.

p5.js · 2025clickable · click to pause/resume

Nested Grid Echoes

A drifting grid where each cell slowly accumulates recursive color blocks over time. Motion stays temporary. The nested geometry persists. Not clickable: this one just evolves on its own.

p5.js · 2025not clickable · watch it evolve every 5 seconds

Chromatic Crossfield

A field of moving diagonal crosses with noise-driven stroke weights and a jittering square overlay. Loud, geometric, and unstable in a good way. Clickable: click to pause or resume.

p5.js · 2025clickable · click to pause/resume

Spectrum Cross Drift

One hundred full-frame diagonal crosses drift horizontally and vertically while Perlin noise thickens and thins each stroke. It feels like a CRT test pattern learning how to breathe. Clickable: click to pause or resume.

p5.js · 2025clickable · click to pause/resume

Virtual Wallpaper Redux

A speaker-like wallpaper grid of ellipses and nested rectangles under a command-heavy mantra. Clickable: click to randomize the color and cell scale, and press-hold to trigger the rotating rectangle behavior.

p5.js · 2025clickable · click to recolor/rescale · press-hold to rotate inner forms

Crimson Noise Dots

A simple but effective hypnotic field: translucent red-pink dots bloom across a black canvas until it feels like afterimages burned into your eyes. Clickable: click to clear the canvas.

p5.js · 2025clickable · click to clear the canvas

Stochastic Shape Storm

A slow-cycling blast of ellipses, rectangles, and triangles over a constantly mutating background. Less composition, more sudden visual weather. Clickable: click to force a fresh random frame.

p5.js · 2025clickable · click to force a new frame

Algorithmic Storytelling

A political satire game about navigating a surveillance state. Sprite-based characters move through procedurally generated environments with sound. Three iterations: from prototype to full narrative arc.

p5.js · 2025arrow keys to move · spacebar to interact