E-commerce11 min read

Optical clinic Africa: glasses e-commerce + online booking (2026)

Mohamed Bah·Fondateur, Kolonell
May 17, 2026
Share:
Optical clinic Africa: glasses e-commerce + online booking (2026)

Optical clinic Africa: glasses e-commerce + online booking (2026)

E-commerce

Francophone African optical market: Senegal 18 billion XOF/year, Ivory Coast 28 billion, Nigeria $850M. A modern optician combines 3 revenue streams: eye exams (clinical), glasses (e-commerce + showroom), contacts (recurring).

TL;DR

- Hybrid stack: online booking (eye exam) + glasses catalog + virtual try-on.

- Webcam virtual try-on = +35% conversion.

- Recurring contacts via Wave subscription = stable MRR.

Optical clinic architecture

`

[Patient]

[Optical clinic site]

├── Frames + sunglasses catalog

├── Subscription contacts

├── Eye tests / consultation booking

├── Virtual try-on

└── Patient portal (my prescriptions, order history)

[Backend]

├── E-commerce (Medusa)

├── Booking (Cal.com integrated)

├── Frame + lens stock

├── Prescription tracking (correction)

└── Contacts subscription

`

Step 1 — product model

`prisma

model Frame {

id String @id @default(cuid())

slug String @unique

brand String

model String

type String

shape String

material String

colors String[]

gender String

priceXof Int

images Image[]

stock Json

isActive Boolean @default(true)

}

model Lens {

id String @id @default(cuid())

type String

material String

coatings String[]

priceXof Int

}

model EyeExam {

id String @id @default(cuid())

customerId String

scheduledAt DateTime

durationMin Int @default(30)

status String

examinerId String

prescription Prescription?

paymentXof Int

}

model Prescription {

id String @id @default(cuid())

customerId String

examId String @unique

rightEye Json

leftEye Json

pupillaryDistance Int

validUntil DateTime

}

model LensSubscription {

id String @id @default(cuid())

customerId String

lensProductId String

frequency String

nextDelivery DateTime

active Boolean @default(true)

}

`

Step 2 — virtual try-on

`tsx

'use client';

import { useEffect, useRef } from 'react';

export function VirtualTryOn({ frame }) {

const videoRef = useRef(null);

const canvasRef = useRef(null);

useEffect(() => {

async function setup() {

const stream = await navigator.mediaDevices.getUserMedia({ video: true });

if (videoRef.current) videoRef.current.srcObject = stream;

const faceDetection = await loadFaceDetection();

function loop() {

if (videoRef.current && canvasRef.current) {

const detections = faceDetection.detect(videoRef.current);

drawFrameOnFace(canvasRef.current, frame, detections);

}

requestAnimationFrame(loop);

}

loop();

}

Need a professional website?

Kolonell builds websites that attract clients, optimized for the Sénégalese market. Free quote in 2 minutes.

setup();

}, [frame]);

return (

);

}

`

Try-on = +35% conversion on product pages.

Step 3 — checkout with correction

`tsx

'use client';

export default function LensOptionsPage() {

const [hasPrescription, setHasPrescription] = useState(null);

const [prescription, setPrescription] = useState({});

const [lensType, setLensType] = useState('single_vision');

const [coatings, setCoatings] = useState([]);

return (

Configure your lenses

Do you have an optical prescription?

{hasPrescription === true && (

Enter your correction

)}

{hasPrescription === false && (

Free clinical eye test (with purchase)

)}

Lens type

Coatings

Anti-reflective (+8,000)

Blue light (+12,000)

Photochromic (+18,000)

);

}

`

Step 4 — contact lens subscription

`tsx

Contact subscription - never run out

Your contact box delivered automatically

25,000 XOF / delivery

-15% vs individual purchase · Cancel anytime

`

Subscription = stable MRR. 1 loyal contacts customer = ~300K XOF/year recurring.

Step 5 — eye exam booking

See dental clinic method → — similar pattern:

  • Cal.com integrated
  • Optometrist availability slots
  • SMS + WhatsApp confirmation
  • Digital prescription capture in office

Step 6 — local SEO + e-commerce

Target articles:

  • "Cheap glasses Dakar: 2026 quality guide"
  • "Eye test Almadies Cocody: how much?"
  • "Contacts or glasses: pros and cons"
  • "How to choose the right frame per face"
  • "Blue light blocker: useful or marketing?"

GMB optimized "Optician Dakar" / "Eyewear Almadies" like dental method →.

Real case — Almadies optical clinic

MetricBeforeAfter 12 months
Eye tests/month65145
Glasses sales/month3892
Contact subscribers078
Recurring MRR01.95M XOF
Total monthly revenue4.8M XOF12.6M XOF

FAQ

Q: Accurate virtual try-on?

A: ~80-85% accuracy in 2026 (MediaPipe Face Mesh). Enough for pre-selection. Physical try recommended before final purchase.

Q: Selling corrective glasses without local prescription?

A: In Senegal, prescription mandatory for corrective lenses. Non-corrective sunglasses = free. CI similar.

Q: Competition?

A: Optique 2000 (international), Sun Vision (SN), Optical World (CI). Far from saturated market. Premium niche reinventable.

Conclusion

A digitalized optical clinic = 2-3× revenue of classical clinic. 15-30M XOF investment for full stack (e-commerce + try-on + booking + subscriptions). 18-24 month ROI on average optician.

Tags:#Optical#Glasses#E-commerce#Health#Try-On#Africa
Share:

Mohamed Bah

Fondateur, Kolonell

Passionate about digital and entrepreneurship in Africa, Mohamed has been helping Sénégalese businesses with their digital transformation since 2020. Founder of Kolonell, he believes every SME deserves a professional and accessible online présence.