Inspiration
Social media and online platforms are overrun with automated, AI-generated content that's becoming impossible to distinguish from human writing. Existing AI detectors are reactive, unreliable, and easily fooled, they analyze the output, not the process. We wanted to build something that proves human authorship at the moment of creation, not after the fact.
What it does
Reflection gives platforms a way to verify human authorship and grade content quality before it's posted. It captures keystroke dynamics as you type, dwell times, flight times, rhythm patterns, and runs them through an entropy analysis engine to issue a cryptographic Certificate of Origin. If the human check fails, an AI grader scores the content on a 0-10 scale so platforms can still allow high-value AI content while blocking spam and filler.
How we built it
We built Reflection with a vanilla JS telemetry collector that captures keystroke timing entirely in-browser with no raw data ever leaving the client. The entropy engine computes Shannon entropy and variance over the timing distribution to detect human rhythm. The backend is a lightweight Node/Express server that proxies content grading through the Groq API and stores certificates.
Challenges we ran into
Tuning the entropy thresholds to avoid false positives was harder than expected as fast typists naturally produce lower variance, which the system initially flagged as bot-like. We also had to filter out thought pauses, micro-pauses, and correction keystrokes from the rhythm distribution, as each one was silently dragging entropy scores down.
Accomplishments that we're proud of
Getting zero-knowledge telemetry working entirely client-side was a big win as platforms get a verifiable certificate without ever seeing a user's raw keystroke data. The two-tier detection pipeline (human check + AI grader fallback) also means the system is nuanced rather than binary.
What we learned
Human typing is far more complex than it looks. Small details, like the fact that backspace presses are systematically faster than regular keystrokes, meaningfully skew the analysis if not handled separately. Building reliable biometric signals requires a lot of edge case thinking.
What's next for Reflection
A proper API and SDK so platforms can drop Reflection into any content submission flow with a few lines of code. We also want to explore a reputation layer, where a user's verified-human history builds into a persistent trust score over time.
Built With
- css
- express.js
- groq-api-(llama-3.1-8b-instant)
- html
- javascript
- node.js
- web-crypto-api
Log in or sign up for Devpost to join the conversation.