page:blueprints:digital agencies:project tracker:next js

Digital agencies: project tracker using Next.js

Summary

A project tracker blueprint for digital agencies built with Next.js on Ample. Domain schema:

Public information: services and case studies, team, contact. Kept out of scope until handling is reviewed: unreleased creative and campaign plans, client analytics exports, brand credentials. Unreleased creative is confidential; brand platform credentials never belong in these flows.

Technical basis verified on Next.js: a workspace-scoped table, an explicit state machine (draft to review to published) that rejects invalid transitions, and a cross-workspace read that returns nothing (transitions=true isolation=true).

Representative Queries

Resource Requirements

Infrastructure Requirements

  1. Compute: Apps run in isolated x86_64 Firecracker microVMs that auto-pause when idle and wake on request; sizes are the priced VM sizes.
  2. Postgres: Managed PostgreSQL 16 runs in its own microVM and is auto-provisioned when an app needs a database and no DATABASE_URL is supplied.
  3. S3-compatible object storage: Buckets are S3-compatible with issued credentials; PutObject and GetObject are verified by canary. Other S3 operations are not verified.

Prerequisites

Workflow Steps

  1. Model the digital agencies domain: Create the tables client_entities, engagements, approval_rounds, deliverables, state_transitions. Client brands lives in client_entities; keep the sensitive classes (unreleased creative and campaign plans, client analytics exports, brand credentials) out of this schema.

  2. Workflow step 1: Model engagements and workstreams with explicit status transitions.

  3. Workflow step 2: Scope every query by client entity.

  4. Workflow step 3: Attach deliverables as private objects linked to workstreams.

  5. Workflow step 4: Deploy and verify transitions and cross-client isolation.

  6. Deploy: Run the synchronous deploy once and read the result. Re-running with no change is a no-op.

    Command: ample deploy . --name --public --env S3_ENDPOINT=... --env S3_REGION=... --env S3_BUCKET=... --env S3_ACCESS_KEY_ID=... --env S3_SECRET_ACCESS_KEY=...

  7. Verify: Run the pattern self-test(s) from the example (/p/relational-records) and your own acceptance checks for the digital agencies workflow.

    Command: ample logs --kind build

Cost Estimate

Note

Always-on monthly price of the tested sizes; apps and databases auto-pause when idle. Buckets are allocation-priced per quota and not included.

Limitations

Evidence Summary

  1. Next.js pattern fixture deployed on Ample (next build then next start -H 0.0.0.0 -p $PORT on the node-22 template); the relational records checks passed: a workspace-scoped table, an explicit state machine (draft to review to published) that rejects invalid transitions, and a cross-workspace read that returns nothing (transitions=true isolation=true).

Last Verified At

2026-09-21

Formats

Next Actions

  1. Browse the catalog index: (GET)
  2. Search published recipes by intent, stack and constraints: (POST)
    Query: Digital agencies: project tracker using Next.js
    Limit: 5
  3. Prepare a side-effect-free deployment plan for an authorized project: (POST)
  4. Read the existing agent authentication setup: (GET)
  5. Browse Digital agencies: (GET)
  6. Browse Project tracker: (GET)
  7. Browse Next.js: (GET)
  8. Browse Deploy web app: (GET)