Inspiration

💡 Inspiration Traditional note-taking apps are flat and linear, but the human brain doesn't work that way. Our thoughts are chaotic, interconnected, and dynamic. We were inspired to build an application that mirrors the brain's natural structure while combining it with the intricate, beautiful aesthetic of a Spider-Man web. We wanted to move away from generic productivity tools and create a "billion-dollar," luxury digital twin—an intelligent operating system that doesn't just store your thoughts, but actively understands and connects them.

⚙️ How we built it SpiderMind is built with a highly responsive, modern tech stack:

Frontend: React (via Vite) and Tailwind CSS for a premium, glassmorphism UI. We used Framer Motion for fluid, satisfying micro-animations. Visualization: We combined the physics engine of D3.js (force-directed graphs) with the HTML5 Canvas API to mathematically render a beautiful, slowly rotating Spider-Man web where threads physically "sag" between nodes. State Management: Zustand handles the complex graph state, seamlessly persisting the user's mind graph to LocalStorage. Backend & AI: A Node.js/Express server powers the intelligence, integrating Google's latest Gemini 2.5 Flash API. The AI acts as the engine, parsing raw brain-dumps into structured JSON (nodes and links) and acting as a conversational digital twin. 🚧 Challenges we faced Canvas Rendering Mathematics: Creating a realistic, sagging spider web that rotates in the background while perfectly aligning with physics-based D3 nodes was mathematically complex. We had to heavily optimize the canvas rendering loop so it wouldn't crash the browser. AI Rate Limiting: We quickly ran into strict 429 Too Many Requests API limits on the Gemini free tier. We had to build a graceful error-handling mechanism that detects these limits and elegantly tells the user that the "neural pathways are cooling down" rather than breaking the application. Strict JSON Prompt Engineering: Forcing a Large Language Model to consistently output exact, parseable JSON arrays for the nodes and links without adding conversational filler required heavy prompt engineering and fallback regex parsing. 🧠 What we learned We gained deep, practical experience in connecting cutting-edge LLMs (Gemini) directly to interactive data visualizations. We mastered combining D3.js physics simulations with custom Canvas drawing techniques to achieve 60fps performance on complex graphics. We learned how critical it is to handle external API rate limits gracefully, turning technical errors into a premium user experience feature.

Built With

Share this project:

Updates

Submission history