Some time ago, I created a small project—a website that allowed Cameroonian students to check their GCE results online. It started as a side project. I was experimenting with Vue for the front end, and the backend was handled in PHP. My brother helped me set up the backend API back then, so I didn’t have full control or visibility over how everything was working behind the scenes.
Eventually, I got access to the cPanel, but managing it was more stressful than I expected. Hosting both the website and backend there came with its own problems, especially with downtime. It just wasn’t the vibe I wanted for something meant to be quick, easy, and reliable, especially during peak GCE results season in Cameroon when students really need to access their grades fast.
How I Rebuilt It in a Single Night (Yes, Really)
For the longest time, I’d been thinking about open-sourcing the project. But with everything going on, I never really found the right time. That changed when I started playing around with AI tools and realized just how much faster and cleaner it is to build projects now. So I gave myself one night to migrate and rebuild everything from scratch—and it worked.
I decided to go with Supabase for the backend and Next.js for the frontend. Every single line of code in the rebuilt version was generated with the help of AI—seriously. I used Cursor IDE to basically “vibe code” the entire project again. From front to back, I had a functioning website in just a few hours.
Making the Stack Cleaner and More Manageable
Thanks to MCP servers, I could directly interact with my Supabase database, create the project structure, and set up everything without diving into endless manual configs. The only real "manual" part was migrating my old SQL database to Supabase Postgres, which honestly felt like a breeze compared to building everything else from scratch.
I also used this opportunity to set up a proper CI/CD pipeline and organize the codebase in a way that makes it clean and easy to manage. Now it’s ready to be open-sourced, and you can check out the GitHub repo here:
👉 gce_results_website on GitHub
The New Website: Simple, Fast, and Focused
The new website is live at gceresults.jeangineer.com. It’s simple on purpose. On the homepage, users can search GCE results by Student Name, Center Number, and School Name.
The year and exam level are automatically loaded from the database, so students only need to enter basic info to get their results. Once the search is submitted, the site displays the results and paginates them locally for faster loading and a smoother experience.
Deployment & Dev Experience
I deployed the frontend on Netlify, which auto-deploys every time I push to the main
branch. I also set up a staging environment for development (develop
branch), so it’s easy to test updates before pushing them live.
The overall development experience was honestly fun. Of course, I ran into a few challenges—like dealing with primary keys during the database migration and a couple of weird bugs here and there—but nothing that blocked progress. I’d say I hit about 95% of my goals within a 5-hour timeline.
What’s Next?
Now that everything’s more manageable and the tech stack is no longer a limitation, I’m thinking about building native versions of the site for Android and iOS. It’s definitely doable now.
Final Thoughts
This project wasn’t just about building a tool—it was about solving a real need for students across Cameroon who want to check their GCE results online quickly and reliably. Every year, searches like:
-
“GCE results 2024 PDF Cameroon”
-
“Download GCE results online”
-
“How to check GCE results”
-
“GCE Board result site Cameroon”
…skyrocket around July and August when the results are released. So if you're a student looking for a simple way to check your scores, or a developer interested in building education tools, this site might be worth bookmarking—or even contributing to.
Comments
Post a Comment