Inspiration

Most online learning platforms are static, one-size-fits-all systems. They present the same videos and quizzes to every user, completely ignoring individual cognitive differences, learning paces, and unique misconceptions.

We were inspired to build NeuroLink AI to create a true "Learning Twin" of the student's mind. By combining educational data science with modern generative AI, we wanted to build a platform that maps out a student's brain in real-time—identifying their exact knowledge gaps, identifying when they are guessing or have deep-seated misconceptions, and guiding them through complex topics using the Socratic method rather than just handing them the answers.

What it does

How we built it

built the entire application using a lightweight, performant, and premium design stack:

Frontend Core: Vanilla HTML5 and Javascript (ES Modules) bundled with Vite for blazing-fast local development and production building. Styling System: Handcrafted Vanilla CSS with a modern dark-mode, glassmorphism theme, fluid layouts, and Google Fonts (Space Grotesk, Inter, Fira Code) to create a premium dashboard interface. Cognitive Engine: An implementation of Bayesian Knowledge Tracing (BKT) running entirely client-side. The engine calculates the probability of concept mastery (L n) using four parameters: prior (L 0 ), learning rate (T), slip (S), and guess (G), adjusted dynamically based on the student's metacognitive self-reported confidence. AI Socratic Tutor: Powered by Gemini 2.5 Flash (via direct client-side fetch integration with user-provided API keys) that consumes the JSON representation of the "Learning Twin" to deliver custom, learning-style-specific Socratic instruction. Offline Fallback: A rule-based, procedural tutor engine that generates structured explanations and practice questions dynamically, ensuring the app remains fully functional even without an API key.

Challenges we ran into

Managing State without React/Vue: Building a highly interactive, state-driven dashboard (with dynamic graphs, active quizzes, live chatbot, and settings) in Vanilla Javascript required designing a custom publish-subscribe event system to update the UI components reactively when the Learning Twin state changed. Broken File Permissions on Deployment: During our initial Netlify deployment, we faced a vite: Permission denied error due to accidental tracking of node_modules pushed from a Windows system. We had to untrack these directories, write a strict .gitignore, and re-push a clean repository so that Netlify could run a native Linux npm install and compile correctly. Calibrating the BKT Engine: Adjusting the BKT formula parameters so that a single lucky guess wouldn't incorrectly mark a difficult concept as "mastered" took careful tuning. We solved this by factoring in the user's metacognitive confidence rating (e.g., applying a "misconception penalty" if they answered incorrectly but marked "High Confidence", and a "guess correction" if they answered correctly but marked "Low Confidence").

Accomplishments that we're proud of

High-Fidelity Client-Side Bayesian Engine: We successfully implemented the complex Bayesian Knowledge Tracing (BKT) equations to run entirely in the user's browser. This guarantees real-time, zero-latency updates to the student's cognitive model without requiring expensive server-side computing. Metacognitive Calibration: We went beyond traditional correct/incorrect scoring by incorporating the student's self-reported confidence. This allowed us to build a unique algorithm that distinguishes between a lucky guess (high accuracy, low confidence) and a deep-seated misconception (low accuracy, high confidence) and adjust the learning path accordingly. Premium UI/UX Crafted from Scratch: We built a gorgeous, fluid, and dark-mode glassmorphic dashboard completely in Vanilla CSS and JS. We're proud of proving that you can achieve a premium, state-of-the-art interface with zero framework bloat. 🔌 Zero-Config Offline Resilience: We designed a robust, procedurally generated offline tutor. Even if a user doesn't have a Gemini API key or loses internet connectivity, the application remains fully interactive, generating structured explanations and coding snippets on the fly.

What we learned

Bayesian Knowledge Tracing (BKT): We learned how learning analytics models track student minds. Implementing the probability update equations taught us how mathematical modeling can predict learning outcomes in real time. Socratic Prompt Engineering: We discovered how to instruct LLMs to act as true educators. Instead of immediately generating correct code or explanations, the system forces the model to ask guiding questions and point out logical gaps, promoting active recall. Keep It Lightweight: Building a rich, feature-packed app using pure Vanilla JS reminded us that you don't always need heavy frameworks like React or Next.js to build state-of-the-art, high-performance web applications.

What's next for NeuroLink AI

Real-time Audio Tutoring with Gemini Live: Integrate the Gemini Live API to enable voice-to-voice Socratic tutoring, allowing students to verbally explain their reasoning to the tutor and receive conversational, verbal feedback. Aggregated Educator Dashboard: Expand the single-user model into a classroom portal. Teachers will be able to view an anonymized heatmap of their students' "Learning Twins," instantly highlighting which concepts require a classroom-wide review. Spaced Repetition (SM-2 Algorithm): Merge Bayesian Knowledge Tracing with spaced-repetition memory models (like the SuperMemo-2 algorithm) to automatically schedule reviews for concepts right as they are beginning to fade from memory. Interactive Coding Sandbox: Build an in-browser code execution sandbox with automatic unit testing, so coding students can write, run, and debug their code directly alongside the Socratic Tutor. Open Cognitive Profiles: Establish a standard JSON schema for the "Learning Twin," allowing students to export their cognitive profile and take their learning history with them to other educational platforms.

Built With

Share this project:

Updates

Submission history