Younex built the Asma Wellness platform at asmawellness.com: a therapy platform where patients choose their own therapist, book a session online or at the clinic, and join the video session from the browser without installing any app. Alongside the sessions there is an instant consultation with an on-call specialist, session packages, a course academy whose certificates have a public verification page, and in-person workshops, and the whole platform runs in Arabic and English. The front end is built in Next.js and the server in Laravel, with panels for the therapist, the clinic and the management.
Overview
Asma is not a brochure site for a clinic. It is the place all the work goes through: the patient looks for a therapist, books, pays, attends the session and talks to their therapist in the chat; the therapist sets their schedule and time off and sees their sessions; reception checks in the people who come to the clinic; and the management follows orders, payments, enquiries and courses from one place.
The idea we worked from from the start was that a patient should never be asked the same question twice, and should never need to call anyone to find out something basic. The session fee is written on the therapist's card, the session type (online or at the clinic) is visible before booking, the cancellation policy is written on the packages page and the policy page, and the times on offer are the times that are actually free in the therapist's schedule.
At the same time the platform holds an almost complete learning product that works on its own: courses split into units and lessons, protected video, quizzes, progress tracking, and a certificate with a serial number anyone can check. That is what let the centre sell learning content and run workshops and therapy groups from the same account the patient uses to book their sessions.
About the client and the sector
Asma is a mental health centre in Heliopolis, Cairo, offering individual therapy, couples therapy and therapy for children and teenagers, at the clinic and online. The centre's team includes psychologists and psychiatrists, each with their own specialties, schedule and session fee. The centre takes patients from inside Egypt and from abroad, which is why the instant consultation has one price for people living in Egypt and another for people living outside it.
Mental health in Egypt has its own character. There is still a lot of hesitation before asking for help: many people don't know who to go to, don't know what a session will cost, and worry that someone will find out they are in treatment. In those cases the small details matter: can I see the therapist before I book? Is the session recorded? If I can't make it, do I lose my money? The platform had to answer those questions clearly, without selling promises.
The challenge
The first challenge was the first step itself. Someone who needs psychological help usually delays because they don't know where to start. If the site asks them to call a number and explain their situation to a stranger just to find out the price and the times, there is a good chance they close the page. So everything they need before deciding had to be in front of them, and anyone unsure who to choose had to find a way to be pointed in the right direction.
The second challenge was privacy. A therapy platform holds very sensitive data: video sessions, conversations between patient and therapist, questionnaire answers about someone's mental state, and therapists' documents and licences. All of that has to be protected in the design itself, not by a sentence on the privacy page. That means the session is never recorded at all, sensitive files never sit behind a public link, and every member of the management sees only what their job needs.
The third was the number of service types. There is a single session, a package of sessions tied to a therapist, an instant consultation without a set therapist, a session at the clinic, an online course, an in-person workshop with limited seats, a therapy group that needs an interview before payment, and psychological tests. Each of them has its own rules for payment, cancellation and attendance, and all of them had to run on the same account and the same money without getting mixed up.
The fourth was language. The centre wanted the platform fully in Arabic and English, not just translated headings, because it also takes patients from outside Egypt.
The solution
We built the platform in two parts: a front end in Next.js and TypeScript for the public site and the panels, and a Laravel API for the logic and the data. The sensitive rules, such as preventing clashing appointments, deducting a session from a package and calculating what a therapist is owed, live in one place on the server, so whoever books (the patient, the therapist or the management) goes through the same rules.
For the first step we made three clear entry points on the home page: an instant consultation if you need to talk to someone today, a session package if you plan to continue with a therapist, and a single session if you want to get to know the therapist first. For anyone unsure what to choose, there is a four-step matching questionnaire that starts with the type of care (instant consultation, individual therapy, couples therapy, children and teens) followed by a few short questions. The answers are saved as a follow-up request in the centre's CRM, so someone from the team gets in touch and recommends the right specialist.
For privacy, a video room is created for each session on its own, every participant gets their own access token, and the room opens and closes within a window around the session time. Recording is switched off in the room's own settings, not just hidden behind a button. Therapists' documents and transfer receipts are kept on a private disk outside the public site, and they open through a signed link that closes by itself after 30 minutes.
For the number of service types, every service was built as an order with a reference number on the same payment layer, and each type has its own rules: a package is tied to the therapist and the service type and has a validity period, a workshop holds a seat and opens the order, and a therapy group takes an application and an interview before the patient pays.
Technical specifications
| Item | Details |
|---|---|
| Project type | An online and in-clinic therapy platform with a course academy, workshops and therapy groups, and panels for the patient, the therapist, the clinic and the management |
| Front end | Next.js 16, React 19 and TypeScript, styled with Tailwind CSS 4, with RTL and LTR direction switched from the page root according to the language |
| Server | Laravel 13 on PHP 8.3, sign-in through Laravel Sanctum, and scheduled jobs for reminders, closing stale sessions and backups |
| Database | MySQL, with content stored in separate Arabic and English columns for therapists, courses, articles and packages |
| Video sessions | In-browser video rooms with a token per participant, a switchable provider (Agora or Daily.co), recording switched off in the room settings, and guest links for a session without an account |
| Course video | Playback through short-lived signed links, with storage on a private disk, Bunny Stream or Mux |
| Payments | A unified payment layer that routes the payment method the patient chose to the configured gateway, with integrations written for Paymob, Kashier, Tap and HyperPay, a review queue for manual transfers such as InstaPay, plus coupons, configurable tax and refunds |
| Certificates | A serial number in the format ASMA-YYYYMM-XXXXXX made of letters and digits that can't be confused when read, more than one certificate design in Amiri and Cormorant, and a public verification page |
| Fonts | Readex Pro across the whole platform, in Arabic and English |
| Permissions | Management permissions split into areas, each with a read level and a write level, and every change made by the management recorded automatically in an activity log |
| Export | CSV export of the data with an encoding that lets Excel read Arabic correctly |
| Tests | Automated Laravel tests for the booking engine, rescheduling, guest sessions, chat and more |
Key features
A therapist directory by specialty and fee
Every therapist has a page with their qualification, specialties, experience and session fee, and whether they work online, at the clinic or both. The directory filters by specialty, session type (individual, couples, teens) and provider (psychologist or psychiatrist), and can be sorted in more than one way. On the home page there are areas such as anxiety, depression, OCD, trauma and addiction, each opening onto only the therapists who specialise in it.
A booking engine with a clear cancellation policy
Times come from the weekly availability each therapist sets themselves, minus their time off and the slots already booked. Cancelling or rescheduling is free up to 24 hours before an online session, clinic sessions have a separate window, and both windows are settings that can be changed from the management panel. If the therapist is the one who cancels, the session is not deducted from the patient's balance. Sessions left open after their time are closed automatically every hour.
The instant consultation
The patient requests a 30-minute consultation and writes a couple of lines about what they need. The request waits in a queue, the first available on-call specialist takes it, a session is created and they meet in the video room. If nobody takes the request within a set time it expires instead of hanging open. After the consultation the specialist can recommend a therapist for the patient to continue with.
Session packages tied to the therapist
There are three packages, each with a number of sessions, a discount and a validity period. The package price is calculated from the session fee of the therapist the patient chose at the time of purchase, and the package is tied to that therapist and service type. The patient sees their remaining sessions in their account and books from them. If they want to change therapist, a change-of-therapist request moves the package with them.
Video sessions and chat without an app
The session opens from the patient's account at its time, inside the browser. Between sessions there is a chat between the patient and their therapist tied to the appointment, with read status and a notification. The therapist or the management can also create a session for a guest without an account and send them a link.
A complete course academy
A course is split into units and lessons, with one lesson available as a free preview before buying. The curriculum editor in the management panel saves the whole tree at once: reordering, renaming and deleting in a single request. Progress is recorded for every lesson, there are quizzes with attempts, and the management can see each learner's progress. A single subscription opens every course. Reviews are open only to people enrolled in the course, so every review comes from someone who actually took it.
Certificates with a verification page
In the training courses, once a learner finishes the lessons they get a certificate in their name with a serial number. The serial leaves out letters such as I and O and digits such as 0 and 1, so it can't be misread from a printed sheet. Anyone with the number can type it into the verification page and confirm the certificate was issued by Asma. The management can revoke a certificate or reissue it.
In-person workshops and therapy groups
Workshops are training meetings at the centre or on Zoom, with a limited number of seats and an early-bird price, and the management records attendance and issues attendance certificates to the participants. Therapy groups are led by a therapist for 3, 6 or 9 months; joining starts with an application and a short interview, and payment opens only after acceptance.
Panels for the therapist, the clinic and the management
The therapist sets their schedule and time off and sees their sessions, conversations and earnings. Reception checks patients in at the clinic. The management has users, therapists, orders, sessions, courses, certificates, accounting, payments, coupons, reports, content and support tickets. Therapist applications come in through a public form with document upload, and reviewing the documents is separate from accepting the application.
Implementation stages
1. Understanding the real work: we started with a lot of questions to the centre about how they actually work: what a session costs and how long it lasts, what happens if a patient is late or doesn't show up, when a patient can change therapist, when a package expires. Those answers became written rules, and then rules in the code.
2. Data and rules: we designed the database around the therapist, the appointment and the order, and wrote the booking engine in one place on the server, together with automated tests for booking, rescheduling and cancellation, so that any later change can't break an old rule.
3. The public site: the home page, the therapist directory, the course pages, the packages and the questionnaire. We focused on every page answering one clear question, and on the price and the way of attending being visible before any click.
4. Video and chat: we tied video rooms to appointments, set the window for opening and closing the room, switched recording off, built guest sessions, and the chat between patient and therapist.
5. The academy: courses, curriculum, protected video, quizzes, progress, certificates and the verification page, followed by workshops and therapy groups.
6. Panels and permissions: the therapist panel, the clinic panel and the management panel with its sections, area permissions, the activity log and export.
7. Two languages and operations: the full English version, a maintenance mode with one switch that closes the front end and the API together, scheduled jobs for reminders and backups, and then the launch on the domain.
User experience
The identity is taken from the Asma logo: green in its shades, with gold and orange from the spiral in the logo. Green is the colour of the buttons and headings, orange appears on the key word and the packages button, and gold on the instant consultation. The backgrounds are light and calm on purpose: someone opening a therapy platform is often already tense, and the page doesn't need to add to that.
The font is Readex Pro for Arabic and English, because it stays clear at small sizes such as card prices and lesson durations. The illustrations on the pages are calm and in the same colours, and there are no photos of patients anywhere.
At every step we tried to take a question out of the patient's head. The therapist card shows the fee and the session type. The packages page explains the steps from choosing the type of service to payment, and below it sits a summary of the policy: when validity starts, how a late cancellation counts, and what happens if the therapist cancels. The course page shows the whole curriculum with units and durations before purchase, and says plainly that digital content can't be refunded once access is activated.
On mobile all of this works in the same order, with the booking and instant consultation buttons close to the top of the screen. Switching to English takes one button in the header, and the whole page flips to left-to-right.
Results and impact
The platform is live at asmawellness.com in Arabic and English, booking is open for online and clinic sessions, and the courses and workshops are listed and open for registration. We won't publish any figures here about patients or sessions; that is the centre's data and nobody else's to see.
What we can say is that the centre now has one system instead of scattered pieces: appointments, payments, conversations, courses and enquiries are all in one place under the same account. The rules that used to live in the team's heads, such as the cancellation policy, the packages and changing therapist, are now written into the platform and applied to everyone in the same way. And the content, from articles and FAQs to packages and courses, is edited from the management panel without coming back to us.
Most importantly, a patient can now take the first step alone: look at the therapists and their fees, answer the questionnaire, or request an instant consultation, without having to explain their situation to someone on the phone just to find out how to start.
Frequently asked questions
What is the Asma platform?
Asma is a mental health platform Younex built for the Asma centre in Heliopolis, Cairo. It has a therapist directory, booking for online and clinic sessions, video sessions in the browser, an instant consultation with an on-call specialist, session packages, a course academy with certificates, and workshops and therapy groups, in Arabic and English.
Are the video sessions recorded?
No. Recording is switched off in the video room's own settings, not just hidden in the interface. Each session has its own room, every participant enters with their own token, and the room opens and closes at set times around the session.
How does a patient choose a therapist?
From the therapist directory, filtering by specialty, session type and provider, where every therapist has a page with their qualification, specialties and session fee. Anyone unsure what to choose can answer the matching questionnaire, and the centre's team gets in touch and recommends the right specialist.
How does the instant consultation work?
The patient requests a 30-minute consultation and writes what they need, the request waits in a queue until an on-call specialist takes it, and then they meet in the video room. If nobody takes the request within the set time it expires instead of hanging open.
What is the cancellation and rescheduling policy?
Cancelling or rescheduling is free up to 24 hours before an online session, clinic sessions have a separate window, and both are settings the centre changes from the management panel. A late cancellation or a no-show counts against the package balance, and if the therapist cancels the session it is not deducted.
How can I check that a course certificate was issued by Asma?
Every certificate carries a serial number that starts with ASMA, followed by the year and month and a 6-character code. You type the number into the verification page on the site, and the page shows the holder's name, the course and the date, and whether the certificate still stands or has been revoked.
Is the platform available in English too?
Yes. A button in the header switches the whole platform to English on the same URLs, and the direction changes from right-to-left to left-to-right. The content itself, such as therapist profiles, courses and articles, is stored in Arabic and English rather than machine-translated.
How are therapists' data and documents protected?
ID scans, licences and application documents are kept on a private disk outside the public site, and they only open through a signed link that is created for someone with permission and closes by itself after 30 minutes. Management permissions are split up, so each member of staff sees only the sections their job needs.








