Designing the front door for$15M+ in Ethereum public goods funding
Client
OctantRole
Design Lead & Design Engineerui/ux designdesign systemsinternal toolingfrontend developmentTimeline
2026Full time, March 2026 to presentCategory
web3 appdecentralized funding
Summary
The Challenge
Octant turns Ethereum staking yield into a matching pool that the community allocates through quadratic funding. By 2026 it was five apps from different teams, each with its own visual language, plus a marketing site on a retired CMS. The real risk was that an unfamiliar funding mechanism stayed illegible to GLM holders, treasuries, and grantees while live rounds kept running.
- Make a zero-knowledge ballot feel like a simple decision
Voters sign EIP-712 ballots that a sequencer batches and a ZK prover verifies before contracts pay out. None of that belongs in the flow. I redesigned the round wizard and the ballot so locked GLM and direct WETH read as one choice, then closed roughly ninety launch tickets: absolute amounts, simulation-gated signing, and a staged review before the irreversible submit.
- Turn the design system into an agent, not a package
When the shared component library was abandoned, I built Kay, a Claude Code agent that became the brand's source of truth. It bootstraps apps on the Octant preset, audits them against the core rules, and grounds UX reviews in interview-based personas. Its design role then moved into Shannon, the team's verified build loop, so every spike already looked like Octant.
- One substance, many forms
Rather than commission renders, I built one illustration system: 8,000 points of light that rearrange into the logomark, an open hand holding an orb, and a galaxy that stands for a funding round. It runs on hand-written GLSL with poses baked from a rigged mesh, and an in-app lab lets the marketing team compose stills and clips for campaigns.
- Ship octant.build from a Figma prototype in six weeks
I scaffolded a clickable prototype from thirteen Figma screens, then rebuilt it as a real information architecture with every placeholder number replaced by a sourced one. An in-product commenting layer turned nearly two hundred team notes into triaged Linear issues before the production cutover on 24 August.
Design Approach
octant.build home: the hand-and-orb point cloud hero behind the headline.
The in-app illustration lab, built so the marketing team can compose stills and record clips for campaigns without a designer.
The same 8,000 points settled into the Octant logomark.
A round page with the real funds breakdown and leaderboard.
The quadratic funding explainer with a live alpha slider between matching and direct funding.
The voting app round page, before and after the redesign.
The ballot: absolute amounts, a staged commitment, and one irreversible submit.
The post-vote moment, built to be shared.
The vault admin portfolio before and after the redesign.
The color grammar: gradient chrome for paths, flat fills for facts, peach for action, every pair checked for red-green color blindness.
Kay scoring an app against the core rules: tokens, icons, elevation, and recipes, with findings ranked by severity. This run: 1 high, 6 medium, 4 low, and three top fixes.
Personas built from user interviews ground every UX audit in a real person, not a checklist.
Shannon's prototype mode: the design-system reference every spike starts from, the lifecycle modes, and the verifier that rejects off-brand output.
Internal review tool: the team clicks any element on the site, leaves a note, and it lands in Linear as a triaged issue with the screenshot attached.
Results & Impact
Resources
- octant.buildThe live site: Home, Impact, Participate, Fund, and Projects.
- Quadratic funding explainerInteractive explainer with a live alpha slider.
- Octant voting appThe zero-knowledge voting app for funding rounds.



