Courtline
Status: Active
NBA predictions on Polymarket for Web2 users: live games + quick calls with embedded wallets and a sports-first UX.
Stack: Next.js, Privy, Supabase, Upstash, Polymarket CLOB
A living shelf of side projects — small apps, concepts, and playful prototypes.
Built to learn, shipped to share. Some are polished, others are still baking.
Status: Active
NBA predictions on Polymarket for Web2 users: live games + quick calls with embedded wallets and a sports-first UX.
Stack: Next.js, Privy, Supabase, Upstash, Polymarket CLOB
Status: Active
Skill directory inspired by Pokémon TMs — teaching AI assistants new skills and capabilities through modular integrations.
Stack: TypeScript, AI Skills
Status: Shipped
A tiny, client-only recovery UI to transfer assets out of embedded MPC wallets (Privy) when your product is missing a "withdraw" flow.
Stack: React, TypeScript, Vite, Privy, viem
Status: Shipped
A route-based credential issuance portal built on AIR Kit, supporting wallet auth, AIR Kit sessions, and OAuth flows.
Stack: Next.js, AIR Kit, RainbowKit, wagmi/viem, OAuth
Status: Building
Personal AI assistant fork — building my own agent stack with custom skills for daily workflows, automation, and productivity.
Stack: Hetzner, Minimax, Docker
Status: Archived
On-chain red packets using zero-knowledge proofs: create, share, and claim crypto gifts with passcode-protected privacy.
Stack: Solidity, Circom, Hardhat, zk-SNARKs
Status: Archived
Mobile-first Pokémon card price comps: scan a card and pull pricing across marketplaces, with AI-assisted identification.
Stack: Next.js, Prisma, Postgres, OpenRouter, Inngest, Tailwind