Next.js / Tailwind / AI integration — 2025
Doctors.ng
Doctors.ng gives Nigerian doctors a verified professional identity, and gives patients a trustworthy way to find them. I worked on the front end — the directory and profile pages people search, and the AI symptom checker that helps them work out who they need to see.

The problem
Anyone can claim to be a doctor online, and patients looking for care have had to fall back on word of mouth or whatever a search engine happened to surface. The product had to do two things at once: make a doctor's verification visible and credible at a glance, and give a patient somewhere to start when they don't yet know what kind of specialist they need — without ever behaving like a diagnosis.
What I built
- 01Built the verified doctor profiles and the searchable directory in Next.js and Tailwind.
- 02Server-rendered profile pages so each doctor is indexable by name and produces a real preview card when the link is shared.
- 03Built the AI symptom checker interface — collecting symptoms conversationally, then turning the result into a recommended specialty and a shortlist of verified doctors.
- 04Designed the verification signals so a verified profile reads differently from an unverified one at a glance, without needing a paragraph of explanation.
- 05Handled the model's failure modes in the UI: uncertainty, refusals and vague input all resolve to seeing a real doctor, never to a dead end.
Decisions
Route, never diagnose
A symptom checker that names a condition feels far more impressive and is far more dangerous. The output is always a specialty and a list of doctors, never a diagnosis, and the copy never implies the model has assessed anyone. It is a deliberately less clever product, and the only version of it I would ship in healthcare.
Render profiles on the server
A doctor’s profile is the unit that actually gets searched for and shared. Rendering it server-side means it can be indexed by the doctor’s name and unfurls into a proper preview when someone passes the link around — which is how most of these links travel. Client-side rendering would have been simpler to build and invisible to both.