I build websites for a living, but the project I am proudest of is the platform for the Future Thinkers Club, a club for Jordanian school students who want to build things, read together, and start small projects. The platform lives at https://f-thinkers.vercel.app, and one of its most useful parts is something you never see on the homepage: a complete dataset of every school in Jordan.
The problem: students need to pick their school
When a student signs up, they pick their school. That sounds simple until you ask where the list comes from. Jordan has thousands of schools, grouped by governorate and then by directorate, the administrative areas the Ministry of Education uses. There was no tidy list I could just plug in, so I built one.
The dataset covers 12 governorates, 42 directorates, and 2,601 schools, ordered by the Ministry's official directorate structure. The API returns real data: ask for a directorate and you get its schools, ask for a governorate and you get its directorates.
How it fits into the platform
The platform itself is React on the frontend and Python on the backend, with Turso as the database. The schools data sits behind an API endpoint, so the signup form, the school directory, and anything else that needs a school list all read from the same source. One dataset, used everywhere, instead of a copy pasted into every page.
Getting the structure right mattered more than getting it fast. A school in the wrong directorate is worse than a missing school, because a student trusting the list would land in the wrong place. So the data follows the official structure: governorate, then directorate, then school.
What it enables
With the dataset in place, students from different schools across Jordan can find each other on the same platform, join the same club, and form teams across schools. A school list sounds like boring infrastructure, and it is. But it is the piece that makes everything else on the platform work: you cannot network students across schools if the platform does not know which schools exist.
The project is one of the 17 live builds on my portfolio at https://rayyans-showroom.vercel.app/projects/future-thinkers. If you are building anything that needs a real, structured dataset, my advice is simple: spend the time on the structure first. The features you build on top of it will be easy. The features you build on a messy dataset will not.
