Frontend engineering
Interfaces get hard when the state behind them is hard: a balance that is already stale, an auction closing while you type, a live wallet session inside a virtual world.
I build them in React, Next.js, TypeScript, TanStack Query, and Tailwind, and most of the design work is deciding what the screen has to show about that state, and when.
Trading and auction interfaces
At Opyn the Next.js trading interface uses React Server Components over Ponder-indexed options data so Arbitrum behavior stays visible. At Bitlauncher the Gnosis auction bidding interface uses wagmi balance subscriptions and Supabase realtime updates.
Immersive and interactive products
At ZTX the React application hosted the virtual world, and the wallet session lived inside the WebGL surface instead of in separate app chrome. At AMC the YEAH! interactive player ran trivia, interviews, and quizzes inside the film itself. Curated titles carried more than 400 interactive elements each.

ZTX
Software Engineer
A Web3 virtual world with cryptocurrency-backed digital assets, a WebGL wallet connection, and a Next.js experience.

AMC Yeah TV Facebook App
Lead UI Engineer
An interactive movie-streaming experience with chapter navigation, Facebook integration, in-player content, and Brightcove tooling.
Data-dense interfaces
Block producer scores only help if you can compare them. For EOS Rate I built a radial comparison interface on GraphQL and onchain ratings that keeps those scores in one view.
Writing about frontend systems
See the work
Explore the project portfolio for implementation details, systems, and technology.


