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: the screen has to be honest about all of it.
React, Next.js, TypeScript, TanStack Query, and Tailwind are how it gets built. Deciding what the interface must tell the truth about, and when, is the part that takes judgment.
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 signing sat inside the WebGL world so the UI showed what the session was about to commit to. 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.


