Skip to content

Projects Tool

The Projects tool is the central hub for managing client and internal projects. It brings together team members, goals, decisions, tasks, and financial data in a single view. Projects link to companies, squads, SLA policies, and budgets, and include an AI-powered summary feature to surface key information at a glance.

  • Project management — Create and manage projects with status, company, owner, delivery manager, and squad assignment
  • Members & roles — Add team members to projects with defined roles
  • Goals — Track project goals with ordered positions
  • Decisions — Log agreed and pending decisions with context
  • Task integration — View all tasks scoped to a project
  • Profitability — Aggregated profitability metrics from linked budgets, time entries, and invoices
  • AI summary — Generate and cache an AI-powered project summary using Llama 3.1 via Workers AI
  • SLA linking — Optionally attach an SLA policy to a project
  • History log — Changes are tracked for audit trail
  • Data scoping — Access is scoped by role: employees/leads see their own projects, managers see squad projects, heads/executives see all
LevelViewCreate/EditDelete
ExecutiveAllYesYes
HeadAllYesNo
ManagerOwn + squadYesNo
Lead / EmployeeOwn onlyNoNo
  • Route: src/routes/projects.tsx / src/routes/projects.lazy.tsx
  • Page: src/components/projects/projects-page.tsx
  • API: worker/routes/projects.ts
MethodPathPermissionDescription
GET/api/projectsviewList projects (scoped by access level)
GET/api/projects/:idviewGet project detail with members and goals
POST/api/projectsupdateCreate a project
PUT/api/projects/:idupdateUpdate a project
DELETE/api/projects/:idmanageDelete a project
GET/api/projects/:id/membersviewList project members
POST/api/projects/:id/membersupdateAdd a member to a project
DELETE/api/projects/:id/members/:userIdupdateRemove a member from a project
GET/api/projects/:id/goalsviewList project goals
POST/api/projects/:id/goalsupdateCreate a goal
PUT/api/projects/:id/goals/:goalIdupdateUpdate a goal
DELETE/api/projects/:id/goals/:goalIdupdateDelete a goal
GET/api/projects/:id/tasksviewList tasks scoped to this project
GET/api/projects/:id/decisionsviewList decisions
POST/api/projects/:id/decisionsupdateCreate a decision
PUT/api/projects/:id/decisions/:decisionIdupdateUpdate a decision
DELETE/api/projects/:id/decisions/:decisionIdupdateDelete a decision
GET/api/projects/:id/profitabilityviewGet profitability metrics
GET/api/projects/:id/ai-summaryviewGet cached AI summary
POST/api/projects/:id/ai-summaryviewGenerate a new AI summary
  • Budgets — Budgets are linked to projects for cost tracking
  • Invoices — Invoices linked to projects feed profitability reports
  • Tasks — Tasks can be scoped to a project
  • Resourcing — Team allocations reference projects