SSC Rank
An unofficial examination ranking platform built on 150,000+ records scraped from the government board. A Python pipeline generates static datasets, so the public ranking path answers without touching a backend. Used by 10,000+ students.
- Role
- Sole engineer
- Year
- 2026
- Type
- Data, Web, Systems
boardrank.pages.dev/
Open
150,000+
Records scraped
10,000+
Students reached
0 backend reads
Ranking queries
Problem
Board results are published one roll number at a time. There is no way to see where a student actually stands, and result-day traffic is brutally spiky - a site that hits a database on every lookup falls over exactly when people need it.
Approach
Scrape the board once, rank offline, serve statically. A Python pipeline pulls 150,000+ records from the government board, processes them, and generates static JSON that a CDN serves directly. Roll lookup, name search, board rankings, school rankings and subject-level detail all read generated files.
Pipeline to CDN
The Python scraping and analysis pipeline produces the generated datasets, which plain HTML, CSS and JavaScript consume on Cloudflare Pages. The public ranking path is intentionally static, so a result-day traffic spike is a CDN problem rather than a database problem.
The one dynamic piece
A shared traffic counter runs as a Cloudflare Pages Function backed by a D1 database. A visit counts once per browser tab session; active sessions are those with a heartbeat in the last 60 seconds, and daily totals use UTC.
Outcome
Live and used by more than 10,000 students, covering SSC 2026, Chattogram Board, and the science, humanities and business studies streams. The most-used thing I have built.
What it taught me
- Deciding what does not need a server is an architecture decision, not a shortcut.
- A CDN plus generated JSON absorbs a traffic spike that would take a small backend down.
- Getting the data was most of the work. The ranking was the easy part.