Instinct Sun: website, custom CMS and CRM for a medical center
For a medical center in Kharkiv, we built a public website, custom admin and mini CRM powered by one PostgreSQL database. The system covers the path from finding a service and booking online to the doctor appointment, printed forms and follow-up visit.
Instinct Sun · Medical center
01
Challenge
The old Russian-language website ran on a legacy CMS and contained more than 800 URLs. Its booking form did not work: requests were stored in the visitor browser and never reached the clinic.
The task was to move all content into a proper database, make every section manageable by a non-technical person and retain search traffic. Work ran from May to August 2026, and the system has been in production since August.
295Services
23Doctors
531Leads
932Redirects
02
What we built
The website, admin and CRM share one data model and follow the same clinic workflow.
Public website, 22 routes
A catalog of 295 services in 5 groups and 31 categories, separate pages for medical fields and 23 doctors, a blog with 285 articles plus news and videos, 46 promotions, partners, insurers, a schedule board and booking. ISR serves static pages and refreshes database content without a rebuild; the home page responds in 0.18 s.
Mirror admin, 48 screens
The admin mirrors the website: every page has Content, Sections and SEO tabs with a Google snippet preview and length counters. It also includes a media library with WebP conversion, drag-and-drop menus, redirects, settings and users with permissions.
CRM pipeline and calendar
A lead moves from new to in progress, confirmed, arrived, cancelled or spam. Its card keeps the history, and the planner lets a manager drag the lead to a date. New leads trigger Telegram notifications.
Patient cards
Leads merge into a patient card by phone number. The 404 live cards include a medical record, visit count and returning-patient badge. Medical documents stay outside the public folder and are served only through an authenticated route.
Doctor appointment and forms
The module records complaints, diagnosis, treatment plans and prescriptions, calculates BMI and supports visit templates. It prints three clinic-branded forms: consultation report, prescription sheet and referral. A follow-up date creates a new pipeline lead.
Online booking with slots
The patient selects a doctor, service, date, time and contacts. Slots are calculated from the doctor schedule minus existing bookings, with the service duration as the step. The calendar opens 5 months ahead and prevents double booking of one slot.
Patient SMS
Five events are supported: new lead, confirmation, reminder, cancellation and rescheduling. Each can be enabled in the admin. Quiet hours run from 21:00 to 9:00, duplicate messages are blocked and reminders follow a schedule.
SEO migration
The launch included 932 redirects, a 599-URL sitemap and Search Console configured from scratch. JSON-LD covers MedicalOrganization, Physician, MedicalProcedure and Article entities.
03
Patient journey through the system
One record connects online booking, clinic work and the next visit.
1
Booking on the website
The patient follows the doctor → service → date → time → contacts flow and chooses an available slot.
2
Lead and calendar in CRM
The lead enters the pipeline, merges with the patient card by phone and appears in the planner. A manager confirms or moves the visit.
3
Appointment, forms, follow-up
The doctor records the appointment and prints the required form. If a return date is set, the system creates a follow-up lead in the pipeline.
04
Stack and security
Backend
Next.js 16 with App Router and Server Actions, PostgreSQL 17 and Prisma 7. The database contains 79 models.
Frontend
React 19, TypeScript and Tailwind 4, plus TipTap, dnd-kit, zod and sharp. The project contains about 51,000 TypeScript lines across 303 files.
Infrastructure
Ubuntu VPS, pm2 and Caddy with automatic TLS. TurboSMS API handles patient messages, and Telegram Bot API sends lead notifications.
Security
next-auth, bcrypt and custom RBAC with administrator, manager and doctor roles, plus a separate permission to manage doctors and schedules. Medical files use private storage, and booking protects each slot from duplicates.
05
Migration without losses
We mapped more than 800 old URLs, configured 932 redirects, generated a sitemap with 599 URLs and set up Search Console from scratch. The migration moved the Russian-language legacy site to the new structure while preserving valid entry points for search traffic.
Paid traffic
234
Landing addresses
We checked 234 landing addresses used by paid traffic against the new site structure.
5
Pages returned 404
Five advertising landing pages returned a 404 response. Each address was redirected to a relevant live page.
22
Generic destinations
Another 22 addresses opened the general catalog instead of the relevant section. All were retargeted to the matching pages.
06
Interface gallery
Public pages, booking, CRM and admin screens from the live system. Select an image to enlarge it.
Service catalog
Online booking with real time slots
Mobile version
CRM: lead pipeline
Visit calendar
Patient card with medical record
SEO tab in the editor
SMS notifications and menu builder
07
Frequently asked questions
We estimate a website with a custom CMS and CRM for a clinic after a brief: the scope depends on the number of modules. Artbrain benchmarks: a corporate website from $1200 and a CRM system from $3000.
Yes. Before launch, we map old and new URLs, configure redirects, the sitemap and Search Console. For Instinct Sun, we processed more than 800 old URLs, configured 932 redirects and generated a sitemap with 599 URLs.
Yes. The patient selects a doctor, service, date, time and contacts. Slots are calculated from the doctor schedule using existing bookings and the service duration, the calendar opens 5 months ahead, and one slot cannot be booked twice.
Yes. The doctor records complaints, diagnosis, treatment plans and prescriptions, while the system calculates BMI and supports visit templates. It can print a consultation report, prescription sheet or referral with the clinic header.
Website and clinic system
Need a website with a custom CMS and CRM for your clinic?
Tell us how patients book appointments and how the clinic handles visits now. We will define the website, admin and CRM modules for your workflow.