Hey everyone — I wanted to share something I've been building and get some honest feedback from people who actually know what they're doing.
Live site: https://matric-helper.onrender.com Code: https://github.com/bonolomohuba/matric-helper
The problem
In South Africa, matric students applying to university have to deal with information scattered across 26 different university websites — different deadlines, different APS (admission point score) requirements, different application fees, different certification rules for documents. A lot of students (understandably) find this overwhelming, especially if they're the first in their family applying to university and don't have anyone to walk them through it.
What I built
Matric Helper pulls this into one place:
A directory of all 26 SA public universities with real deadlines, APS requirements, and application fees
An APS calculator — enter your subject marks, get your score, and see which universities you currently qualify for
Search (including common aliases, e.g. "Tuks" finds University of Pretoria)
A comparison tool for two universities side by side
Curated links to free official study materials (past papers, free textbooks)
A "favorites" list using Flask sessions (no login required)
I'm also offering a small paid service (R40) where I personally complete and submit a student's application for them, since a lot of students find the online forms themselves confusing
Tech stack
Plain Flask, Jinja2 templates, vanilla CSS (no frontend framework), Flask sessions for favorites, deployed on Render with Gunicorn. No database yet — everything is a Python list of dictionaries, which has honestly been a fun constraint to work within.
Where I'm at
This is my first real project — I was learning Python fundamentals (loops, functions, dictionaries) a few weeks ago, and built this as I went. It's live and functional, but I know there's a lot I don't know yet.
I'd genuinely appreciate feedback on:
Anything that looks fragile or like it'll break under real use
Whether the session-based favorites approach is reasonable for now, or if I should prioritize a real database sooner than I think
General code structure feedback — I've been putting everything in one Python file and I have a feeling that's going to become a problem as it grows
Thanks for reading
Top comments (0)