Uxtopian

Experiments

Building is cheap now. Judgment is the expensive part.

It's never been a better time to be a builder. Innovation, foundation, and production all happen simultaneously. Below you'll find some works inspired by intellectual curiosity, a kids' coach request and a friend's story of unemployment.

Multi-agent debate

The AI Symposium

What would Ray Kurzweil and Shoshana Zuboff make of your question? The Symposium is a room where AI versions of the field's sharpest thinkers actually disagree, and you can put a live question to them.

The hard part wasn't the models. It was writing personas sharp enough to disagree the way the real people would.

Fourteen thinkers, each a persona prompt. Haiku screens the question and picks the matchup, Sonnet argues the turns.

Enter the Symposium
The AI Symposium — the thinker constellation beside the panel that tunes how a thinker responds

Project confidence

Daylight

A room usually knows more than it says out loud. Daylight asks everyone the same three numbers privately before the work starts, then shows the team the spread. You see where the room actually disagrees on day one instead of month four, while it is still cheap to change course — and nobody had to be the one to say it.

In pre-launch now. 5 day project.

The five-answer floor is a Postgres view with security_invoker off, so no surface can show a spread early. The votes table has no primary key and no created_at.

Try it
Daylight — the front door: five people around a laptop under a low sun, beside the line "Nobody says no at a kickoff" and a Score a project button
AI Face-off — a live matchup with the crowd's vote split between two tools

Head-to-head voting

AI Face-off

Every day there is a new AI tool hitting the market and remarkable claims of quality and velocity. Face-off turns that into a game: two tools enter, you call the winner, the crowd builds a live scoreboard.

The judgment call: let the crowd be wrong. No expert override, just taste, recorded honestly.

Votes go from the browser straight to Supabase, no API route. If the database is unreachable the game still runs and the vote is dropped.

Play a round

Shared vocabulary

Zones

Designing with Claude pays a translation tax: I'm looking at pixels, it's reading a DOM. Zones gives every region of a page a short id and a one-line job, kept in one markdown table, so z3 means the same region in the table, in the stylesheet, and out loud.

It's open in every build session now. Most of the tuning since has been deciding what not to add.

Press Z on localhost. The ids paint onto the page.Dev-only, so there is no link.

The zones overlay running over the AI Stack feed — dashed regions labelled with short ids, z3 pinned open to read "the rail — narrow the feed without leaving it" and z4.c to read "the switch — the lived matchup, A to B", with the card's subzones z4.b through z4.f stacked down its left edge
Still Looking — the anonymized public record of what the job market costs people

Anonymous testimony

Still Looking

The job market's human cost never gets counted. Still Looking is an anonymous, collective record of what it takes from the people moving through it: a witness project, not a job board.

This was a good branding and design exercise for working with AI.

Submissions arrive through Resend and land in Supabase. I read every one before it shows.

See the record

Verifiable credibility

Ask this site

Everything about you gets measured except whether you are any good at your job. Ask turns the claims on this site into something checkable: click one, and it answers from a knowledge base of real work, then names the people who will vouch for it and offers to introduce you.

A model will always find a way to say yes. Getting it to admit a gap took the longest.

No embeddings. Twelve markdown files indexed by lens and company at build time, then handed to Sonnet. Who vouches is chosen by rule, not by the model.

Ask the homepage a question

Consumer app

AccountaBALL

Kids' sports apps reward showing up, not getting better. AccountaBALL logs real reps, challenges, and keeps the coach and athlete grounded by reps.

The voice feature and court reps are getting the most positive feedback.

Voice counting is the browser's own speech API, so it works with nothing installed. Reps save on the device first; Supabase syncs them when it's there.

Log some reps
AccountaBALL — the weekly dashboard: progress ring, today's workout, and skill tracking

Designing an AI product means holding the whole system at once: the model's behavior, the interface's promise, and the person on the other side deciding whether to trust it.

These experiments are where I work that out. The tech is the agentic tooling, but it keeps coming back to communication and constraints: how do you tell a system, AI or human, what to build, why, and for whom?

That's the design leadership I bring to every product I work on, and how I fold AI into a team's craft.