AI in medicine · 2026
Alumni system
An offline desktop app that finds where the faculty's graduates went and what they've published. I programmed it with AI coding agents, and I kept AI out of the decisions: a person approves every match.
- Role
- Programmer
- Years
- 2026
- Built with
- Python
- FastAPI
- pywebview
- PyInstaller
- AI coding agents

Searching a class year by specialty and country. The cohort is fictional.
01
The problem
The faculty keeps its graduates as name lists, one for each class year. A list like that can't tell you which of them became cardiologists, where they work now or what they've published.
02
What I built
Prof. Dr. Ehab El Refaee and I came up with the idea for the alumni system together, and I programmed it with AI coding agents. They worked through the plan one task at a time, and I checked each step before the next one began. More than 500 automated tests run on what they built. The result is a desktop app for macOS and Windows that runs without a server. You bring in a class list and search for each doctor online, and every fact you keep shows where it came from. Inside the app I kept AI out on purpose. A fixed rule suggests each match, and a person decides.

The review queue. A person decides whether the online record is the same doctor.
03
How it works
- Everything lives in one encrypted file on the computer. The app opens in its own window, in Arabic first with English beside it.
- Class lists come in from Excel or CSV. You map the columns and look over the rows before anything is saved, and bringing in the same list twice never duplicates anyone.
- The online search starts with OpenAlex. After that it moves on to the other research databases, PubMed among them.
- Each possible match gets a score from a fixed rule. Half of it comes from the name. A quarter comes from a link to Kasr Al Ainy, and specialty and timing make up the rest. The name check knows the usual English spellings of 212 Arabic names, and it learns a new one each time someone accepts a match.
- Every possible match waits in a review queue. Someone looks at the name on the list next to the online record and decides whether it's the same doctor, or leaves it as unsure. However high the score, nothing is linked on its own.
- Each doctor's card shows the source of every fact, the date it was added and how confident we are in it.
- The pictures here come from a demo cohort that is fictional from start to finish.
On the class list
Medhat Mahmoud El-Kady
OpenAlex candidate
Medhat El-Kady
0.95Match score
- The name matches closely.
- His first paper came out in 2011, which fits a 2006 graduate.
This doctor is from the fictional demo cohort. However high the score, nothing is linked until someone says yes.

Every fact keeps its source, its date, how sure we are and who entered it.

Bringing in a name list takes four steps, and the file is deleted once the import is done.
04
What it changed
- 0
- Matches linked without a person saying yes.
- 500+
- Automated tests run on the app.
- 2
- Builds: one for macOS and one for Windows.