Skip to content
Selected work
003/Case study

DentalLink

Matching patients who can't afford care with supervised dental students.

PL.003 · 2026
Shipped2026
Year
2026
Status
Shipped
Interface
Arabic — English toggle
Stack
Next.js 16 · TypeScript · Supabase · Tailwind CSS

The constraint

Two shortages that solve each other: patients who cannot pay clinic rates, and dental students who need supervised clinical hours to qualify. Neither side had a way to find the other.

The hard part

Patients upload clinical images, so row-level security had to be right before anything else shipped — every read path is scoped at the database, not the application. The interface opens in Arabic and keeps English behind a toggle, laid out right-to-left from the start rather than mirrored as an afterthought.

The two shortages meeting at the front door: one way in for students, another for patients.
The two shortages meeting at the front door: one way in for students, another for patients.
The same screen in English. The interface is bilingual in both directions rather than an RTL layout mirrored as an afterthought.
The same screen in English. The interface is bilingual in both directions rather than an RTL layout mirrored as an afterthought.
The front door on a phone, still offering both ways in.

Front door

DentalLink · 390px