🎓
Internal Tool

VIRKSS Assessment Platform

VIR Knowledge and Skill Screening

🤖 AI-Powered ☁️ Cloudflare Edge ⚡ Real-time Scoring 🔒 Secure by Design

A full-stack technical assessment solution — from candidate creation to AI-graded scoring — built natively on Cloudflare's edge infrastructure.

Use or Space to advance · to go back

The Challenge

Why VIRKSS?

Replacing manual, inconsistent screening with a structured, AI-assisted process

❌ Before

📋
Manual Question Sets
Same questions reused across batches, prone to leaks
⏱️
Slow Human Grading
Subjective scoring for coding & theory questions
📊
No Centralized Tracking
Results scattered across emails and spreadsheets
🔓
No Access Control
No time-bound sessions or attempt limits

✅ After — VIRKSS

🤖
AI-Generated Questions
Fresh set per session via OpenRouter LLM
Instant AI Scoring
Objective, consistent grading with detailed feedback
📈
Live Admin Dashboard
All submissions, scores and results in one place
🔐
Time-Locked Sessions
Login windows, deadlines, and attempt limits enforced
Platform at a Glance

What the Platform Delivers

End-to-end assessment lifecycle — creation to result — in a single product

15
Questions per Session
8 MCQ 4 Coding 3 Theory
100%
AI Graded

Coding & theory scored by LLM with 0–10 scale

0ms
Cold Start

Cloudflare Workers edge runtime — always warm

Scalability

Edge-deployed — handles concurrent sessions globally

🛡️
Anti-Cheat Controls
Tab-switch detection · Copy-paste blocked
💾
Auto-Save Answers
2s debounce · No answer lost on refresh
🔄
Multi-Attempt Support
Configurable attempts · Full review per attempt
Technical Architecture

How It's Built

🖥️
Frontend
Cloudflare Pages · CDN-distributed
React 18 TypeScript Vite Tailwind CSS shadcn/ui Framer Motion Zustand
Backend — API Worker
Cloudflare Workers · Edge runtime
Hono.js v4 JWT (HS256) PBKDF2 Auth AES-GCM Encryption
🗄️
Database + AI
Globally replicated · LLM-powered
Cloudflare D1 (SQLite) OpenRouter API minimax/minimax-m2.5

Request Flow

🌐
Candidate Logs In
Login window validated · JWT issued · Role determined
🤖
Questions Generated
OpenRouter LLM generates 15 fresh questions per session — never repeated
✍️
Candidate Answers
Answers auto-saved every 2s · MCQ graded instantly · Timer enforced server-side
📤
Submit / Auto-Submit
Manual submit or timer expiry triggers scoring pipeline
🏆
AI Scoring & Result
LLM grades coding & theory (0–10 each) · PASS/FAIL computed against threshold · Result stored
Admin Portal

What Admins Can Do

Full control over skills, candidates, scheduling, and results

assessment-app.pages.dev/admin/dashboard
🎓
VIRKSS
📊 Dashboard
⚙️ Skills
👥 Candidates
📄 Submissions
🔧 Settings
Dashboard
24
Candidates
18
Submissions
Recent
jayaram-jr PASS
ravi-kumar FAIL
🧩

Skill & Level Management

Create skills (e.g. Oracle PL/SQL, Java) and difficulty levels. Each combination gets its own question pool.

👤

Candidate Provisioning

Create candidates with assigned skill/level, login window (start/end time), duration, and max attempts. Auto-generates credentials.

📊

Submissions Dashboard

Filter by User ID or Name. View scores, PASS/FAIL, per-question answers, AI marks, and rescore stuck sessions.

⚙️

Platform Settings

Configure OpenRouter API key (AES-256 encrypted), pass threshold %, and change admin password — all in-app.

Candidate Experience

The Candidate Journey

Smooth, guided assessment flow with integrity controls built-in

🔑
Login
Credentials validated. Login window enforced — early or late login blocked.
📖
Read Instructions
Rules shown before start: timer policy, tab-switch warning, copy-paste restriction.
🤖
Questions Generated
LLM generates 15 unique questions for this candidate's skill + level — live, not from a fixed bank.
✍️
Answer Questions
Navigate freely between 15 Qs. Answers auto-saved every 2s. Live countdown timer. 2nd tab switch = auto-submit.
🏆
Instant Result + Review
Score, PASS/FAIL, and full question review with model answers available immediately after submit.
assessment-app.pages.dev/assessment/take
🎓
VIRKSS Oracle PL/SQL Senior
Q 7 / 15
42:18
Submit
7
CODING AI graded · —/10

Write a PL/SQL stored procedure that accepts an employee ID and updates their salary by 10%, logging the change to an audit table.

CREATE OR REPLACE PROCEDURE update_salary (p_emp_id NUMBER) IS
  v_old_sal NUMBER;
-- candidate typing...
← Previous
Auto-saved ✓
Next →
AI Engine

AI-Powered Question Generation & Scoring

OpenRouter + minimax/minimax-m2.5 model handles both generation and evaluation

📝 Question Generation

// Every session — always fresh const prompt = `Generate 15 questions for Skill: ${skill} / Level: ${level} - 8 MCQ (4 options, 10pts each) - 4 Coding (open-ended, 10pts) - 3 Theory (open-ended, 10pts) Return ONLY valid JSON array.`; OpenRouter('minimax/minimax-m2.5', prompt)
MCQ graded instantly on answer select
🤖Coding + Theory: LLM grades on submit
🔄Auto-retry on null · Falls back to 0 gracefully

🎯 AI Scoring Logic

// Two-step evaluation Step 1 — Relevance Check: Is answer on-topic? → Gibberish / off-topic → score = 0 Step 2 — Quality Score (1–10): 9–10: Excellent, thorough & accurate 7–8: Good, minor gaps 5–6: Basics covered 3–4: Partial understanding 1–2: Mostly wrong Returns: {"relevant": true, "score": 8}

SCORING FORMULA

8 MCQ × 10 pts= 80 pts max
4 Coding × 10 pts= 40 pts max
3 Theory × 10 pts= 30 pts max
Total150 pts · PASS ≥ 70%
Security & Integrity

Built Secure from the Ground Up

Every layer — auth, storage, session, and candidate behaviour — is hardened

🔐

Authentication

✦  PBKDF2-SHA256 password hashing (100k iterations)
✦  Custom HS256 JWT via Web Crypto API
✦  Role-based access: admin vs candidate routes
🔒

Data Encryption

✦  API key encrypted with AES-256-GCM
✦  Encryption key derived from JWT_SECRET via PBKDF2
✦  Secrets stored as Cloudflare Worker Secrets (never in code)

Session Controls

✦  Login window enforced server-side (start & end time)
✦  Deadline enforced server-side — client timer is cosmetic only
✦  Max attempts configurable per candidate
🛡️

Anti-Cheat Measures

✦  Tab switch detection — 2nd switch triggers auto-submit
✦  Copy-paste disabled in coding & theory inputs
✦  Fresh AI-generated questions per session — no question bank leaks
🚀
Live Demo

Let's See It in Action

The platform is live and ready. We'll walk through the full flow — admin to candidate.

Admin Demo

① Create a skill + level
② Add a candidate with login window
③ View submissions dashboard
④ Review detailed score breakdown

Candidate Demo

① Login with credentials
② Read instructions → Begin
③ Answer MCQ + Coding + Theory
④ Submit → Instant AI result

🌐  Live URL:   assessment-app.pages.dev

💬
Thank You

Questions?

VIRKSS Assessment Platform — built, deployed, and ready for use.

☁️
100% Cloudflare
Workers · Pages · D1
🤖
AI-First
Generation + Scoring
🔒
Secure by Design
Encrypted · Role-based
React + TypeScript Hono.js Cloudflare D1 OpenRouter AI Tailwind CSS

VIRKSS · VIR Knowledge and Skill Screening