Digital Engineering

Case Study — Test Series Platform Built for 1 Lakh Students in 8 Weeks

Case Study — Test Series Platform Built for 1 Lakh Students in 8 Weeks

Discover how we built a high-performance test series platform for 100,000 students in just 8 weeks. Learn our strategies for microservices, load balancing, and rapid scaling.

Discover how we built a high-performance test series platform for 100,000 students in just 8 weeks. Learn our strategies for microservices, load balancing, and rapid scaling.

08 min read

In the modern landscape of competitive examinations, the ability to deliver high-fidelity assessment tools at scale is not just a technological challenge—it is a race against time. This case study details the rapid development, architecture, and deployment of a robust test series platform designed to support 100,000 concurrent students, delivered from inception to go-live in a hyper-compressed eight-week window.

1. The Strategic Mandate: Velocity and Stability

When faced with a requirement to support a massive user base in less than two months, the conventional "waterfall" approach to software development is immediately disqualified. We adopted a Lean-Agile hybrid methodology, prioritizing "Must-Have" features—secure authentication, real-time timer synchronization, auto-submission logic, and elastic database scaling.

The objective was clear: create a platform that maintains sub-200ms latency during peak traffic periods while ensuring 99.99% data integrity for exam submissions.

2. Architectural Blueprint: Designing for Elasticity

To handle 1 Lakh concurrent users, the architecture had to be horizontally scalable. We moved away from monolithic structures toward a Microservices Architecture deployed on a Kubernetes cluster.

Key Technical Pillars
  • Edge Caching: Using a Content Delivery Network (CDN) to serve static assets (HTML/CSS/JS) close to the user, reducing origin server load by 70%.

  • Message Queues: Implementing Apache Kafka for asynchronous processing of answer submissions. This prevents database bottlenecks when thousands of users click "Submit" simultaneously.

  • Database Sharding: Instead of one massive relational database, we sharded the student response data based on student_id ranges to distribute the I/O load.

  • WebSocket Integration: For live leaderboard updates and real-time timer synchronization, WebSockets provided a persistent, low-overhead connection compared to traditional HTTP polling.

Infrastructure Strategy

Component

Technology Choice

Rationale

Frontend

React.js + Tailwind CSS

Fast rendering and component reusability.

Backend

Node.js / Express

Non-blocking I/O ideal for high-concurrency connections.

Primary Database

PostgreSQL (Sharded)

ACID compliance for critical exam data.

Cache Layer

Redis

Sub-millisecond latency for session and timer data.

Infrastructure

AWS EKS (Kubernetes)

Auto-scaling groups to handle sudden traffic spikes.

3. The 8-Week Execution Roadmap

The timeline was broken down into two-week "sprints," each focusing on a critical vertical of the product.

Weeks 1–2: Foundation and Core API

The initial focus was on the User Authentication Service and the Test Meta-Data Schema. Designing the schema was critical; we had to ensure that the "Question Bank" could serve complex media (images, diagrams, LaTeX equations) without degrading performance. We utilized a schema-less storage approach for question content while keeping user progress in a relational structure.

Weeks 3–4: The Assessment Engine

This was the most complex technical hurdle. The "Assessment Engine" needed to track:

  1. State Management: If a user’s internet fluctuated, their progress had to remain cached locally and synced once reconnected.

  2. Concurrency Control: Preventing race conditions where a student might attempt to submit the same test twice.

Weeks 5–6: Performance Stress Testing

Using tools like k6 and Locust, we simulated the 1 Lakh student load in a staging environment. We discovered that our Redis cache was a potential bottleneck during the "Start Test" event. By introducing Consistent Hashing in our cache layer, we achieved a more uniform load distribution across our Redis cluster.

Weeks 7–8: Optimization and Hardening

The final phase was dedicated to "Fail-Safe" engineering. We implemented circuit breakers (using Resilience4j patterns) to ensure that if the leaderboard service failed, the main exam engine would remain unaffected.

4. Technical Deep-Dive: Handling Concurrent Submissions

The most significant engineering challenge is the "Thundering Herd" problem, occurring when 100,000 students submit their exams at exactly the same time.

Implementation Logic
  • Submission Batching: Rather than writing to the database on every single answer change, we implemented a client-side buffer. The client sends updates every 30 seconds or on explicit "Save" actions.

  • Backpressure Handling: By using Kafka as a buffer, if the database write-latency spikes, the Kafka consumer group can throttle the ingestion rate, ensuring the database is never overwhelmed beyond its IOPS limits.

Performance Metric

Target

Achieved

API Response Time (P99)

< 250ms

185ms

Concurrent Connections

100,000

115,000

Database Write Throughput

5,000 req/sec

6,800 req/sec

Deployment Downtime

Zero

Zero (Blue-Green Deployment)

5. Security and Data Integrity

When dealing with competitive exams, security is paramount. We implemented End-to-End Encryption (E2EE) for the question delivery pipeline to prevent "Question Leakage." Furthermore, we utilized Browser Fingerprinting to detect and block automated bots or multiple login attempts from the same machine, ensuring a level playing field for all 1 lakh students.

The "Auto-Save" Reliability

To ensure no student loses progress, we used a three-tier sync strategy:

  1. LocalStorage: Immediate backup on the user's browser.

  2. Websocket Sync: Real-time stream to the server.

  3. Periodic Polling: An "Emergency Backup" HTTP call every 60 seconds to ensure the server remains in sync even if WebSockets drop.

6. Reflections on Rapid Development

Building for scale in 8 weeks requires a "Feature-First" mindset coupled with extreme discipline in technical debt management. By keeping the core engine lightweight and isolating the reporting and analytics services, we were able to scale the exam-taking portion independently of the heavy-duty data analysis dashboard.

The success of this project serves as a template for future high-concurrency educational platforms: start with a solid, distributed architecture, automate the testing process, and use asynchronous communication channels to decouple heavy writes from user-facing read operations.

Final Technical Takeaways
  • Observability is non-negotiable: Without distributed tracing (like Jaeger or OpenTelemetry), diagnosing bottlenecks in a microservices environment is impossible.

  • Infrastructure as Code (IaC): Using Terraform allowed us to spin up identical production and staging environments in minutes, which was crucial for iterative testing.

  • Graceful Degradation: Designing for "partial failure" (e.g., showing the leaderboard as "Coming Soon" if the service goes down) keeps the user experience intact even when non-critical components fail.

This project proved that when engineering velocity meets a well-architected distributed system, massive scale can be achieved with reliability, providing a seamless experience for 1,00,000 students exactly when they need it most.

In the modern landscape of competitive examinations, the ability to deliver high-fidelity assessment tools at scale is not just a technological challenge—it is a race against time. This case study details the rapid development, architecture, and deployment of a robust test series platform designed to support 100,000 concurrent students, delivered from inception to go-live in a hyper-compressed eight-week window.

1. The Strategic Mandate: Velocity and Stability

When faced with a requirement to support a massive user base in less than two months, the conventional "waterfall" approach to software development is immediately disqualified. We adopted a Lean-Agile hybrid methodology, prioritizing "Must-Have" features—secure authentication, real-time timer synchronization, auto-submission logic, and elastic database scaling.

The objective was clear: create a platform that maintains sub-200ms latency during peak traffic periods while ensuring 99.99% data integrity for exam submissions.

2. Architectural Blueprint: Designing for Elasticity

To handle 1 Lakh concurrent users, the architecture had to be horizontally scalable. We moved away from monolithic structures toward a Microservices Architecture deployed on a Kubernetes cluster.

Key Technical Pillars
  • Edge Caching: Using a Content Delivery Network (CDN) to serve static assets (HTML/CSS/JS) close to the user, reducing origin server load by 70%.

  • Message Queues: Implementing Apache Kafka for asynchronous processing of answer submissions. This prevents database bottlenecks when thousands of users click "Submit" simultaneously.

  • Database Sharding: Instead of one massive relational database, we sharded the student response data based on student_id ranges to distribute the I/O load.

  • WebSocket Integration: For live leaderboard updates and real-time timer synchronization, WebSockets provided a persistent, low-overhead connection compared to traditional HTTP polling.

Infrastructure Strategy

Component

Technology Choice

Rationale

Frontend

React.js + Tailwind CSS

Fast rendering and component reusability.

Backend

Node.js / Express

Non-blocking I/O ideal for high-concurrency connections.

Primary Database

PostgreSQL (Sharded)

ACID compliance for critical exam data.

Cache Layer

Redis

Sub-millisecond latency for session and timer data.

Infrastructure

AWS EKS (Kubernetes)

Auto-scaling groups to handle sudden traffic spikes.

3. The 8-Week Execution Roadmap

The timeline was broken down into two-week "sprints," each focusing on a critical vertical of the product.

Weeks 1–2: Foundation and Core API

The initial focus was on the User Authentication Service and the Test Meta-Data Schema. Designing the schema was critical; we had to ensure that the "Question Bank" could serve complex media (images, diagrams, LaTeX equations) without degrading performance. We utilized a schema-less storage approach for question content while keeping user progress in a relational structure.

Weeks 3–4: The Assessment Engine

This was the most complex technical hurdle. The "Assessment Engine" needed to track:

  1. State Management: If a user’s internet fluctuated, their progress had to remain cached locally and synced once reconnected.

  2. Concurrency Control: Preventing race conditions where a student might attempt to submit the same test twice.

Weeks 5–6: Performance Stress Testing

Using tools like k6 and Locust, we simulated the 1 Lakh student load in a staging environment. We discovered that our Redis cache was a potential bottleneck during the "Start Test" event. By introducing Consistent Hashing in our cache layer, we achieved a more uniform load distribution across our Redis cluster.

Weeks 7–8: Optimization and Hardening

The final phase was dedicated to "Fail-Safe" engineering. We implemented circuit breakers (using Resilience4j patterns) to ensure that if the leaderboard service failed, the main exam engine would remain unaffected.

4. Technical Deep-Dive: Handling Concurrent Submissions

The most significant engineering challenge is the "Thundering Herd" problem, occurring when 100,000 students submit their exams at exactly the same time.

Implementation Logic
  • Submission Batching: Rather than writing to the database on every single answer change, we implemented a client-side buffer. The client sends updates every 30 seconds or on explicit "Save" actions.

  • Backpressure Handling: By using Kafka as a buffer, if the database write-latency spikes, the Kafka consumer group can throttle the ingestion rate, ensuring the database is never overwhelmed beyond its IOPS limits.

Performance Metric

Target

Achieved

API Response Time (P99)

< 250ms

185ms

Concurrent Connections

100,000

115,000

Database Write Throughput

5,000 req/sec

6,800 req/sec

Deployment Downtime

Zero

Zero (Blue-Green Deployment)

5. Security and Data Integrity

When dealing with competitive exams, security is paramount. We implemented End-to-End Encryption (E2EE) for the question delivery pipeline to prevent "Question Leakage." Furthermore, we utilized Browser Fingerprinting to detect and block automated bots or multiple login attempts from the same machine, ensuring a level playing field for all 1 lakh students.

The "Auto-Save" Reliability

To ensure no student loses progress, we used a three-tier sync strategy:

  1. LocalStorage: Immediate backup on the user's browser.

  2. Websocket Sync: Real-time stream to the server.

  3. Periodic Polling: An "Emergency Backup" HTTP call every 60 seconds to ensure the server remains in sync even if WebSockets drop.

6. Reflections on Rapid Development

Building for scale in 8 weeks requires a "Feature-First" mindset coupled with extreme discipline in technical debt management. By keeping the core engine lightweight and isolating the reporting and analytics services, we were able to scale the exam-taking portion independently of the heavy-duty data analysis dashboard.

The success of this project serves as a template for future high-concurrency educational platforms: start with a solid, distributed architecture, automate the testing process, and use asynchronous communication channels to decouple heavy writes from user-facing read operations.

Final Technical Takeaways
  • Observability is non-negotiable: Without distributed tracing (like Jaeger or OpenTelemetry), diagnosing bottlenecks in a microservices environment is impossible.

  • Infrastructure as Code (IaC): Using Terraform allowed us to spin up identical production and staging environments in minutes, which was crucial for iterative testing.

  • Graceful Degradation: Designing for "partial failure" (e.g., showing the leaderboard as "Coming Soon" if the service goes down) keeps the user experience intact even when non-critical components fail.

This project proved that when engineering velocity meets a well-architected distributed system, massive scale can be achieved with reliability, providing a seamless experience for 1,00,000 students exactly when they need it most.

FAQs

get in touch

Ready to Grow From Day One?

Strategy, execution, and digital experiences designed to move together. Fill out the form below and our team will contact you shortly.

get in touch

Ready to Grow From Day One?

Strategy, execution, and digital experiences designed to move together. Fill out the form below and our team will contact you shortly.

get in touch

Ready to Grow From Day One?

Strategy, execution, and digital experiences designed to move together. Fill out the form below and our team will contact you shortly.

© 2026 projectsupply AI, Data and Digital Engineering 

Company. Pune, India. All rights reserved.

Part of Tangle

© 2026 projectsupply AI, Data and Digital Engineering 

Company. Pune, India. All rights reserved.

Part of Tangle

© 2026 projectsupply AI, Data and Digital Engineering 

Company. Pune, India. All rights reserved.

Part of Tangle