AgencyOS: Agency Website & Lead Engine

A conversion-focused site for digital agencies that turns service research and case-study browsing into structured, qualified discovery inquiries.

Website & Lead GenerationProfessional ServicesFixed implementation fee plus optional monthly hosting, content support, and lead-flow maintenance.
MVP time4-6 weeks
DifficultyModerate
Infra cost$7-$105
RevenueLead generation
Review the decision summary
11,942 views
Updated August 2, 2026

Decision snapshot

Is this worth validating?

Build this if

The agency has credible service proof but loses time on vague inquiries and can define practical fit rules.

Avoid this if

The main need is project delivery, a full CRM, or demand generation without enough portfolio evidence.

Validate first

Ask five target prospects to find relevant work and complete discovery, then confirm staff can accept or archive each submission from the captured context alone.

Problem and target customer

Why this exists

Customer problem

Small agencies often publish attractive portfolios but capture every inquiry through the same generic form. Staff then spend time clarifying budget, service fit, timing, and project context before they can decide whether to pursue the lead.

Who pays

Owners and business-development leads at small digital agencies that sell defined services and need a clearer path from portfolio visit to discovery call.

Business model

Single-agency website sold as a project or maintained through a recurring hosting and content-support plan.

Editorial note

The product decision is to connect proof and qualification rather than build a broad agency operating system. A service page should lead naturally to relevant work and then ask only the project questions staff actually use to decide on a call.

Transparent rules are a better first boundary than AI scoring. They are inexpensive, editable by the agency, and let staff see exactly why budget, timing, or service fit changed an inquiry's priority.

The key validation is not page traffic. It is whether prospective clients submit more complete context and whether the agency can make a confident next-step decision without another round of basic clarification.

Choose your next step

What do you need next?

Evaluate the operating tradeoffs quickly, or inspect how to build the MVP.

Evaluation preview

What would it take to run?

Directional infrastructure estimates for the current 500 qualified inquiries assumption. Open the full calculator when you are ready to change it.

Open full cost and deployment
ManagedSelected
$5-$25/ month

One managed runtime and database for public pages, content editing, and lead handling.

Lowest operating effort
Lean self-hosted
$7-$23/ month

One small server runs the app and database with operator-managed backups.

Lowest baseline cost
More control
$40-$100/ month

Separate application, database, and load-balancing capacity for a busier lead engine.

Most separation and control

Build blueprint

Build the first paid use case

Product goal

Who it serves and what it must change

Target user
A prospective client comparing agency services and the agency owner who decides whether an inquiry deserves a discovery call.
Problem
Visitors cannot easily connect relevant proof to a service, while staff receive vague messages that omit budget, timing, and decision context.
Measurable outcome
In a usability test, a visitor can find a relevant case study and submit a complete inquiry; staff can classify it and move it to Contacted without editing data manually.

MVP scope

What ships now and what waits

Included

  • Editable service pages with outcomes, process, and related work
  • Case-study portfolio filterable by service and client sector
  • Multi-step discovery form with conditional project questions
  • Rule-based fit score with visible reasons instead of an opaque prediction
  • Protected lead inbox with notes and New, Contacted, Qualified, Closed, and Archived states

Excluded

  • Full sales CRM with deal forecasting
  • Automated proposal generation
  • Client project delivery portal
  • AI-written qualification decisions
  • Ad campaign management

UX and user flow

Screens, actions, and states

Agency Home

Explain the agency's positioning and route visitors to a service, proof point, or discovery form.

Open a serviceBrowse featured workStart an inquiry
Services & Work

Pair each offer with relevant case studies so visitors can judge fit before contacting the agency.

Filter case studiesOpen project detailsContinue to discovery
Project Discovery

Collect contact details, desired service, goals, budget band, timing, and project context across short steps.

Save each stepReview answersSubmit inquiry
Lead Inbox

Show the fit score, reasons, submitted answers, ownership, notes, and next status for each prospect.

Assign ownerAdd noteChange lead statusOpen email draft
Content Studio

Let authorized staff maintain services, team profiles, and case studies without a code release.

Edit servicePublish case studyReorder featured work

Primary flow

  1. Visitor chooses a service and reviews proof from related case studies.
  2. Visitor completes the discovery form; validation prevents an incomplete submission.
  3. The server calculates a fit score from administrator-defined budget, timing, and service rules and stores the reasons.
  4. Staff review the answers, assign an owner, add a note, and move the inquiry from New to Contacted or Archived.
  5. A transactional email confirms receipt to the visitor and notifies the assigned staff member.

Loading, empty, and error states

  • Discovery draft
  • Submission failed
  • New lead
  • Contacted
  • Qualified
  • Closed
  • Archived

Core entity outline

Entities and business rules

Service

A sellable agency offer used by public pages, case-study relationships, and discovery choices.

Fields
name, slug, summary, process_steps, outcomes, published_at
Relations
Has many CaseStudies, May be selected by many Leads
CaseStudy

Evidence of completed work that links a client context to services and outcomes without inventing performance claims.

Fields
title, client_sector, challenge, approach, outcome_text, cover_image_key, published_at
Relations
Belongs to one or more Services
Lead

A submitted project inquiry and its qualification state.

Fields
contact_name, email, company, goal, budget_band, target_date, status, fit_score, fit_reasons, owner_id, created_at
Relations
Selects one primary Service, Has many LeadNotes
LeadNote

A timestamped staff observation attached to a prospect.

Fields
lead_id, author_id, body, created_at
Relations
Belongs to one Lead
QualificationRule

An administrator-controlled condition that contributes a labeled amount to fit scoring.

Fields
field, operator, value, score_delta, reason_label, active
Relations
Evaluated against each submitted Lead

Business rules

  • A lead cannot be submitted without contact consent, a valid email, one service, a budget band, and a target timing answer.
  • Fit scores are calculated only from active rules and must retain the matched reason labels for staff review.
  • Changing a service does not rewrite the answers or score on an already submitted lead.
  • Only administrators may publish content or edit qualification rules; staff may manage leads and notes.
  • Archived inquiries remain searchable and cannot be returned to New without a staff note.

Architecture and data flow

Components, integrations, and controls

Public web app

Render fast marketing pages, service detail, case studies, and the discovery form.

Staff application

Protect lead operations and content editing behind role checks.

Application API

Validate submissions, evaluate qualification rules, persist state changes, and prepare notifications.

PostgreSQL database

Store services, case studies, leads, rules, notes, users, and status history.

Media storage

Keep optimized case-study and team images outside the database.

Integrations

  • Transactional email provider for visitor confirmations and internal lead notices
  • Optional Make webhook after qualification for an existing CRM or internal chat handoff

Data flow

  1. Published content is read from the database and media storage into cached public pages.
  2. A discovery submission is schema-validated, rate-limited, scored against active rules, and stored in one transaction.
  3. The notification job receives the saved lead ID, sends emails, and records delivery status without changing qualification.
  4. Staff actions append notes and status timestamps while preserving the original inquiry.

Failure handling

  • Keep a visitor on the review step with entered answers when submission fails.
  • Store a valid lead even when email delivery fails, show staff the delivery state, and allow a retry.
  • Reject unavailable or oversized media before replacing a published asset.

Security

  • Use server-side authorization for staff and administrator actions.
  • Apply CSRF protection, output escaping, upload type checks, and a hidden bot field or challenge on discovery submissions.
  • Encrypt transport, keep provider credentials server-side, and avoid exposing lead details in analytics events.

Rate limits

  • Limit discovery submissions per IP and email address with a stricter burst cap.
  • Throttle staff search and content writes independently from public reads.
  • Retry email with exponential backoff and a fixed attempt ceiling.

Deliverables and acceptance

Definition of done for the MVP

Deliverables

  • Responsive public site with home, services, case studies, team, and discovery pages
  • Protected lead inbox and content studio
  • Database migrations, seed content, media adapter, and qualification-rule evaluator
  • Transactional email templates and delivery-state logging
  • Automated tests for discovery validation, scoring, role checks, and lead transitions

Acceptance criteria

  • A visitor can filter work by service, open a case study, and submit a complete discovery inquiry on mobile and desktop.
  • The same answers always produce the same score and visible reason labels under the same active rules.
  • A staff user can assign, annotate, search, and move a lead through valid states but cannot publish content.
  • An administrator can publish a service and case study without changing application code.
  • When the email provider is unavailable, the lead remains visible, is marked Notification failed, and can be retried from the inbox.

Recommended stack

Enough technology for the first version

Web application

Next.js and Tailwind CSS

Support fast public pages and a responsive protected staff interface in one codebase.

Data and authentication

PostgreSQL with Auth.js

Keep content, lead states, qualification rules, and role checks in a relational model.

Media

Cloudflare R2

Serve case-study imagery from object storage without bloating database backups.

Email

Resend

Send receipt and assignment notices while tracking delivery failures.

Why this is sufficient

The first release is primarily a content-rich website plus a small operational inbox. A single full-stack application and relational database keep scoring and lead history auditable without adding an AI service or separate worker fleet.

Not required for the MVP

LLM APIVector databaseReal-time collaborationPayment processorNative mobile app
Next stepTurn the blueprint into an execution plan

Copy the build prompt, model the operating cost, and choose where to deploy.

Build and ship

Execution

Build, price, and deploy the MVP

Once the blueprint is clear, use the prompt, cost model, and deployment options to start building.

Build prompt

Copy this into a builder

Build a responsive Next.js application with a public marketing surface and a protected staff area. Keep lead qualification deterministic and editable rather than presenting it as AI.

Build prompt

Your build prompt is ready

Open the prompt pack whenever you are ready to take this blueprint into your builder.

Based on the blueprintReady for your builderFollow-up steps included

Cost calculator

Model the MVP operating cost

A technical run-cost estimate for the first production version. Team, acquisition, payment fees, and business COGS are excluded.

Estimated monthly total$5-$25

$5-$25 per 500 qualified inquiries

Qualified inquiries / month500 qualified inquiries
Selected pathEasiest
Pricing checkedAug 2, 2026

Usage assumptions

Use beta workload metrics when available.

Infrastructure approach
One managed runtime and database for public pages, content editing, and lead handling.
Optional modules
Cost breakdown

$5-$25 per month

Low and high values allow for usage variance and plan headroom.

Managed app deployment

One managed runtime and database for public pages, content editing, and lead handling.

5K qualified inquiries included, then $5-$15 per 5K qualified inquiries
$5-$25
Lead emails

Confirmation and staff-notification messages generated by discovery submissions.

3K qualified inquiries included
$0

Included

  • Application and database hosting
  • Case-study media storage
  • Backups
  • Lead confirmation and staff notification email

Not included

  • Design and content labor
  • Advertising
  • Domain purchase
  • CRM subscriptions
  • Legal or privacy review

Pricing basis

The estimate combines the selected infrastructure path, required operating modules, selected optional modules, and usage above included monthly allowances. Taxes and regional uplifts are excluded.

Deployment options

Pick the operational tradeoff

Choose based on operating preference, not only the headline price.

EasiestRecommended

Railway

Run the site, database, and media credentials with a short deployment path.

$5-$25/month before email overage

Good fit

  • Small agency
  • Managed deployment
  • Low initial inquiry volume

Limitation

Resource usage can exceed the plan minimum as traffic or media work grows.

Cheapest

Vultr

Run the app, worker, and database on one small Vultr VPS with Docker Compose and explicit backups.

$7-$23/month

Good fit

  • Cost-sensitive launch
  • Simple topology
  • Operator-managed backups

Limitation

The owner is responsible for patching, monitoring, and restore drills.

More control

DigitalOcean

Separate application, worker, data, storage, and backup responsibilities as the workload grows.

$40-$100/month

Good fit

  • Separated services
  • Predictable bundles
  • More operational headroom

Limitation

More components add configuration and observability work.