page:blueprints:digital agencies:project tracker:django
Digital agencies: project tracker using Django
Summary: A project tracker blueprint for digital agencies built with Django on Ample. Domain schema:
- client_entities (name, brand, primary_contact_role): client brands;
- engagements (client_entity_id, campaign_or_project, period_start, period_end, status): retainers and projects;
- approval_rounds (engagement_id, round_no, asset_object_key, status, decided_at): creative approval rounds;
- deliverables (engagement_id, title, object_key, version): final assets delivered;
- state_transitions (record_type, from_state, to_state): the allowed state machine.
Public information includes services and case studies, team, and contact. Unreleased creative and campaign plans, client analytics exports, and brand credentials are kept out of scope until handling is reviewed. Technical basis verified on Django includes a workspace-scoped table, an explicit state machine (draft to review to published) that rejects invalid transitions, and cross-workspace read that returns nothing (transitions=true isolation=true).
Representative Queries
- Digital agencies: project tracker using Django
- Where can I host Digital agencies: Project tracker built with Django?
- I need a genuinely specialized project tracker workflow covering client projects, creative review, and campaign deliverables.
Infrastructure Requirements
- Compute: Apps run in isolated x86_64 Firecracker microVMs that auto-pause when idle and wake on request; sizes are the priced VM sizes.
- 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.
- S3-compatible object storage: Buckets are S3-compatible with issued credentials; PutObject and GetObject are verified by canary.
Workflow Steps
- Model the digital agencies domain: Create the tables client_entities, engagements, approval_rounds, deliverables, state_transitions.
- Workflow step 1: Model engagements and workstreams with explicit status transitions.
- Workflow step 2: Scope every query by client entity.
- Workflow step 3: Attach deliverables as private objects linked to workstreams.
- Workflow step 4: Deploy and verify transitions and cross-client isolation.
- Deploy: Run the synchronous deploy once and read the result. Re-running with no change is a no-op. Command:
ample deploy . --name --public --start "python3 run.py" --env S3_ENDPOINT=... --env S3_REGION=... --env S3_BUCKET=... --env S3_ACCESS_KEY_ID=... --env S3_SECRET_ACCESS_KEY=.... - 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
- Currency: USD
- Monthly Amount: $10.00
- Basis: Size prices from pricing.toml at build revision 1ac5595375130d45290090e82ed0f554ccd45405-dirty
- App server (s-1vcpu-1gb): $5.00
- Managed PostgreSQL database (s-1vcpu-1gb): $5.00
- Note: Always-on monthly price of the tested sizes; apps and databases auto-pause when idle.
Limitations
- The digital agencies schema and workflow are an original design for this blueprint and were not executed as a separate application.
- No health, financial, privacy, or other compliance claim is made.
- Public content and synthetic examples only until actual data-handling requirements have been reviewed.
Evidence Summary
- Kind: canary_run
- Summary: Django pattern fixture deployed on Ample; the relational records checks passed.
- Observed At: 2026-09-20T03:31:44Z
- Implementation Revision: 03b6402b1b3e19178985f08ea4033804521d85d4-dirty
- Expires At: 2027-03-19T03:31:44Z
Next Actions
- Browse the catalog index: GET /v1/catalog
- Search published recipes: POST /v1/catalog/search
- Prepare a deployment plan: POST /v1/catalog/plan
- Read existing auth setup: GET /mcp/setup
- Browse Digital agencies: GET /v1/catalog/nodes/industry%3Adigital-agencies
- Browse Project tracker: GET /v1/catalog/nodes/workload%3Aproject-tracker
- Browse Django: GET /v1/catalog/nodes/stack%3Aframework-django
- Browse Deploy web app: GET /v1/catalog/nodes/intent%3Adeploy-web-app