Js SkillGauge — "AI-powered JavaScript skill assessment with personalized insights"
Js SkillGauge is an AI-powered JavaScript skill assessment. Answer 10 curated questions in 3 minutes and receive an ML-based skill level prediction (Beginner → Expert) with personalized focus-area recommendations — built by Sadiqul Islam Shakib (ByteCrister)."

Feb 2026 – Feb 2026
Next.js 16React 19TypeScriptTailwind CSS v4Framer MotionRadix UIshadcn/uiLucide ReactReact IconsRandom Forest ML Model (JS)
Features
- 10 randomly sampled JavaScript questions from a pool of 150+ questions spanning Easy, Medium, and Hard difficulties
- 3-minute countdown timer with automatic submission on expiry
- ML-powered skill level prediction: Beginner, Basic, Intermediate, Advanced, or Expert
- Personalized focus-area recommendations derived from your weakest topics
- One-question-at-a-time slider interface with Previous / Next navigation
- Years of experience input via a combined slider (0–15) and free-text number field (0–50)
- Anti-cheat layer: tab-switch detection, copy/cut/paste blocking, right-click prevention, PrintScreen blocking
- Session invalidation after 3 detected rule violations
- Per-question answer-duration tracking fed into the ML model as weighted features (AvgTime, WeightedTime)
- Detailed post-submission breakdown: your answer vs. the correct answer for every question
- Privacy-first: responses are processed locally and are never stored
Challenges
- Exporting a Python-trained Random Forest model to a pure JavaScript module consumable by a Next.js API route with no external ML service
- Building a reliable multi-signal anti-cheat layer (visibilitychange, blur, clipboard events, keyboard shortcuts) without false positives
- Auto-filling unanswered questions with a deterministic wrong option before auto-submitting when the timer expires
- Accurately capturing per-question answer durations using entry-time stamps for ML feature engineering
What I Learned
- Integrating a serialized ML model directly inside a Next.js serverless API route
- Constructing weighted feature vectors (difficulty-encoded scores, AvgTime, WeightedTime) for a Random Forest classifier
- Composing behavioral monitoring hooks (tab, clipboard, keyboard) that clean up correctly on unmount
- Building animated, accessible quiz UIs by combining Framer Motion with shadcn/ui and Radix UI primitives

View Full Screen

View Full Screen

View Full Screen


