AI Engineer โข Former Particle Physicist โ๏ธ โข Former Risk Modeler ๐
I've spent my whole career looking inside systems that would rather stay opaque โ first particle collisions, then risk models, now neural networks.
The models talk to us all day. I want to be able to affect them back.
Why I'm really doing this โ the manifesto
My personal site is a chat with a tiny LLM running entirely in your browser, and every answer it generates renders as a real particle collision. Click the event below to fire your own question into the chamber:
The stack that makes a model legible in production โ from watching, to diagnosing, to fixing. Watch it think (brainscope) โ diagnose why it did that (causal replay + the lens) โ fix it at the source with a calibrated steering vector, receipts attached (hidden-directions โ hotwire-vllm). Observability first; intervention last, once the instruments have earned it.
Tip
Don't read โ just do it. The core of the lab is on PyPI:
pip install hidden-directions brainscope hotwire-vllm
โ the vector factory, the live lens server, the production vLLM plugin. CPU is fine:
brainscope --model tinyโ a browser view of a model thinking- point your own OpenAI client at brainscope โ watch your app's live traffic
No account, no course โ install and look.
Click any box to open its repo.
flowchart TD
hd["๐งญ <b>hidden-directions</b><br/>behavior โ vector"]
bs(["๐ง <b>brainscope</b><br/>watch a model think<br/>(on your running app)"])
st["๐น๏ธ <b>steeropathy</b><br/>agents talking through activations"]
tm["โ๏ธ <b>in-two-minds</b><br/>agent hesitating between tools"]
hw["๐ฅ <b>hotwire-vllm</b><br/>steering in production vLLM"]
sm["๐งช <b>steering-mechanics</b><br/>how steering actually works"]
on["๐ฐ <b>old-news</b><br/>stale history outranking<br/>your system prompt"]
hd -->|"vectors"| bs
bs -->|"hosts & captures"| st
bs -->|"hosts & captures"| tm
st -.->|"steers with"| hd
hd -->|"vector + passport"| hw
bs <-.->|"same spec: lab โ prod"| hw
bs -->|"causal replay"| sm
hw -.->|"vector under study"| sm
bs -->|"hosts & captures"| on
click hd "https://github.com/moudrkat/hidden-directions"
click bs "https://github.com/moudrkat/brainscope"
click st "https://github.com/moudrkat/steeropathy"
click tm "https://github.com/moudrkat/in-two-minds"
click hw "https://github.com/moudrkat/hotwire-vllm"
click sm "https://github.com/moudrkat/steering-mechanics"
click on "https://github.com/moudrkat/old-news"
classDef engine fill:#1f6feb,stroke:#1158c7,color:#ffffff;
classDef exp fill:#8957e5,stroke:#6e40c9,color:#ffffff;
class bs,hd,hw engine;
class st,tm,sm,on exp;
Collaborators and users. Build on LLMs and want to see inside your model? pip install, try it, and
open an issue where it breaks. Work on steering or interpretability? Run
SteerBench
against your own method and tell me what you get.
๐ฌ Also on the bench โ smaller, self-contained ways to look inside
- ๐ฆ tournament-watermarking โ the watermark Anthropic now puts in Claudeโs output, running live as a decaying newspaper: two columns from the same model, one of them watermarked, and a torch you hold to the page to find out which
- ๐ paper-remembers โ Hopfield's 1982 paper, running live: rub out any part of the page and watch it rebuild itself
- ๐ญ sixteen-voices โ how a tiny transformer encodes writing style, through LoRA adapters and attention heads
- ๐๏ธ show-me-your-attention โ attention maps and neuron activations over your own prompt
- ๐ฅ detektor โ the collision chamber above, open source (SmolLM2 in your browser, no server)
- ๐ผ๏ธ jepa-demo โ I-JEPA & V-JEPA 2 hands-on, no GPU needed, with a visual deep-dive article
- ๐ Mushroom-generator โ a VAE growing mushrooms, with latent-space walks and the decoder taken apart layer by layer
- ๐ Applepear โ apples vs pears in a tiny CNN, activations and grad-CAM included
- โ๏ธ Minimize_me โ race TensorFlow optimizers across loss landscapes
๐ And off the bench
- ๐ tri-kumpani โ Li Po's Drinking Alone under the Moon, read by a small Chinese model twelve hundred years later: tap a token to see which words it raises its cup to, head by head, then pour it wine and watch the next verse fall apart into Chinese characters. The tokenized poem is also printed on a jacket. โถ open it
- ๐ช resi-doom โ Doom, except the level is a language model mid-sentence: one chamber per layer, attention matrices for windows, the residual stream painted on the walls.
WandS. That is the control scheme. โถ open it - ๐ธ unlived โ a gamebook of the life you never lived: it writes that life as a playable story, and you win by quitting the game to go live it for real
- ๐ promptparty โ born mid-hackathon, shipped the same day: a dashboard for friends agent-coding in one room that says when to ๐ฃ๏ธ TALK (all agents cooking) and when to โจ๏ธ PROMPT (someone's agent is waiting). Claude Code hooks report automatically;
pip install promptparty - ๐จ personal-rembrandt โ you can't build a personal brand, so build a personal Rembrandt: paste your bio, GPT-2 reads it in your browser, and its activations repaint his 1659 self-portrait.
- ๐๏ธ go-to-damn-bed โ a Claude Code skill that sends you to bed like a mom sends naughty children: it saves your work into TOMORROW.md, then counts to three. It never says what happens at three
- ๐ KingOfDiamonds โ the King of Diamonds game from Alice in Borderland, played by LLMs in character, recursive strategic thinking and all
- ๐จ๏ธ paralel-discordverse โ your company's Discord gets a parallel universe, populated entirely by fictional colleagues
- ๐ง underglaze โ the blue tile on a kitchen wall, written as a sum of cosines: 62 815 of them for 99 %. Three knobs to drag, and one of them turns the plant into a snowflake. The pattern everyone here calls cibulรกk turns out to have no onion in it
- ๐ง๏ธ coalescence โ a raindrop landing on an already-wet window doesn't splash and doesn't soak in, it stops being a drop and becomes film. The thin-film equation, solved and rendered in your browser: there is no drop in the equation, the drop is only where it starts
- ๐งฎ least-squares-method โ code archaeology: a printed Pascal listing, photographed page by page and revived on Turbo Pascal 5.5
None of it is perfect. That's kind of delightful.



