
Ayna Therapy — Online Therapy Clinic
Ayna Therapy is a client project: the website and booking system for a Persian-language online counselling and psychotherapy clinic. Visitors explore treatment paths, compare therapists by approach and fee before booking, read articles written for the clinic, and book a session after signing in with their phone number. Behind it, therapists manage their own availability and sessions while staff run bookings, payments, content and reviews.
// Architecture
The public site is generated as static HTML by a Python build step, with SEO metadata, JSON-LD and a sitemap, so pages load fast and index well. A FastAPI backend with SQLAlchemy on SQLite powers phone OTP sign-in, the client account, booking, and the therapist and admin panels behind nginx. A background loop releases expired slot holds, cleans up old codes and sessions, and sends Telegram reminders before each session, with daily database backups.
// Key capabilities
Two design languages
Built from the clinic's 80-page brand book: a quiet 'room' layout on desktop and an app-like layout on mobile, with the brand's arch motif and illustrations instead of stock photos.
Booking that holds the slot
Choosing a time holds it for 30 minutes until payment confirms, with cancellation and rescheduling from the client account and conflict alerts for staff.
Panels for every role
Therapists edit their profile, open time slots and mark sessions done; admins manage therapists, bookings, payments, reviews, articles and panel users with separate roles.
Care in the details
Persian digits and Jalali dates, full RTL with logical CSS properties, reduced-motion support, 44px touch targets and the national social emergency number in every footer.
// Technology stack
- Python / FastAPI
- SQLite
- Static site generator
- nginx
- Telegram Bot API
// Next step
Need something like Ayna Therapy — Online Therapy Clinic?
Tell us what you're building. We'll reply with how we'd approach it, a rough timeline and the first step.
Start a similar project


