Clinicly

Patients find a doctor and book a slot; doctors work a day timeline and write visit notes; the front desk checks people in. A rule refuses overlapping appointments and bookings outside clinic hours, reminders go out hourly, and the desk can never read visit notes.

Patients sign up. Doctors and the front desk work the schedule.

Clinicly on desktopClinicly on a phone

What's inside

Find a doctor and book a slot. Doctor day timeline and visit notes. Front desk check-in.

Tables

  • patient name, photo, phone, dob, allergies
  • doctor name, specialty, photo, rating, review_count, years_experience, bio, room
  • desk name, photo
  • appointment patient_id, doctor_id, patient_name, patient_photo, patient_info, doctor_name, starts_at, ends_at, …
  • slot appointment_id, doctor_id, starts_at, ends_at, active
  • visit_note appointment_id, patient_id, doctor_id, summary, diagnosis, plan, follow_up
  • reminder appointment_id, patient_id, message

Roles

  • patient Patient, consumer
  • doctor Doctor, staff
  • desk Front desk, staff

Pages

  • /day My day (doctor)
  • /book Find a doctor (patient)
  • /visits My visits (patient)
  • /history History (patient)
  • /book/:id Book a visit (patient)
  • /front-desk Front desk (desk)
  • /team Team & access (doctor)

Components

  • PatientApp Patient home: find a doctor, my visits, visit history
  • DoctorApp Doctor day: progress summary, day strip, timeline with now-line, appointment detail with patient history, AI history summary, visit notes, AI patient summary
  • DeskApp Front desk: the clinic's schedule across doctors, check-in, reschedule
  • ClinicLogin Sign-in: brand promise beside a calm form card, Google sign-in, patient sign-up
  • BookDoctor Full-page booking: doctor profile, week picker with free-slot counts, free times only, reason, confirmation
  • TeamHeader Team page header: the doctor top bar with nav, then the page title

Rules on every write

  • appointment That time is not available.

How its workflows run

Each one is a server workflow in your project: it runs on its trigger, with retries, and its runs show in the builder's log.

  1. Reserve the doctor's slot when an appointment is booked

    When a row changes: appointment created. Then: Create slot.

  2. Keep the slot in step when an appointment moves or is cancelled

    When a row changes: appointment updated. Then: Look up slot, then Update slot.

  3. Hourly: remind patients of appointments in the next 24 hours

    On a schedule: schedule hourly over appointment. Then: Look up appointment, then Create reminder, then Update appointment.

  4. Deliver the reminder to the patient

    When a row changes: reminder created. Then: Notify.

  5. Tell the patient their visit notes are ready

    When a row changes: appointment updated, when status is completed. Then: Notify.

Set it up

It starts a new project, with its data, roles and sign-in ready.

  1. Start the project

    Use the button above, or ask your coding agent with the Appbricx MCP server connected (quickstart).

  2. Sign in as each role

    The demo logins open each role's home. Change what you like in plain words or in the contract.

  3. Deploy

    When dev looks right, deploy. Production gets a snapshot first, so you can roll back.

Use it with your coding agent

The agent creates the project, builds it and signs in as each role.

Prompt
Start a new Appbricx project from the Clinicly template (slug "clinicly") with use_template. Call it "My Clinicly", then sign in as each role, verify it and tell me what to change first.
MCP call
{
  "tool": "use_template",
  "arguments": {
    "slug": "clinicly",
    "name": "My Clinicly"
  }
}
CLI
appbricx templates use clinicly --name "My Clinicly"

Make it yours in plain words.