diff --git a/packages/database/prisma/schema.prisma b/packages/database/prisma/schema.prisma
index e99e343..ac20bc2 100644
--- a/packages/database/prisma/schema.prisma
+++ b/packages/database/prisma/schema.prisma
@@ -22,6 +22,7 @@ model Repository {
   createdAt DateTime @default(now())
   updatedAt DateTime @updatedAt
   pages     Page[]
+  project   Project?
 }
 
 model Page {
@@ -33,10 +34,21 @@ model Page {
 
   name           String
   standaloneCode String?
-  screenshotPath  String?
+  screenshotPath String?
 
   createdAt DateTime @default(now())
   updatedAt DateTime @updatedAt
 
   @@unique([repositoryId, canvasPageId])
 }
+
+model Project {
+  id String @id @map("_id")
+
+  repositoryId String     @unique
+  repository   Repository @relation(fields: [repositoryId], references: [id])
+  branch       String
+
+  createdAt DateTime @default(now())
+  updatedAt DateTime @updatedAt
+}
diff --git a/packages/database/src/prefixed_id.ts b/packages/database/src/prefixed_id.ts
index 0606ab8..1cf3efa 100644
--- a/packages/database/src/prefixed_id.ts
+++ b/packages/database/src/prefixed_id.ts
@@ -17,6 +17,7 @@ export function generatePrefixedId(prefix: IDPrefix): string {
  * Mapping of ID prefixes
  */
 export const ID_PREFIXES = {
+  PROJECT: "proj",
   REPOSITORY: "repo",
   PAGE: "pg"
 } as const;