Campus Grade Lookup System
A homemade, modern grade lookup system built on top of our school's old one, adding a mobile app, notifications when new grades are posted, and a much more modern interface.

How It Started
Our school outsources its grade system to a company called Shinher Information. There’s so much to complain about in their interface logic and design that I don’t even know where to start. Around the same time, one of the optional assignments in our IT class was to train your own image recognition model, and a classmate of mine who also loves building stuff picked it. While they were showing off how accurate their CAPTCHA-solving model was, I said, why don’t we just build a whole new grade lookup system? We were instantly on the same page. They’d handle the scraper, and I’d handle the API, the server, and the interface design. So here’s the part I worked on.
How I Built It
- Installed (via pip) the library my classmate wrote for scraping data from the original grade system
- Built a simple API server with flask-socket and ngrok
- I wasn’t familiar with HTML/CSS/JS back then, so I used ChatGPT to whip up a simple, decent-looking lookup page
- Built an iOS app with SwiftUI (no ChatGPT this time, about 40% done so far)


What I Learned
This project taught me a lot about networking, like routers, sockets, and the difference between HTTP and HTTPS. It also got me interested in HTML/CSS/JS, and I started learning them that summer.
Doing web design with ChatGPT, I also found out that as powerful as AI is, it’s still not great at big projects. There’s a character limit on how much code you can send, so you have to split it up into chunks, which really slows you down. You also need some real fundamentals to code with AI. This time, whenever something didn’t run, I had no idea how to debug it, so I spent a ton of time going back and forth with it. In the end the result looked pretty good, but the code was a total mess and full of useless junk. And because our communication was bad from the start, the whole architecture got super weird. Eventually I just started teaching myself HTML/CSS/JS and tore the whole site down to rebuild it from scratch.
But while I was working on version two, the school updated its grade system and the interface actually got nicer. After talking it over with my classmate, we decided our time was precious, and even if we finished it, it wouldn’t be that appealing to other students anymore. So we dropped the web version. Even though we didn’t keep going, I came out of it knowing the basics of HTML/CSS/JS 👍
As for the iOS app, I wanted to learn Swift anyway, so I kept building it as a practice project. Thanks to it, I learned SwiftUI, how to build forms, tab bars, and stack-based layouts. This grade system makeover really leveled up my skill tree like crazy!