Skip to content
All work

Platforms and portals, E-Zone HRM Limited , 2026

A purpose-built exam portal for timed, proctored sittings with thousands of candidates

Scheduled aptitude tests with tokenised access, a synchronised start, per-question timing and proctoring, built and run for E-Zone's hiring clients.

Overview

The E-Zone exam portal runs scheduled, timed and proctored aptitude tests for E-Zone HRM Limited's hiring clients. Candidates get a private link, wait in a lobby, start together on a synchronised clock and answer a shuffled question set under per-question timers. We built it between June and July 2026 and run it.

The challenge. A recruitment exam is a one-shot event. Thousands of candidates must start at the same second, no one should be able to help another, and the hiring client must be able to defend every result afterwards.

What we built. A separate Laravel application with tokenised candidate access, a waiting room, a synchronised start, per-question timing, shuffled and image-based questions, session, IP and device binding, and a proctoring layer that logs violations and ends a session when a rule is broken. A queue sends the invitations and a dashboard exports the evidence.

The result. In July 2026 the portal ran two large recruitment exams for a commercial bank. The bank's own forensic review of those exams found no server-side failure.

The exam screen with a question map showing answered questions, a total timer, a per-question timer and Save and Next

Feature list

Area What the client and candidates get
Getting in An invitation email with a private link, tokenised candidate access, and a rate-limited queue that sends invitations at volume with retry for any that fail
The waiting room Duration, number of questions and time per question shown up front, the client's own dos and don'ts, and one click to accept the rules and allow full screen
The start A countdown synchronised with the server clock and an automatic hand-off to the exam, with randomised micro-delays so thousands of candidates do not hit the database together
The test A global timer and a per-question timer, automatic save and advance, shuffled question order, image-based questions and exam rules per exam
Integrity Session, IP and device binding, window, tab and full-screen monitoring, violation logging with a reason, and automatic termination of a session that breaks a rule
Operations A live exam dashboard, scores tabulated in the background, a candidate session view, an email log, a requeue page for failed emails and URL redirects for invitation links
Evidence Exports of cohort funnels, pacing and duration rosters, candidate performance and violation breakdowns
Scale A Redis-backed progression service, Octane, indexed session tables and a load-test route, planned against 10,000 concurrent examinees

The exam day, step by step

  1. The waiting room. Candidates sign in from the emailed link and see the length of the exam, the number of questions and the time for each. They read the rules and accept them while they wait, which also asks the browser for full-screen access early.
  2. The lock-in and countdown. A green badge confirms the rules are accepted and a countdown synchronised with the server runs to the start time.
  3. The automatic start. At zero the portal prepares the session itself, with small random delays that spread the load. Nobody has to click at exactly the start second.
  4. The exam. A total timer and a per-question timer run side by side. When the question timer ends the answer is saved and the next question appears.

The waiting room with the exam title, 100 questions, 18 seconds per question, a 30 minute duration and the examination rules

The waiting room after the rules are accepted, with a green Rules Accepted badge and a countdown to the start

During the exam a question map on the left shows the current question, answered, skipped and unanswered questions, with progress out of 100. A "Secure session active" badge stays in the header.

The first question of the exam with four options, a question timer and the question map

When the exam ends the candidate sees a confirmation with the examination, start time and finish time.

The completion screen showing the examination name, time started and time finished

When a rule is broken the session ends at once and the candidate is told which rule, and who to contact if they think it was a mistake.

The session terminated screen naming the violation and telling the candidate to contact the examination administrator

The development journey

1. A secure exam player (June 2026)

Challenge. The exam had to be fair and hard to game from a browser.

Solution. Tokenised access, per-question timing, shuffled questions, session, IP and device binding, and violation logging with termination.

2. Operations for the examiners (June to July 2026)

Challenge. Examiners needed to see the exam live and prove the result afterwards.

Solution. An exam dashboard, session details, email invitations by queue with logs, URL redirects and exports.

3. Built for a crowd (July 2026)

Challenge. The exam would start for thousands of people at once.

Solution. A written performance plan for 10,000 concurrent examinees, then a Redis progression service, Octane, rate-limited invitations, background score tabulation, request jitter and a load-test route.

What changed for E-Zone and its clients

Area What we put in place What it gives E-Zone
Exams A purpose-built portal with timing, binding and violation logging Two large recruitment exams for a commercial bank ran on it in July 2026
Invitations A rate-limited queue with retry and a requeue page Failures are listed and can be re-sent without starting again
Evidence Exports of cohort, pacing and violation data The client's examiners analysed each sitting from the exports, and the bank's own review found no server-side fault

Engineering by the numbers

The history records 62 commits between 2 June and 21 July 2026, adding about 16,200 lines of authored code. The effort is estimated at about 165 hours, or roughly 21 working days, with a range of about 90 to 430 hours. The estimate is derived from commit size, not time sheets.

What it adds up to

E-Zone can now run a large, timed assessment as a managed service: invite, wait, start together, monitor, score and export. The portal was built, load-planned and in use within about seven weeks.

More work

Tell us what you want to build

A short message is enough. We reply within one working day with questions or a next step.

Start a project