Skip to main content

Agency Manager Product Spec

Product Summary

This product is a multi-tenant agency operating system with a client portal.

It should help an agency run delivery, billing, and client communication from one place while also giving clients a clean portal to review work, invoices, files, and account status.

The first real customer is the owner's own agency. The architecture should still preserve a path to selling the app to other agencies later.

Core Outcome

An agency should be able to onboard a client, manage active work, track time, bill through Stripe, and share delivery artifacts without scattering the relationship across email, chat, spreadsheets, and separate tools.

A client should be able to log in and immediately see what matters:

  • current projects
  • recent deliverables
  • invoices and payment status
  • shared files and documents
  • key account contacts and next steps

Surface Mapping

The starter's existing surfaces map cleanly to this product:

  • org Agency staff workspace. This is where the agency owner, operators, project managers, finance staff, and delivery staff do their work.
  • portal Client-facing portal. This is where client contacts log in on the tenant host to view work, billing, files, and updates.
  • platform Product-operator surface for the future SaaS layer. This is not the first build priority, but it remains the correct home for cross-agency administration, billing-plan management, support tooling, and internal ops.

Jobs To Be Done

For the agency

  • onboard and organize clients without ad hoc spreadsheets
  • track projects, retainers, and active work in one account context
  • log time against clients and projects
  • send or expose invoices and payment status through Stripe-backed billing
  • share files, documents, and approvals in a client-specific workspace
  • give clients visibility without giving them access to internal agency operations

For the client

  • see what work is active and what has been completed
  • review invoices and payment status without chasing emails
  • download files, contracts, and deliverables from one place
  • know who their contacts are and what the next step is
  • access an account portal that feels specific to their agency relationship, not like a generic admin console

Product Pillars

1. Client visibility

Clients should always be able to answer: what is happening, what is done, what is owed, and what requires my attention.

2. Agency operational clarity

The agency should have one system of record for client relationships, projects, time, documents, and billing state.

3. Billing confidence

Billing should be clear and trustworthy. Stripe is the billing source of truth, but the portal should make invoices, subscriptions, and payment methods easy to understand and act on.

4. Delivery artifacts in context

Files, links, notes, and approvals should live in the client workspace rather than being lost across email threads and chat tools.

Core Product Domains

Client accounts

  • client organization record
  • client contacts and portal access
  • service status and relationship metadata

Delivery management

  • projects
  • milestones or workstreams
  • statuses and deadlines
  • activity timeline or updates

Time tracking

  • time entries
  • billable vs non-billable time
  • project and client rollups
  • internal visibility for agency staff

Billing

  • Stripe customer mapping
  • invoices
  • subscriptions or retainers
  • payment methods and payment status
  • billing history visible to the client

Files and documents

  • uploaded files
  • shared documents
  • delivery attachments
  • contracts, statements of work, and other account documents

Core Entities

The first domain model should stay explicit and boring.

  • agency The operating tenant on the org surface.
  • clientAccount A customer relationship owned by one agency.
  • portalUser An org-scoped portal identity for one external person inside one agency tenant.
  • portalAccessGrant A company-specific access grant that links a portal identity to one client account and one client-local person record.
  • engagement A commercial relationship such as retainer, project-based engagement, or support plan.
  • project A delivery unit under a client account or engagement.
  • timeEntry Staff time logged against a client account, project, or task.
  • billingProfile Stripe-linked billing metadata for the client account.
  • invoiceRecord A mirrored billing view for invoices or payment state needed in the app.
  • document A shared file, contract, or client-facing asset.

MVP Boundary

The first sellable version does not need to be a full agency ERP.

The MVP should cover:

  • agency-side client directory
  • client account setup and portal access
  • project tracking at a useful but simple level
  • time tracking tied to client and project records
  • Stripe-backed billing visibility and payment actions
  • file and document sharing

The MVP should not try to solve everything at once. These areas can wait until after the first working release:

  • proposals and CRM pipeline automation
  • deep task management or sprint planning
  • white-label custom theming per agency tenant
  • advanced automation and notification orchestration
  • marketplace, partner, or reseller flows

Product Strategy

Build the product in this order:

  1. Make it useful for one real agency.
  2. Make the client portal credible and trustworthy.
  3. Add the billing and delivery workflows that replace the most fragmented manual work.
  4. Only then harden the platform surface for selling to many agencies.

The product should optimize for operational usefulness before breadth.

Supporting Maps

Use these documents with this spec: