At Mehran University of Engineering and Technology (MUET), Jamshoro, results are traditionally announced via large, static PDF tables. But the main issue is:
Every semester, the same story.
That frustration became my latest project.
To solve this, I set out to build the MUET Results Portal (https://muetresults.vercel.app
)—an independent, open-source lookup engine and administrative compiler that provides students with instant semester results, CGPA calculations, batch standings, and interactive academic calendars.
Here is an engineering deep-dive into how I built it using a serverless GitOps pipeline, vanilla JavaScript SPA, and Gemini AI.
To keep the platform hosting costs at absolute zero while maintaining lighting-fast page loads, I designed a pre-rendered static pipeline. Rather than querying a database at runtime, all student data is compiled statically.
Here is the GitOps workflow:
/mokshadmin
), I upload the scanned PDF/image. A serverless backend function streams the document to the muet_student_gpa_dataset.csv
) using the GitHub REST API.sitemap.xml
).For the student lookup portal, I avoided heavy frameworks like React, Next.js, or Angular. Instead, I chose Vanilla HTML5, CSS3, and ES6+ JavaScript modules.
/ranking/23CS
) at compile time, search engine bots read the completed tables instantly—even with JavaScript disabled.To ensure the portal became the #1 resource for MUET searches, I optimized it for generative AI answer engines (Generative Engine Optimization - GEO) and traditional search:
/result/*
) in robots.txt
and sent X-Robots-Tag: noindex
headers, preventing index bloat while focusing crawl budget on high-value tools.Building this portal taught me the value of solving real-world local problems. By focusing on performance constraints, clean semantic code, and automated AI data extraction, I was able to build a tool that helps thousands of students on campus.