A telemedicine MVP for a Belgian client out to disrupt European telehealth. The platform connects patients and practitioners on one web app, secured by blockchain and built accessibility first, with the patient and the doctor each getting an experience shaped for them.

What is Clinio?
Clinio is a telemedicine platform for a Belgian client, connecting patients to medical practitioners across Europe. Book a doctor, hold a video or in-person consultation, and manage records, prescriptions and schedules. One web app, two roles, with a blockchain backend for sensitive medical data.
Why this project?
An MVP for a client out to disrupt European telehealth. Post-COVID, demand had surged, but 41% of patients still struggled to access telehealth and a third of providers were unhappy with existing tools. The opening was a platform built for usability and trust, not just features.
How do you build one platform for two opposite users, a low-confidence patient and a busy doctor, without shortchanging either, when the data involved is the most sensitive there is?
A retired patient and a practicing doctor want almost opposite things. Build one experience for both and you serve neither well.
Sofie, 52, low tech literacy, lives alone, can't 'ask for help.' If the platform loses her, it loses the people who need telehealth most.
Medical history is the most sensitive data there is. Without visible security, no usability win matters, because nobody signs up.
Eight weeks, with scope creep
An MVP timeline that kept growing. The work had to absorb new scope without forcing a redesign.
Two roles, one codebase
Patients and practitioners needed distinct experiences that still shared components, so the team could build both at once.
Blockchain backend, under GDPR
A blockchain smart-contract backend and European privacy law shaped what the interface had to promise and prove.
Designed to be developed
A React and shadcn build meant designing in real, reusable components from day one, not mockups a developer would have to reverse-engineer.
One platform, but never one-size-fits-all. The patient and the doctor each get a product built for them.
Design for the least confident user first.
Legible type, generous targets and plain labels, set by the patient who can't ask for help rather than the doctor who can.
Testing showed the first dashboard overwhelmed people, so the layout was contained into clear cards with one obvious next action.
The navigation everyone actually used was made collapsible, giving the screen breathing room, and the freed top bar became search.
Usability testing, n=7: 6 of 7 navigated by the sidebar (the top bar went unused) and 5 of 7 found the first dashboard overwhelming. Both findings became the redesign brief.
Split the platform by role, not by feature.
Patients lead with finding care and booking. Practitioners lead with managing a schedule and patients. Same bones, opposite priorities.
Patients live in blue, practitioners in green. A glance confirms which side of the platform you're on, with no label to read.
Both roles share the calendar, the cards and the chrome, so the team built two experiences from a single component set.
The two personas pulled in opposite directions: Sofie wanted a simple way to book from home; Eric, a young GP, wanted control over his availability and patient records. One generic dashboard would have failed both.
Design it to be built, not just to be seen.
Designed in React and shadcn building blocks from the start, so what I handed over mapped to what the team would code.
Building from reusable components meant new scope slotted in as new arrangements, not new redesigns. That is how v1 still shipped.
The deliverable was a functional, reusable Figma file, a system the team could keep building on after I left.
Consent you can see, at the moment it matters.
Before a booking confirms, the patient hits a Data Sharing step: a single toggle for whether to share their medical history with the practitioner, paired with a plain-language note that Clinio stores data on a blockchain under GDPR. Privacy isn't buried in a settings menu or a policy nobody reads. It sits in the flow, right where trust is decided.

In healthcare, the security model is part of the interface. If users can't see the trust, it isn't doing its job.





Version 1, delivered end to end in eight weeks, despite a moving target.
Brand, research, a two-role product and an interactive prototype, delivered and handed to the team for a React build.
A growing MVP brief, absorbed through modular components rather than redesigns, so v1 still shipped on time.
A functional, reusable Figma file. The system, not just the screens, was the deliverable. No public launch numbers to claim.
The honest outcome is a shipped v1 and a system the team kept building on, not a usage metric. What held up under scope creep was the decision to design in real components from day one.
Design for the edge, the middle comes free
Building for Sofie, the least confident user, produced an interface that was easier for everyone, including the doctor who could have handled more complexity.
Two roles is two products
Trying to please a patient and a practitioner with one screen pleases neither. Splitting the IA, held together by one system, was the unlock.
Components are how MVPs survive scope creep
The brief grew the whole way through. Designing in reusable, dev-ready pieces is the only reason version 1 still shipped in eight weeks.
Validate the live build
The prototype tested well. The real proof is patients booking and doctors managing schedules in the shipped React app.
Push accessibility further
Screen-reader support and high-contrast modes were a stated need from low-vision patients. Make them first-class, not a setting.
Earn the trust claim
The blockchain promise needs to be legible to non-technical patients. Test whether the data-safety note actually builds confidence.
Connect the health ecosystem
Patients asked to sync wearables and health apps. A connected record is the next reason to stay on Clinio between visits.
