The problem
In Italy, becoming a state school teacher means passing a public competitive examination: thousands of candidates, rules that change with every call, and preparation material scattered across forums, PDFs and photocopies. Candidates were buying a book for the theory, a different app for the quizzes, and following news about deadlines on social media. Nothing talked to anything else, and nobody could tell them how ready they actually were.
What I built
A single platform that covers the whole journey, from the first quiz to the appointment, with everything connected:
- Quizzes and mock examinations that reproduce the real test, split by the role being applied for: nursery, primary, lower and upper secondary, and special needs support.
- Theory tied to the questions, so a wrong answer leads straight to the page that explains it.
- An AI assistant that answers questions on the syllabus and on the rules, and builds a study path from the candidate’s own results instead of a fixed schedule.
- A newsroom publishing calls for applications, deadlines, legislation and rankings — the part that brings people back to the site every week, not just before the exam.
- Three subscription plans, with billing, access control and the whole account lifecycle.
- A shop selling teaching materials, books and merchandise.
- iOS and Android apps, so studying continues on the commute.
How it performs
The home page, which carries a live news feed, a search function, a product catalogue and a social wall, is delivered in under half a second (450 ms measured from outside the hosting). That matters here: most candidates study on a phone, on public transport, on a patchy connection.
Built with
WordPress with a purpose-built theme — no page builder and no bought template — a custom data model for questions, syllabuses and study paths, subscription and payment handling, a REST layer feeding the two mobile apps, and large language models behind the assistant. Hosted in Italy.
Why it was done this way
The platform could have been a closed web application. It was built on WordPress instead for one reason: the newsroom. Publishing several articles a week about deadlines and legislation is what makes the site worth returning to, and it has to be done by the editorial team, on their own, without a developer in the loop. The examination side is custom code; the publishing side is a tool the client already knew how to use.


