Grit: Git for LLM Reasoning
Inspiration
As LLMs become more powerful, we risk outsourcing not only answers but our own critical thinking. Research on “AI Degradation” shows that passive consumption of black‑box AI outputs can erode human creativity, metacognition, and problem‑solving skills. We wanted to flip that script: instead of hiding the “how,” let’s spotlight it. Grit was born from the belief that seeing an AI’s thought process step by step can turn every interaction into a learning opportunity.
What it does
- Live Chain‑of‑Thought Visualization: Streams token‑by‑token AI output into a dynamic, interactive graph.
- Branching Deep‑dives: Click any reasoning step to open a side conversation—define terms, explore sub‑concepts, view code snippets or diagrams—then return to the main thread seamlessly.
- Multimodal Support: Renders code blocks, LaTeX formulas, and inline diagrams in real time.
- Persistent Context: Every branch remembers where it came from and reconnects smoothly to the parent chain once you’re ready.
How we built it
- Frontend: Next.js + React; WebSockets for streaming; D3‑powered Chain‑of‑Thought Graph.
- Backend: Node.js server orchestrating LLM calls (OpenAI) with carefully crafted prompts to elicit structured reasoning traces.
- Data & State: Supabase for session storage, branch histories, and user preferences.
- Prompt Engineering: Iteratively designed “think‑aloud” prompts so the model outputs coherent, stepwise reasoning rather than just final answers.
Challenges we ran into
- Structured Streaming: Getting the LLM to emit a clean, step‑by‑step trace token by token required fine‑tuning prompts and handling partial JSON fragments in flight.
- Graph Performance: Rendering and updating a live, branching graph with dozens of nodes demanded careful optimization (virtualization, debounced renders).
- Context Preservation: Ensuring that each branch stayed linked to its origin without duplicating huge chat histories was tricky, balancing UX with data efficiency.
- Multimodal Rendering: Supporting inline LaTeX and diagrams alongside code blocks required integrating multiple renderers and handling layout edge cases.
Accomplishments that we're proud of
- Seamless Reasoning Graph: A live‑updating CoT visualization that users can pan, zoom, and branch from in real time.
- Deep‑dive Branches: A modal interface that isolates sub‑questions, preserves focus, and then stitches back into the main flow.
- Robust Prompt Library: A set of proven prompts that coax LLMs into educational, transparent reasoning across coding, math, and conceptual domains.
- Positive Early Feedback: Pilot users reported faster concept mastery and higher engagement compared to static tutorials.
What we learned
- Prompt engineering is as much about UX as it is about AI: small tweaks in wording can make the difference between a coherent “chain” and a flat list of bullet points.
- Real‑time interactivity at scale demands both frontend and backend optimizations—debouncing updates, lazy‑loading branches, and efficient state management are crucial.
- Users crave control: giving them the ability to direct the AI’s explanation (by opening branches) turns passive chat into an active learning journey.
What's next for Grit
- Product Launch: Launch our Product as an Embedded Tool in Educaide AI, with a user base of 700,000 educators across the globe.
- Activation Extraction: Integrate research‑grade techniques to surface latent activation patterns for an even deeper look under the hood.
- Mini‑Course Generator: Auto‑compile a series of related reasoning flows into a custom study plan.
- Multi‑Model Support: Let users pick from different reasoning styles (e.g., “concise,” “pedagogical,” “deep dive”) and compare outputs.
- Mobile & Collaborative Modes: Dedicated iOS/Android apps and shared reasoning sessions so teams can workshop complex problems together.
- Learning Analytics: Aggregate anonymized CoT paths to identify common stumbling blocks and recommend targeted resources.
Built With
- cerebras
- figma
- gemini
- nextjs
- python
- tailwindcss
- typescript
- vectera



Log in or sign up for Devpost to join the conversation.