Hey, I'mJeff Gatbonton.

I'm aFull Stack Engineer

and formerDesigner.

GitHubLinkedInDribbble

Summary

Jeff Gatbonton headshot

I started in graphic design before gradually moving into software engineering through early-stage startup work.

Over the last 8 years I’ve worked across consumer products, realtime systems, mobile apps, ecommerce platforms, and blockchain applications with a strong focus on product quality, UX, and rapid iteration.

Most of my work has been in small startup teams, including Techstars and a16z-backed companies, where I’ve contributed across design, frontend, backend, infrastructure, and product development.

Technologies that I've worked with in production apps:

Javascript logoJavascript
Typescript logoTypescript
React logoReact
Node logoNode
Golang logoGolang
Next logoNext
Tailwind logoTailwind
Expo logoExpo
Apollo logoApollo
Figma logoFigma
GraphQL logoGraphQL
Prisma logoPrisma
Postgres logoPostgres
Redis logoRedis
Docker logoDocker
Solidity logoSolidity
Vitest logoVitest
RTL logoRTL
Playwright logoPlaywright

Recent Work

Upside is a web3 prediction market platform where users can create, discover, and trade on markets using Privy smart wallets. I built the frontend and designed the app experience, including authentication, market feeds, voting and trading flows, dashboards, invite-gated onboarding, leaderboards, and realtime market discussion.

Next.jsReactTypeScriptTailwind CSSPrivyWagmiViemTanStack QueryZustandAxiosPostHog
Case study
01Problem

Crypto UX kills mainstream adoption

Prediction markets normally bury new users in wallets, seed phrases, gas, and jargon. Upside had to feel as familiar as Reddit — “day trade the internet” — while staying fully on-chain underneath.

02Design

Hide the chain, keep it social

I designed an invite-gated, feed-first experience: Privy smart wallets so users never touch seed phrases or gas, familiar voting and trading flows, plus leaderboards and realtime discussion to drive the social loop.

03Engineering

State layered for realtime

On Next.js/React/TypeScript I split state by job — TanStack Query for server cache, Zustand for UI and wallet state — so feeds, trades, and wallet status stay in sync without over-fetching. Wagmi/Viem handle chain reads and writes.

04Outcome

Shipped end-to-end to production

Authentication, market feeds, voting and trading, dashboards, invite-gated onboarding, leaderboards, and realtime discussion all shipped to production across multiple invite seasons.

Jeffrey Gatbonton - 2026

jeff.gtbn@gmail.com