Custom software · Aesthetic, skin and hair clinic
Shaylin aesthetic clinic: online booking, a specialist magazine and one admin panel
A complete platform for the Shaylin aesthetic clinic on .NET 10 and Next.js: booking by treatment, practitioner and Jalali calendar, a before-and-after gallery, a magazine with a page builder, an installable PWA with Web Push, and one admin panel.
- Client
- Shaylin aesthetic clinic
- Industry
- Aesthetic, skin and hair clinic
- Year
- 2025
- Status
- Live
- Discovery and analysis
- UX and UI design
- Software architecture
- Front-end development
- Back-end and API development
- Database design
- Third-party integrations
- Technical SEO
- QA and testing
- Support and ongoing development
The result, in numbers
- PWA
- installable, with Web Push
- 24/7
- booking without a phone call
appointment reminders without an SMS bill
The challenge
An aesthetic clinic has two problems at once, and few people take both seriously.
First, booking. A client wants to choose the treatment, choose the practitioner and see a free slot — on the Jalali calendar, from a phone, at eleven at night. If that depends on a phone call during office hours, part of the demand is lost right there.
Second, trust. Nobody decides on a cosmetic procedure from a banner; they decide from content, from before-and-after work, and from seeing the practitioner. The clinic needs a real magazine and a structured gallery, not a scattering of posts.
And behind both, a third problem: the receptionist, the content producer and the manager should not each be working in a different tool.
The solution
One integrated platform was built: a public site on Next.js and React, an admin panel as a standalone React application, and a .NET 10 API with clean architecture and CQRS feeding both.
Online booking covers treatment and practitioner selection, a Jalali calendar and time picker, capacity and appointment-status management, and advanced filters for the receptionist — so the same system the client books through is the reception desk's daily tool.
Trust was built with two things: a before-and-after gallery categorised by treatment, with several images per case and links to the practitioner and the treatment landing page; and a specialist magazine with multi-level categories, a proper editor, comments, related posts and featured articles.
A page builder and menu builder mean the clinic creates its own landing page for each treatment or campaign — with an HTML, CSS and JS editor and independent SEO settings — without waiting for us. Campaigns get dynamic banners, discounts, countdowns and scheduled display.
And the site is a progressive web app: installable on a phone, with a service worker, offline support and Web Push notifications — appointment reminders without an SMS bill.
Key features
Online booking with practitioner choice
Treatment and practitioner selection, a Jalali calendar and free slots, capacity and status management, and advanced filters for reception.
Before-and-after gallery
Categorised by treatment, several images per case, linked to the practitioner and the treatment page, with featured selection.
A specialist magazine
Multi-level categories, a proper editor, comments, related and featured posts — content that makes the decision.
Page builder and menu builder
The clinic builds its own landing page for a treatment or campaign, with an HTML, CSS and JS editor and per-page SEO.
An installable web app
Installs on a phone, has a service worker and offline mode, and sends Web Push notifications.
Campaigns with a countdown
Dynamic banners, discounts, countdowns and scheduled display — a campaign starts and ends on its own.
Full technical SEO
Meta and canonical, sitemap and robots, Open Graph and JSON-LD, and optimised URLs and images.
One panel for every role
Manager, content producer and receptionist work in one dashboard, with separated roles and permissions.
Architecture and stack
- Style
- Monolith
- Patterns
- Clean architectureCQRS
The back end is .NET 10 with Clean Architecture and the CQRS pattern, so business logic stays independent of the database, the interface and infrastructure services:
- Domain — entities, business rules and the core model.
- Application — commands, queries, DTOs and use-case flows.
- Infrastructure — SQL Server, Redis, files, authentication and external services.
- API — endpoints, middleware and secure communication with the clients.
Two independent clients are fed by that API: the public site on Next.js with server rendering for SEO, and the admin panel as a React and Vite application — the right choice for a daily working tool, which wants the behaviour of an application rather than a website.
A PWA layer sits on the public site: a service worker, smart caching, offline mode and Web Push. For a clinic sending appointment reminders, Web Push is the same job without an SMS bill — and because the site is installable, it stays on the client's home screen.
- Front end
- Next.jsReact.jsTypeScript
Public site with server rendering, PWA and Web Push
- Front end
- Vite
Standalone admin panel with React Query, Tiptap and CodeMirror
- Back end and API
- .NET 10ASP.NET CoreC#REST APIClean ArchitectureEntity Framework Core
- Database
- SQL Server
- Cache
- Redis
- Infrastructure and deployment
- Dockernginx
Integrations
- Web Push for appointment reminders and announcements
Full write-up
Capabilities in detail
Online booking
Treatment and practitioner selection, a Jalali calendar and time picker, capacity and appointment-status management, and advanced filters for the receptionist.
Accounts and clients
Mobile registration and login, profile completion and editing, appointment history and notifications, and the groundwork for a loyalty club.
Specialist magazine
Multi-level categories, a proper content editor, comments, related posts, featured articles and pagination.
Before-and-after portfolio
Categorised by treatment, multi-image galleries, links to the practitioner and the treatment landing page, and featured selection.
Page builder and menu builder
Building pages and landing pages, multi-level tree menus, an HTML, CSS and JS editor, and independent SEO settings per page.
Campaigns and special offers
Dynamic banners, discounts and countdowns, custom image, text and button, and scheduled campaign display.
Progressive web app
Installable on a phone, a service worker and offline mode, smart resource caching, and Web Push notifications.
Technical and content SEO
Meta and canonical, sitemap and robots, Open Graph and JSON-LD, and optimised URLs and images.
Engagement
A contact form and message inbox, client reviews, a dynamic FAQ, and notification campaigns.
The admin panel
The dashboard is a standalone React application and the working tool of the manager, the content producer and the receptionist.
Business management — users, clients, roles and permissions; treatments, practitioners, schedules and bookings; portfolio, reviews and contact messages; banners, campaigns and site-wide notifications.
Content management — articles, categories and comments; page builder, menu builder and CTA management; a rich text editor and a code editor; and global image, file and video upload.
Related services and products
Have a similar project in mind?
Fifteen minutes is enough to say what it needs, how long it takes and where to start.
Similar projects
Custom software
EventFlow for Tehran: the cultural events of 22 districts on one system
The integrated cultural events and venues system for Tehran: a multi-stage approval chain, a mapped cultural atlas, geofenced field reporting and citizen surveys — three clients, web, mobile and API, on one core.
- React.js
- Vite
- TypeScript
- Leaflet
Tehran Municipality · 2025
Custom software · E-commerce
Robocode: academy, online exams, shop and a partner network on one platform
The integrated platform for the Robocode academy on .NET 10: online and in-person courses, exams with report cards, a shop with wholesale pricing, certificate issuance with QR verification, a partner and instructor panel with commission, and single sign-on from Shad.
- .NET 10
- C#
- Entity Framework Core
- MediatR
Robocode training institute · 2025
Custom software
Rosha counselling clinic: from online booking to counsellor settlement, on custom WordPress
An integrated clinic management platform on WordPress: online booking with a collision lock, payments and deposits, a 15-module reception desk, a counsellor panel with share calculation, and financial reporting with Persian PDFs. No booking plugin, no off-the-shelf theme.
- WordPress
- PHP
- REST API
- MariaDB
Rosha counselling clinic · 2025

