University Ranking Backend: Code Deep Dive (Part 1)

In this post, we will dive deep into the code structure of the University Ranking Backend. We’ll explore the entry point of the application and the core logic that powers the university search and filtering system. 🏗️ High-Level Overview The backend follows a standard Model-View-Controller (MVC) pattern (where the “View” is JSON output). app.py: The entry point that initializes the app and registers routes. routes/: Handles HTTP requests, parses parameters, and delegates logic to models. models/: Contains the business logic and database interactions. db/: Manages the SQLite database connection. 1. The Entry Point: app.py This file is the heart of the application. It sets up the Flask server, configures security, and connects all the moving parts. ...

December 7, 2025

Building a University Ranking Backend with Vibe Coding

In this post, I’ll share the journey of building a University Ranking Backend, a RESTful API designed to aggregate and serve university ranking data from prestigious sources like QS and US News. We’ll explore the “vibe coding” strategy used to build it, the technical methodology, and the core algorithms that make it tick. 📚 Read the Full Series This project is too interesting to cover in just one post! I’ve broken down the technical details into a deep-dive series: ...

December 7, 2025

University Ranking Backend: Code Deep Dive (Part 2)

In Part 1, we explored the core search logic and API structure. In this second part, we’ll dig into the Data Layer—how data is normalized, stored, and retrieved in detail. We’ll also look at the utility scripts that power the backend’s intelligence. 1. The Data “Glue”: utils/normalize_name.py One of the biggest challenges in aggregating data from multiple sources (QS, US News, Niche) is that they all name universities differently. “MIT” might be “Massachusetts Institute of Technology” in one dataset and “Mass Inst of Tech” in another. ...

December 7, 2025