Intry

Welcome

Start here for Intry developer documentation.

What you will find here

Intry connects visitors at the door with residents on their phones: Twilio voice calls, push notifications, approve/deny flows, and a full audit trail. This site documents how the Intry Core API (Express + Prisma + PostgreSQL), admin tooling, mobile (Expo), and resident portal (Next.js + Clerk) fit together.

Repository entry points

AreaLocationNotes
Core APIsrc/server.ts, src/routes/Public + Twilio webhooks + registration
Admin APIsrc/routes/admin/WorkOS SSO or Unkey; X-Admin-Env for multi-env
Schemaprisma/schema.prismaSource of truth for models and relations
Admin UI proxytools/intry-admin/Fly.io; proxies to Railway backends
Portaltools/intry-portal/Next.js + Clerk
Mobiletools/intry-app/Expo / React Native
MCPtools/intry-mcp/Cursor / agent integration against admin API

Conventions

  • IDs: UUIDs generated by the database — do not invent IDs on create.
  • Lists: Responses typically include { "<entityPlural>": [...], "total", "limit", "offset" }.
  • Field names: Use exact Prisma names in API payloads (e.g. unitLabel, e164, durationSec).

Living docs

These pages track the intry-mvp monorepo. When behavior diverges between environments, prefer the code and docs/ folder in the repo for the final word.

On this page