Skip to main content
← All notes
Building

Ten models, four enums, zero spreadsheets

software

The entire service delivery platform runs on a single Prisma schema. Ten models — Client, Project, Milestone, Session, Goal, Comment, Booking, Attachment, Deliverable, ActionItem. Four enums — ServiceType, ProjectStatus, MilestoneStatus, DeliverableStatus. That is everything. A mixing project and a software build both use the same Project model. The only difference is the ServiceType field — AUDIO, PRODUCTION, MUSICIAN, SOFTWARE, or ACCESSIBILITY. Every project has milestones with status tracking, sessions with notes and attachments, deliverables with approval workflows, action items with assignments, and comments threaded on milestones, sessions, and goals. The schema is the service contract. It defines what a project looks like, what can be tracked, what gets notifications, and what the client sees in the portal. Adding a new service type means one line in an enum. The relationships, the queries, the admin panel, the client view — they all work automatically because they query by project, not by service type. The commit that introduced the schema was the same commit that shipped the portal. One migration, one deploy, one data model for the entire operation.

Comments coming soon

Sign in with TikTok to leave a comment. Coming soon.