← SELECTED WORK SYSTEM / CASE STUDY ONLINE
CASE STUDY / Exam Intelligence / Full Stack

PYQPath

A full-stack exam intelligence platform for searching previous-year questions, building practice papers, controlling premium access, and supporting public, student, and admin workflows.

ENGINEERING SIGNAL / 01

Building an exam-intelligence platform where search, practice, entitlement, and publishing share one reliable product flow.

~/portfolio/pyqpath/architecture LIVE SYSTEM MAP
01Public + student surfacesReact / Vite
02Application APINode.js / Express 5
03Question intelligence dataMySQL / mysql2
04Search + practice toolingSearch scripts / Paper builder
05Access + public deliveryEntitlements / Preview API
REQUESTLOGICSTATEDELIVERY
STACK /ReactViteNode.jsExpress 5MySQLJWTZodHostingerRazorpay
01 / Product Context

Why this system exists.

PYQPath is a multi-exam question intelligence and practice platform. It started with UPSC Mains previous-year questions and grew into a product with public discovery, registered student workflows, premium question access, paper building, saved papers, downloadable answer-writing layouts, and a dedicated admin console.

Previous-year questions are valuable only when students can retrieve them by the way they actually study: exam, paper, subject, topic, year, marks, keywords, and combinations of those dimensions. The engineering problem was not just building a searchable list; it was creating a consistent content model, protecting premium workflows at the API layer, generating useful practice artifacts, and still keeping public pages discoverable.

02 / Engineering Role

End-to-end ownership.

I worked across the full product path: React/Vite application flows, Express APIs, JWT-based authentication, MySQL schema and migrations, question import and search-quality tooling, entitlement enforcement, paper-building workflows, admin operations, SEO generation and public-route prerendering, plus deployment-oriented release checks for Hostinger.

03 / Architecture

The product as connected layers.

01

Public + student surfaces

React routes separate public discovery from authenticated student and admin experiences. Public pages remain lightweight while advanced question and paper workflows live behind account and entitlement checks.

React · Vite · React Router · Helmet
02

Application API

Express exposes question, paper, account, preview, and administrative endpoints with authentication, rate limiting, validation, and server-side access enforcement.

Node.js · Express 5 · JWT · Zod · Helmet
03

Question intelligence data

MySQL stores the canonical question bank and the dimensions needed for filtering, papers, access state, and content administration. Migrations evolve the product without replacing the data foundation.

MySQL · mysql2 · SQL migrations
04

Search + practice tooling

Import, verification, reindexing, search-quality tests, paper creation, saved papers, and answer-writing output turn the question bank into repeatable study workflows.

Search scripts · Paper builder · jsPDF · html2canvas
05

Access + public delivery

Public preview endpoints return only explicitly sampled questions while paid APIs enforce entitlement on the server. Build scripts generate SEO assets and prerender public routes for discoverability.

Entitlements · Preview API · Prerender · Hostinger
04 / Core Workflows

Where product logic becomes behavior.

01

Search → filter → study

  1. Student enters a keyword or study scope
  2. API resolves filters across question dimensions
  3. Relevant PYQs are returned from the canonical bank
  4. The same structured data can feed practice and paper-building workflows
02

Build a practice paper

  1. Paid student selects question scope
  2. Questions are assembled into a custom paper
  3. Paper can be saved and revisited
  4. QCAB / print-oriented output supports answer-writing practice
03

Public preview → full access

  1. Visitor explores explicitly marked public samples
  2. Registered unpaid account sees access state and pricing
  3. Premium question and paper APIs remain blocked without entitlement
  4. Paid student receives the complete library and advanced tools
04

Admin content operations

  1. Admin manages the question bank
  2. Published questions can be searched and selected for public preview
  3. Migrations and import/verification scripts protect content consistency
  4. Admin bypasses student entitlement checks through dedicated administration flows
05 / Engineering Decisions

Not just what was built — why.

DECISION / 01

Enforce premium access on the backend

Hiding frontend links is not security. Complete question and paper endpoints require authentication and entitlement, while public visitors use separate preview endpoints that only return rows explicitly marked as samples.

DECISION / 02

Treat taxonomy as product infrastructure

Search quality depends on structured exam, stage, paper, subject, topic, year, marks, and related metadata. Keeping that foundation canonical makes filtering and future intelligence features easier to evolve.

DECISION / 03

Separate discoverability from the private app

Public routes get SEO generation and prerendering, while authenticated student/admin workflows remain application routes. Search engines receive useful public content without exposing premium data.

DECISION / 04

Build release contracts around critical flows

The repository includes focused scripts for search quality, scope contracts, taxonomy, public preview, payments, SEO, and pre-launch checks so product changes can be verified against intended behavior.

06 / Challenges

Complexity designed around.

CHALLENGE / 01

Rich filtering without inconsistent content

A question can participate in several study dimensions. The data model and import/verification tooling had to keep those dimensions coherent enough for combined search and paper generation.

CHALLENGE / 02

Public product demonstration without leaking premium content

The public preview was separated from the full question library at both frontend and backend levels, with dedicated preview APIs and explicit sample flags.

CHALLENGE / 03

SPA usability plus search discoverability

Public marketing and content routes need crawlable output while the student product behaves like an application. Build-time SEO generation and prerendering bridge those different requirements.

CHALLENGE / 04

Growing beyond a simple PYQ list

As paper building, saved papers, access control, admin tooling, payments, writing workflows, and release checks were added, the architecture had to keep the question bank as the stable core instead of fragmenting into separate features.

07 / Outcome

What the system supports now.

  • Public visitors can preview selected questions without receiving the complete premium library.
  • Paid students can use the full GS/Optional library, advanced filters, paper builder, saved papers, and QCAB-style output.
  • Admin workflows control question-bank content and which questions are exposed as public samples.
  • Search, import, verification, migration, and release scripts support the data lifecycle behind the visible product.
  • Public routes can be prerendered for discoverability while private application routes remain access-controlled.

The PYQPath production repository is private. This case study describes implemented product behavior and repository structure without exposing private data, credentials, or proprietary question content.

← BACK TO SELECTED WORK