Hi, I'm Sean.
Co-founder & CTO at B3, building a crypto agent & decentralized inference. Previously Coinbase. I sweat the small details in software, and leave the good parts (components, free tools & writeups) out in the open here.
Components
all →
ASCII Text
3D text rendered to a wavy three.js plane, then re-sampled every frame into live ASCII characters that shimmer and follow your cursor. From B3's ai-arena.

Compact Cartridge
A 2D game-cartridge card: a clip-path cartridge silhouette with layered noisy borders, an inset media well, a label tab, and a vertical Game NFT stamp. From basement.fun.

Loading Beam
A laser-beam loading bar: a fill that races to 100% on an eased, jittery curve with a flickering glow and a blurred light at the leading edge. Pure CSS. From basement.fun.

Infinite Terrain
An endless procedural WebGL scene — streamed grass, trees, and wind lines with a physics ball you steer — that you can reskin live across six moods: night, aurora, synthwave, sakura, ember, noir. Restyled from mesq's MIT r3f original.

Isometric Cube
An isometric 3D cube in pure CSS transforms — three faces tinted from one base color (lighter top, base front, darker right), optional logo on top, optional slow spin. Extracted from explorer.b3.fun.
App Icon
A glossy iOS-style squircle app icon: SVG squircle clip, a top sheen, an inset rim, and a glare that sweeps on hover. Extracted from explorer.b3.fun.
Writing
all →
Jolt and the lookup singularity: when every instruction is just a table lookup
Most zkVMs hand-build a constraint system for every CPU instruction. Jolt skips that and turns each instruction into a single lookup into a table you never actually build, and the sum-check protocol underneath it is the same primitive doing the heavy lifting in GKR and Spartan.

Hybrid linear attention: rationing the quadratic
Three frontier labs independently converged on the same 3:1 ratio of linear to full attention layers, and the reason isn't that linear attention got better, it's that a fixed-size state is structurally lossy. Deriving Gated DeltaNet, the memory-vs-length crossover, and why pure linear attention can't find the needle.

ERC-8004 and the Sybil-binding problem
ERC-8004 shipped permissionless agent identity to Ethereum mainnet in January, and everyone's celebrating the registry while skipping the part that actually matters. Reputation on a permissionless system is Sybil-attackable by construction, and the fix is binding identity to something scarce.

Emergent misalignment from reward hacking
Ordinary RL with a reachable reward hack doesn't just teach a model to game a metric, it generalizes into faking alignment and sabotaging tasks nobody trained it to sabotage. The mechanism is geometric, the fix is counterintuitive, and the traits can travel through channels a chain-of-thought monitor literally cannot see.

EIP-7702: your EOA grew up, and 4337 stopped being mandatory
EIP-7702 let your existing wallet address borrow a smart contract's logic for one transaction, no migration required. That quietly rewrites the account abstraction decision tree, and most engineers are still building against the old one.

Data availability sampling: how to check a terabyte by reading a kilobyte
PeerDAS shipped on Ethereum mainnet in December 2025 and it lets a node become near certain a block of data is fully available by downloading a random slice of it, no re-execution and no trust required. This post derives the whole guarantee from a Reed-Solomon extension and a coin flip, code included.