← Back to all projects

Developer Tools · Academic Integrity

ScholarTrace

TypeScriptNext.jsExpressMongoDBJWT

ScholarTrace started from a simple question: how does a student prove they actually wrote their own code? The system has three parts. First, a VS Code extension that runs in the background while you code. It debounces your keystrokes and takes a full snapshot of your file every time you pause for 5 seconds. These snapshots get tagged with your email and a class code your professor gives you, then uploaded to the backend. Second, an Express API on Railway with real JWT auth, bcrypt password hashing, and class-based access control. Professors register, create classes that auto-generate 6-character join codes, and can only see students who uploaded to their own classes. Third, a Next.js dashboard on Vercel where professors log in, select a class, browse students, and step through their full coding timeline snapshot by snapshot with full code viewer and line numbers. The extension is live on the VS Code Marketplace and the whole system has a 30-test end-to-end test suite.

What it does

VS Code extension with a sidebar panel, onboarding flow, live tracking indicator, and snapshot counter

Debounced edit tracking that snapshots files after 5 seconds of inactivity

Class system with auto-generated 6-character join codes that students enter in the extension

Extension validates class codes against the backend before saving

Professor registration and login with bcrypt hashing and JWT tokens

Class-based access control so professors only see their own students

Dashboard with class selector, student search, snapshot timeline, and full code viewer with line numbers

Delete class and remove student data with confirmation modals

HTML export for offline log review

30-test end-to-end test suite covering auth, classes, uploads, and deletion

Tech stack

ExtensionTypeScript, VS Code Extension API, Webview sidebar
DashboardNext.js 16, React 19, TypeScript, Tailwind CSS 4
BackendNode.js, Express 5, Mongoose, JWT, bcryptjs
DatabaseMongoDB Atlas (Professor, Class, LogEntry models)
HostingVercel (dashboard), Railway (API), VS Code Marketplace
Testing30-test E2E bash script
← Back to all projects