Skip to content

PrefPal — Perioperative SaaS

The preference card, finally current

Surgeons build and version their own cards. When a surgery is scheduled, the card is shared as a case and the OR team works a live preparation checklist — exceptions reach the surgeon before the patient is in the room, not after.

Private betaUS hospitals & ambulatory surgical programs
Download for Android (.apk)

v0.1.1 · 55 MB · Private beta build — install directly (sideload); Android may ask you to allow installs from your browser. Not yet on Google Play.

ReactExpoSupabasePostgres RLSTypeScript

The problem

A preference card captures exactly what a surgeon needs for a procedure: instruments, sutures, supplies, implants, positioning, assistance. In most US hospitals it's a paper form or a document, duplicated across departments and maintained by hand. It drifts out of date silently, every shift reads it differently, and the gaps surface on the day — missing instruments, wrong tray setups, late substitutions, and lost OR minutes.

What changes

One always-current source of truth. Surgeons own and version their cards; scheduling a surgery pins an immutable snapshot of the card to that case; the OR team works a checklist with live status and push notifications. When an item is unavailable, the substitution is captured with an explanation and routed to the surgeon for review before the case starts.

Built for

  • Surgical programs where preference cards are paper, spreadsheets, or static files
  • OR teams reconciling cards against inventory under day-of-surgery time pressure
  • Hospitals that want surgeon-first adoption without a long procurement and integration cycle
  • Programs that need multi-site scoping — the same surgeon, different facilities, different cards

What it does

Inside the platform

Versioned preference cards

Surgeons build cards from a managed catalog and publish immutable versions. A card's saved selections keep their own wording and source, so later catalog changes never silently rewrite history.

Live case prep checklist

A published card version becomes a case snapshot. The OR team works the checklist with real-time status, so everyone sees the same state of readiness at the same moment.

Mobile push for the team

An Expo app for surgeon and OR workflows, with push notifications on case signals so a substitution or a readiness change doesn't wait for someone to refresh.

Templates with approval

Reusable template revisions, approved by the administrator responsible for their scope — platform templates by a platform admin, hospital templates by that hospital's admin. Pending changes never replace approved defaults.

Catalog suggestion review

Staff can submit a custom catalog or procedure name for reuse. A hospital admin approves it, links an existing entry, or rejects it with an explanation — and the card's saved selections are preserved either way.

No PHI, by design

Cases reference the procedure, schedule, location, and team — never the patient. A deliberate MVP boundary that keeps the compliance footprint small with a clear path to regulated status later.

How it's built

The stack, specifically

No mystery boxes. These are the actual choices behind the platform — the ones that decide how it scales, who can read what, and how quickly it can change.

Apps

  • React + Vite web app (admin, card builder, dashboards, reports)
  • Expo / React Native app (surgeon and OR mobile workflows + push)

Shared packages

  • Typed domain layer: enums, Zod schemas, business rules
  • Supabase client factory with typed helpers and realtime subscriptions
  • VORS design system: web + native tokens, Tailwind theme, components

Platform

  • Supabase: Postgres, Auth, Realtime, Storage, Edge Functions
  • Row-level security as the isolation boundary
  • Migration-only schema changes across dev, staging, production
  • pnpm + Turborepo monorepo

Our role

Built end to end by Narix Labs

Domain model, web and mobile apps, design system, database and RLS policies, and the deployment pipeline across three isolated environments. The domain vocabulary is written down and enforced — what counts as a published version, a case snapshot, or an approved template is a definition in the codebase, not a convention.

Immutability where it matters

Published card versions and case snapshots are records, not live views. A card changing tomorrow doesn't retroactively change what a team prepared today.

The database is the source of truth

Row-level security enforces tenant and visibility rules in Postgres rather than in the client, and schema changes ship only as migrations — never as edits in a dashboard.

FAQ

PrefPal questions

Need something like PrefPal?

Tell us what you're holding — an idea or a codebase — and you'll have a written proposal for the first step within 48 hours.