Monad Blitz Mumbai. I had the idea in my head before I even reached the venue — an AI assistant that reads your actual wallet data and tells you what's happening with your DeFi positions. Not a chatbot that guesses. Something that actually connects to the chain. We had the concept. We had absolutely nothing else.
First Hour: Cut Everything
We sat down and listed everything we wanted to build. Portfolio history, cross-chain support, price alerts, token swaps, custom dashboards. Looked great on paper. Then we looked at the clock. Six hours. So we crossed out everything except four things: wallet connection, on-chain balance reading, AI chat, and basic DeFi data like TVL and APY. That's it. If it wasn't one of those four, it was a day-2 problem.
This sounds obvious but when you're at a hackathon and excited, it's genuinely hard to say no to your own ideas. We almost kept the cross-chain feature. We almost kept token swaps. I'm glad we didn't.
Hours 1–3: Building the Thing
We went with Next.js because neither of us wanted to learn a new framework mid-hackathon. The AI layer was an LLM with a custom system prompt — and honestly, the system prompt took longer than the code around it. You have to teach the model what DeFi is, what the numbers mean, how to interpret wallet data. Get that wrong and your AI confidently tells users the wrong thing, which is worse than saying nothing.
- Direct RPC calls to Monad — no indexer, kept it simple
- Real wallet data injected into the AI prompt so it's not guessing
- Streamed AI responses — waiting 10 seconds for a full answer kills the vibe
- No database, everything in client state — persistence was a tomorrow problem
Hours 3–5: It All Broke
Around hour three, the RPC endpoint started rate-limiting us. The AI was hallucinating protocol names I had never heard of. Wallet connection worked on my laptop, not on the demo machine. This is the part nobody posts about on Twitter after hackathons — the two hours where nothing works and you're sitting there questioning your life choices.
We fixed the RPC issue by caching calls instead of hitting the endpoint every time. We fixed the hallucinations by hardcoding verified protocol data into the prompt context so the model couldn't invent things. The browser issue we solved by just switching laptops for the demo. You don't fix everything. You find a way around it and keep moving.
Last Hour: Ship
Three failed Vercel deploys because I forgot to add environment variables. Classic. Fourth deploy worked. We wrote a description, practiced the demo path exactly twice, and that was it. One thing I learned: your demo is a separate thing from your product. Know which screens you're going to click through. Know what happens if something fails live. We didn't prepare enough for that second part.
After
DeFi CoPilot went live at monad.tabcrypt.in a few days after the hackathon because the core of it was solid — we just added back the features we had cut. The hackathon forced us to build the foundation properly. Honestly I think if we had more time we would have overengineered the whole thing. Six hours is a weird blessing.