Practice software for dental clinics

Everything your clinic needs to treat

Patients, appointments, treatments and payments in one place, with your clinic's records in a database of its own, never pooled with anyone else's.

Your name and colour go where Dentra puts them: the browser tab, the sidebar, and the waiting-room screen.

کوردی · عربي · English, right-to-left included

YCYour clinicVisit · example
Loading model… 0%

Drag to rotate · Right-drag or Shift-drag to move · Scroll to zoom · Click a tooth to mark it

No teeth selected. Tap a tooth.
Composite filling
0 teeth · 75,000 IQD each
Visit total0 IQD
Paid 0Remaining 0

Tooth shapes and model: “Permanent Dentition” by University of Dundee, School of Dentistry, CC BY 4.0, adapted.

Dentra › Patients

Patients

Every plan

records, history, documents

Dilan AhmedP-0142 · 3 visits
Sara KarimP-0141 · allergy noted
Hemn OmerP-0139 · X-ray uploaded
Example data

In the waiting room

Your name on the wall, not ours.

The screen in your waiting room calls the next number and says where to go, in your clinic's name and colour. No Dentra logo in sight.

  • Shows only what you choose: a name, initials or a record number
  • Sends each patient to their doctor, or to reception
  • Light or dark, whichever suits the room
  • Keeps itself current, with no one at the keyboard
Example data · the clinic chooses which identifiers show

A day at the clinic

One system for the whole day.

Today's queue
YCYour clinic · Tuesday · 9 booked· tap a status
Live
DA
Dilan Ahmed
09:30 · Root canal · Dr. Ayla
HO
Hemn Omer
10:00 · Filling · Dr. Samir
SK
Sara Karim
10:30 · Check-up · Dr. Ayla
RA
Rozhan Ali
11:00 · Crown fitting · Dr. Lina
Example data

Your data

Patient records deserve their own database.

Your clinic is not a row in a shared table with a clinic ID on it. It runs on its own database, its own container and its own namespace in storage, so there is no query that could return another clinic's patients, because there is no other clinic in it.

01

Your own database

One clinic, one deployment, one database and one storage namespace. Nothing is pooled.

02

Permissions that gate

Every route protected by default. Roles are built permission by permission and enforced on the server, not hidden in the interface.

03

A readable audit log

Who changed what, and when. Patient details and payments are never written into diagnostic logs: identifiers only.

psql · your clinic's server● connected
$
Ask itor type, try \?
  • Isolated database
  • Own storage namespace
  • Role-based permissions
  • Audit trail
  • No patient data in logs
  • Rotating session tokens

Built on boring, proven technology. Nothing exotic. A relational database you could read yourself, typed end to end, deployed one clinic at a time.

PostgreSQL
One database per clinic
NestJS
Backend framework
Next.js
Web application
TypeScript
End to end
Drizzle ORM
Typed, migrated schema
Object storage
Documents & X-rays, per clinic
Docker
Isolated per deployment
Nightly backups
Kept 14 days, restore-tested

From first conversation

Set up with you.

Your first week, the way your own calendar will show it.· drag the red line

Before day oneA conversation
MondaySetup
TuesdaySetup
WednesdayTraining
ThursdayLive
A call or a visit

We learn how your clinic works

Your procedures, your prices, your branches and who does what, rather than handing you an empty system to fill in yourself.

  • Procedure list & prices
  • Branch and working hours
  • Currency and timezone
  • Interface language
Monday – Tuesday

We set it up with your data

Your clinic gets its own database and storage, configured, seeded with your catalogue, and checked against how you actually work.

  • Dedicated database
  • Roles built per permission
  • Existing patient records
  • Clinic branding
Wednesday – Thursday

Your team starts the same week

Training for reception and for doctors, then support while the first weeks settle. No long migration project.

  • Reception walkthrough
  • Chairside training for doctors
  • Owner reporting session
  • Direct line for questions
  • Ongoing updates included
Thursday

Simple by design

Priced per clinic, not per patient.

Unlimited patients on every plan. You are never charged more for keeping good records. Need one more seat than your plan allows? Add seats individually rather than moving up a tier.

Early-clinic pricing: $600 setup + $39/month for the first clinics on Dentra. Price adjusts as the product matures. Your monthly rate is locked for the life of your account.

Starter

For a single clinic finding its feet

Billed toYCYour clinic
Setup$600
Monthly$39
Clinic setup, configuration, branding & onboarding

  • The clinical core
  • Included, not upsold
  • Limits
  • Up to 5 staff accounts
  • Extra seats available individually

Today$600
Book a demo

Enterprise

For groups running more than one location

Billed toYCYour clinic
SetupCustom
MonthlyCustom
A conversation about your clinics and your needs

  • Everything in Premium, plus
  • Unlimited staff accounts
  • On the roadmap
  • Multiple branchesRoadmap
  • Custom reports built for youRoadmap

QuoteLet's talk
Talk to us

Prices in USD; billing in Iraqi dinars is available, just ask us for the current rate. Setup is a one-time fee covering configuration, importing your existing records and training your team. Items marked Roadmap are included in the plan when they ship.

Who you're dealing with

You will always know who is behind it.

No ticket queue and no account manager in between. Message Dentra and the person who wrote the code answers.

Message Zoth on WhatsApp
Zoth · Dentra
Builds and runs Dentra
GitHub ↗

Who's actually behind Dentra?

Dentra is designed, built and run by one developer. There is no support tier, no ticket queue and no account manager relaying your problem to someone else.

When you message about a bug it reaches the person who wrote the code, and you get an answer from them rather than a reference number.

And if you stop one day?

The fair question about a one-person product is what happens if I stop. So: your clinic's records sit in a database of their own, you can ask for a full export at any time and you get one automatically if we ever part ways.

Nothing here is built to make leaving difficult.

Take a closer look

See it with your own numbers.

A short walkthrough using your procedures and your prices, so you can tell whether it fits how you already work.

Setup done with you, not left to you