Case Study 02

Education Platform Speed Rebuild

Diagnosis and resolution of performance and Core Web Vitals problems on a CodeIgniter-based education platform serving thousands of daily users in India.

PHP CodeIgniter MySQL Core Web Vitals Technical SEO India Ed-tech
6.2s
Before
1.4s
After
Project Overview

The Platform and the Problem

The platform is an India-based education/e-learning site built on PHP and CodeIgniter, serving thousands of daily users across courses, lessons and instructor content. Page load times had climbed to roughly 6.2 seconds — slow enough to affect both user experience and Core Web Vitals.

My work covered diagnosing where the time was actually going across the application stack, then making targeted changes to bring load time down to around 1.4 seconds.

Systems View

Treating Speed as a Systems Problem, Not a Front-End Tweak

Before optimizing anything, it helps to lay out the full path a request takes — because the bottleneck is rarely where people assume it is.

01User request — browser sends an HTTP request for a course or lesson page.
02CodeIgniter controller/model — application logic processes the request and queries MySQL.
03Database — course, lesson and instructor data retrieved via MySQL queries.
04HTML response — server generates and returns the page.
05Browser rendering — CSS, JavaScript, images and fonts load and the page becomes interactive.
Diagnosis

Where the Time Was Going

Performance issues on a database-driven application rarely have a single cause. The diagnosis worked through each layer of the stack rather than assuming it was "just the front end."

  • Application/PHP: controller and model execution time under load
  • Database: query patterns, joins, indexing and repeated/unnecessary queries
  • Front end: unoptimized CSS, JavaScript and image weight
  • Rendering: HTML structure and the critical rendering path
Core Web Vitals

What Was Actually Being Measured

LCP

Largest Contentful Paint

How quickly the primary content of a course or lesson page becomes visible to the user.

INP

Interaction to Next Paint

How responsive the page is once a student starts clicking through lessons or navigation.

CLS

Cumulative Layout Shift

How stable the layout stays while images, ads or dynamic content load in.

Backend Performance

CodeIgniter and MySQL Changes

The largest gains came from the database and application layer rather than the front end: reducing repeated queries per page, adding indexes on frequently filtered columns, simplifying joins across course/lesson/instructor tables, and cutting unnecessary application processing in controllers that were doing more work than the page actually needed.

Content Structure

The Platform as a Knowledge System

Beyond raw speed, the platform's value depends on how clearly its content is structured — which also happens to be what helps both crawlers and users navigate it efficiently.

Course, and what it relates to
Course → belongs to → Category
Course → taught by → Instructor
Course → contains → Lesson → links to → Learning Resource
Outcome
Load Time Improvement
6.2s → 1.4s
Context

India-based education platform, thousands of daily users, following backend and database-level intervention.

Measure

Page load time, before vs. after the engineering changes described above.

Performance optimization is most effective when treated as an application engineering problem, not a collection of isolated front-end tricks. Understanding the full request path — controller, database, response, render — mattered more here than any single front-end fix.