Architectural Decisions
Executa's sub-clients all belong to one central agency, rather than acting as separate, unrelated businesses. This structural reality dictated a distinct approach to multi-tenancy compared to standard isolated architectures.
Shared Database vs. Distinct Projects
Isolating clients with separate database projects would have meant a new deployment and admin surface for every client the agency signs, which does not scale for this operational model. Instead, tenant isolation is enforced with PostgreSQL Row Level Security (RLS) inside a single shared database.
This keeps one deployment pipeline and one admin console, while the database engine itself stops any client from querying, mutating, or viewing another's assets or approvals.
Right-Sizing the Compute
No GCP or dedicated compute services (like Cloud Run) were utilized here, and deliberately so. The application's workload consists primarily of standard CRUD operations and file state approvals. It is not handling heavy processing like audio/video transcoding. Introducing external compute services would have added unnecessary infrastructure weight, deployment complexity, and cost for the actual technical demand of the platform.