Asma Wellness — A Younex Solutions project
Younex Solutions

Asma Wellness An online and in-clinic therapy platform

Asking for psychological help used to stop at "who do I call, and what will it cost?" Now you pick your own therapist and join a video session from home

Asma is a mental health centre in Heliopolis, Cairo, offering therapy sessions at its clinic and online. People who need psychological help usually stall at the first step: they don't know who to go to, what a session costs, or whether what they say will stay private. The centre also wanted to offer courses and workshops, not only sessions.

We built a full platform in Next.js and Laravel: a therapist directory by specialty, price and session type, booking against each therapist's real schedule with a clear cancellation policy, video sessions inside the platform with no recording, an instant consultation with an on-call specialist, and a course academy whose certificates have a public verification page.

What we did

  • Patient and therapist experience design
  • A Next.js front end on a Laravel API
  • A booking engine with a cancellation and reschedule policy
  • Video sessions and chat inside the platform
  • A course academy with verifiable certificates
  • Bilingual panels for therapists, the clinic and management

The platform runs in two languages on the same URLs: a visitor taps EN and the whole page switches to English and flips its direction, and the content itself is stored in Arabic and English in the database rather than machine-translated on top of the page.

Behind the public site there are panels for the therapist, the clinic and the management: each therapist's schedule and time off, check-in, conversations, payments and manual transfers, a CRM for every enquiry, and permissions that give each member of staff only what their job needs.

Next.jsTypeScriptReactTailwind CSSLaravelPHP 8.3MySQLVideo sessionsBilingual
Asma Wellness — The workshops and in-person courses page on mobile
Asma Wellness — The Asma home page on mobile
Asma Wellness — The Freedom from Anxiety course page on mobile
أسما Readex Pro The whole platform, in Arabic and English
شهادة Amiri Course completion certificates
Asma Green #79B41C
Deep Green #39880C
Gold #C7A81A
Orange #E5821D
Therapist directory

Patients choose their own therapist

Every therapist has a page with their specialties, experience and session fee, and whether they work online, at the clinic or both. Filters cover specialty, session type and provider, psychologist or psychiatrist. On the home page, each area such as anxiety or depression opens straight onto the therapists who specialise in it.

asmawellness.com
The Asma therapist directory with filters for specialty and session type
Ways to start

A consultation now, a package, or a single session

Someone who needs to talk to a person today requests a 30-minute instant consultation; the request waits in a queue until an on-call specialist takes it and the two meet in the video room. Someone planning to continue buys a session package tied to their therapist, with a discount and a validity period, priced from that therapist's own session fee.

asmawellness.com
The instant consultation, session packages and single session options on Asma
Course academy

Courses in units and lessons, with certificates anyone can check

Each course is split into units and lessons with their durations, and one lesson can be previewed for free before buying. Videos play through signed links that expire shortly, so a link can't be passed on. At the end there is a quiz and a certificate with a serial number that anyone can check on the verification page.

asmawellness.com
The units and lessons of the Freedom from Anxiety course in the Asma academy
Matching questionnaire

Not sure who to start with? Answer four steps

The visitor picks the kind of care they need: an instant consultation, individual therapy, couples therapy, or 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.

asmawellness.com
The therapist matching questionnaire on Asma
Home page

A page that answers the first-step questions

The ways to start with their prices, the services, the areas of support, the booking steps, the therapists, the courses, the clinic and its hours, the blog, and the FAQ.

asmawellness.com
The full Asma Wellness home page

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

ItemDetails
Project typeAn 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 endNext.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
ServerLaravel 13 on PHP 8.3, sign-in through Laravel Sanctum, and scheduled jobs for reminders, closing stale sessions and backups
DatabaseMySQL, with content stored in separate Arabic and English columns for therapists, courses, articles and packages
Video sessionsIn-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 videoPlayback through short-lived signed links, with storage on a private disk, Bunny Stream or Mux
PaymentsA 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
CertificatesA 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
FontsReadex Pro across the whole platform, in Arabic and English
PermissionsManagement 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
ExportCSV export of the data with an encoding that lets Excel read Arabic correctly
TestsAutomated 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.

Have a similar project — or bigger?

The Younex team is ready to turn your idea into a fully working site, store, or app.

Need a website that actually brings clients?

Leave your name and number, pick your project type, and we will come back with an initial quote and timeline within hours.

Or message us on WhatsApp