Inspiration
As CS and CE students, we realize how quickly AI can replace learning. You ask a model for a bit of help with your program and it returns a complete, polished solution. While impressive, this takes away from the core learning process: struggling through logic, debugging mistakes, and developing intuition. We wanted to build something that preserves the rigor and satisfaction of doing the work while still acknowledging can be a powerful educational tool rather than a shortcut.
What it does
Cognix is a VS Code extension that continuously collects keystroke-level interaction data and analyzes fine-grained typing patterns to estimate whether work is authentically human or copying code from AI or other sources. This creates a strong deterrent against copy-paste or fully generated submissions. However, instead of banning AI outright, Cognix embeds a built-in chatbot that strictly follows instructor-defined policies—providing hints, explanations, and structured guidance, but never final answers. The extension operates in real time alongside a cloud-hosted backend and a companion web application. Through the web dashboard, instructors configure courses, define AI interaction rules, and monitor sessions, while students initiate authenticated work sessions directly from VS Code.
How we built it
We built a modern Next.js frontend for the web application and instructor dashboard, paired with a deeply integrated VS Code extension capable of low-level keystroke capture and session tracking. Our backend leverages MongoDB Atlas for scalable, secure storage of session metadata and behavioral features. The detection system itself is informed by existing research on human-computer interaction and typing dynamics, combined with our own experimentation to engineer robust signals. We also developed a tightly controlled chatbot that demonstrates strong policy compliance, reliably staying within instructor-defined boundaries even under adversarial prompting.
Challenges we ran into
Our biggest challenge was ensuring fairness and robustness in the keystroke-based scoring system. Human typing behavior is noisy, inconsistent, and context-dependent, and we were determined to avoid false positives. We spent significant time refining feature extraction, normalizing across different typing styles, and stress-testing edge cases to ensure that an honest student would never be unfairly flagged for legitimate work.
Accomplishments that we're proud of
We built something we would genuinely want to use as students. Cognix directly addresses the frustration that motivated us in the first place: wanting to learn deeply without being outpaced (or tempted) by unrestricted AI. The system balances enforcement with empowerment, preserving academic integrity while still embracing AI as a guided learning companion.
What we learned
We gained deep insight into keylogging systems and the analysis of human versus non-human typing patterns. What surprised us most was how distinctive these patterns are (down to timing, rhythm, and correction behavior), often specific enough to resemble a behavioral fingerprint. This reinforced the idea that authentic human work leaves measurable traces that are extremely difficult to fake at scale.
What's next for Cognix
Our next step is to fork VS Code and push Cognix deeper into the editor itself, with an eventual goal of browser-level integration. This would significantly improve security guarantees, reduce attack surfaces, and make the platform more accessible by eliminating extension-level friction while preserving fine-grained behavioral visibility.
Built With
- css
- gemini-ai-studio
- html
- javascript
- maching-learning
- mongo-db-atlas
- nextjs
- typescript
Log in or sign up for Devpost to join the conversation.