Phase 2: Before writing any integration code, we mapped out how everything would fit together. We built on Next.js 16 App Router with TypeScript throughout — 30+ API routes split across five domains: swaps, perps, predictions, yield, and portfolio. Each has its own lib file. Claude lives in llm.ts and gets called across basically every domain. The core flow: natural language input → Claude parses intent → protocol-specific logic executes → unsigned tx returned → user signs. Non-custodial throughout, we never touch keys. Frontend is React 19, Tailwind 4, Five pages. State is just useState at the component level — we didn't need anything heavier. Wallet connection via window.ethereum(metamask) and window.phantom directly. Biggest decision upfront was committing to multi-chain — Base, Solana, Polygon, and Hyperliquid all needed to coexist cleanly. Getting that right early saved us a lot of pain later. With the foundation set, we started building protocol by protocol.
Log in or sign up for Devpost to join the conversation.