View

AI is going to change how we think and how we work. The busywork goes to the machine. People keep the judgment, and finally have room to use it.

AI systems

Web apps

Design

Brand

A bench above the sea, from the Unify film

Gloo AI Hackathon · Best of Agents Track

Unify

Self-building software for nonprofits. Our team won Best of Agents Track and $20,000.

See Unify

Work

Three projects

Only 267 of the 41,884 known near-Earth asteroids have had their makeup measured, and makeup is what decides what an asteroid is worth. The rest were guesses. The model predicts each one’s type from data we already have, which takes us from 267 classified to 838 and makes the list actually searchable. Value comes from size, mass and makeup. How hard each one is to reach comes from published numbers where they exist, and an estimate everywhere else.

267 MEASURED SPECTRAL TYPES+571 CLASSIFIED BY THE MODEL83841,884 OBJECTS

Each dot shows how it was classified

Classified
267 → 838
Catalogue
41,884 asteroids
Stack
Python · FastAPI · React

Each agent gets its own job and its own copy of the code, so several can work at once without stepping on each other, and you can always see who did what. When one needs a decision, it stops and tells you, and you pick up right where it left off. I started it as my own take on an open-source agent tool. Now I use it every day.

DISPATCHTAKE OVER →mergedworktree a1pausedworktree a2mergedworktree a3ONE RUN, ONE IDENTITY, ONE WORKTREE

Each agent works on its own. It asks instead of guessing

Agents
Own identity
Isolation
Own copy of the code
Stack
Tauri 2 · Rust · React

Medical and legal records keep their meaning in their structure: sections, defined terms, references to other pages. Cut them up by length and the AI gets pieces that don’t make sense on their own. So Lexx splits documents along their own sections and keeps each piece with what it refers to. Every answer comes back in a fixed format and points to the page it came from.

clause 4.2defined termexhibit bchunk 01clause, kept wholechunk 02term travels with itchunk 03exhibit keeps contextsummaryissues[]facts[]timeline[]missing[]✓ schema validated✓ page cited01 — THE RECORD02 — CHUNKED ON STRUCTURE03 — TYPED OUTPUT

It splits on sections, not word counts

Splitting
By section
Output
Fixed format, cites the page
Stack
Next.js · Claude API · TypeScript
Winners work as hard as possible and still worry that they are being lazy.
Lewis Caralla

Photos from my life. Eighteen of them, sorted by place.

Open the archive