Case Study

Agenful Agency Platform

A white-label agency platform built from scratch — marketing site, content management, a service catalog with online checkout, a full client portal, admin order management, and a built-in lead capture pipeline with a dynamic project cost estimator. The same system that runs Ezyful Digital is deployable for any agency in hours, not months.

Web AppSaaSCMSClient PortalWhite-LabelLead Capture
Agenful

The Problem

Running a digital agency without the right infrastructure is a constant drain. Client communication lives in email threads. Project status lives in someone's head. Deliverables get shared through DMs. Invoices are exported manually. Onboarding a new client takes days of back-and-forth instead of minutes.

Off-the-shelf tools — project management apps, billing platforms, CMS systems — each solve one piece of the puzzle. But they don't talk to each other, they're not branded, and they force clients to log into yet another third-party app.

On the marketing side, most agency sites have no lead capture beyond a contact form. Visitors who aren't ready to book a call leave without a trace — no way to nurture them, no data on what they were looking for.

The alternative — building something custom — is typically too expensive and slow for a small agency to justify.

What We Built

A single, self-contained application that covers everything an agency needs: a public-facing marketing site, a service and package catalog with online checkout, a headless CMS, a fully branded client portal, and a complete lead capture pipeline — all in one codebase, deployable on a $14/month VPS.

Built to be white-labelled. Every design token — colors, fonts, border radius, hero style — is configurable from the admin panel and applied site-wide at the server level. A new agency can have their branded version running with their own domain, services, and client base without touching a line of code.

The lead pipeline captures prospects at every touchpoint — contact form, newsletter signup, and a dynamic project cost estimator — and feeds them into Loops for segmented drip sequences based on project type, budget range, and timeline.

Core Features

White-Label Design System

Every visual property of the platform — brand colors, typography, border radius, and hero background style — is stored in the database and injected as CSS custom properties at the server level. Switch the accent color in the admin and every button, link, and highlight updates instantly.

Content Management

An embedded headless CMS handles everything: services, packages, case studies, testimonials, FAQs, blog posts, pages, and media. Drafts, versioning, and preview are built in. The admin panel is itself white-labelled with a custom logo, dashboard, and order overview.

Service & Package Catalog

A structured catalog of services and tiered packages, each with delivery timelines, revision counts, feature lists, and requirement intake questions. Packages have a status lifecycle and a sort order.

Checkout & Order Management

Clients browse the catalog, select a tier, complete a requirement intake form, and check out online via Stripe. Orders are created in the database on successful payment and the client is automatically provisioned in the portal. Admins can also create orders manually without going through checkout — useful for bespoke or pre-agreed engagements.

Admin Order Overview

Every order has a custom admin view — a server-rendered overview tab showing the full order in one screen: current status, status history timeline, client details, payment summary, package snapshot, requirement questions with client answers, message thread, and uploaded documents. Admins update status, send messages, and manage everything without leaving the overview.

Admin-Created Orders

Admins can create orders for clients directly — no checkout required. The system automatically sets the order source, status, and builds a snapshot from the selected package tier or custom scope (title, description, delivery days, price). Requirement questions defined during creation are bridged into the snapshot so the client sees them immediately in the portal.

Inline Requirements Builder

When an admin creates an order, they can define the client requirement questions directly in the admin — question text, type (text, textarea, select, file upload), required flag, and help text. The questions are stored in the order snapshot and rendered as a form in the client portal the moment the client logs in.

Manual Payment Recording

For admin-created orders paid outside of Stripe — bank transfers, invoices, or other arrangements — the admin records payment directly from the order overview: amount, method, and date received. The payment is immediately reflected on the client invoice.

Client Portal

An authenticated, branded portal where clients manage everything related to their projects. Every route is server-side session-validated. Clients see their orders, submit project requirements, exchange messages with the agency, download deliverables and invoices, and request revisions when reviewing work.

Order Messaging

Every order has a dedicated message thread. Clients and the agency exchange updates, feedback, and files in context — directly tied to the relevant order. Unread message counts appear in the portal nav and on each order card.

Notifications

A notification system surfaces order status changes, new messages, and document uploads. The portal nav shows an unread badge with live counts. Status change emails are sent automatically via Resend and key milestones fire events in Loops.

Invoice PDF Generation

One-click invoice generation for any active or completed order. PDF invoices are generated server-side using React PDF and streamed directly to the client — no third-party invoicing tool needed.

Booking Integration

The booking CTA throughout the marketing site — hero, services, contact — supports multiple providers: Cal.com, Calendly, and HubSpot Meetings. The active provider and its link are set in the admin; all pages and the BookingButton component update automatically without code changes.

Project Cost Estimator

A multi-step wizard at /estimate that gives visitors a realistic market cost range for their project type. Questions, ranges, platform multipliers, and result copy are all configurable from the admin — no code changes needed. Leads submit their email to unlock the full breakdown, which creates a segmented contact in Loops.

Lead Capture Pipeline

Three capture points — contact form, newsletter signup in the footer, and the cost estimator — all funnel into a Leads collection in the admin. Each lead is tagged by source and synced to Loops with project-type properties for segmented drip sequences. When a lead converts via checkout, it is automatically marked as converted with the linked client record.

Custom Admin Dashboard

The admin home screen shows real-time stats — total revenue, average order value, a six-month monthly revenue bar chart, a recent orders table, and quick links to key admin sections.

Screens & User Flows

  • Hero with configurable background style (wavy canvas, gradient orbs, image + overlay, or none)
  • Services overview page and individual service detail pages
  • Package catalog with tier comparison and inline checkout
  • Work / case studies grid and individual case study detail
  • Contact form with booking CTA — submission creates a Lead and syncs to Loops
  • Project cost estimator wizard — project type → features → platform → timeline → email gate → result with matched package
  • Newsletter signup in footer — gated by enableEmailNurturing feature flag
  • Email + password authentication with session persistence
  • Dashboard overview of active orders and recent activity
  • Order detail with requirement summary, status timeline, and document downloads
  • Per-order message thread for async communication
  • Revision request submission on orders in review
  • Invoice PDF download for any order with payment recorded
  • Notifications inbox with unread badge in nav
  • Admin creates a manual order — assigns client, sets scope, defines requirement questions, records payment
  • Admin overview tab — status update, message send, payment record, requirement management, document upload, all in one screen

Shipped to Production

Everything below is live, operational, and serving real users.

Full marketing site

Services, catalog, case studies, contact, and supporting pages, all CMS-managed

Online catalog & checkout

Tiered packages with intake forms and live Stripe checkout; orders created on successful payment

Admin order creation & management

Admins create and manage orders without checkout — custom scope, requirement builder, manual payment recording, inline client assignment

Custom admin order overview

Server-rendered overview tab per order — status, history, client info, requirements, messages, payment, and documents in one screen

Complete client portal

Auth-gated, branded — orders, messages, notifications, document delivery, revision requests, and invoice PDF generation

Lead capture pipeline

Contact form, newsletter, and cost estimator all feed a Leads collection synced to Loops with source and project-type segmentation

Dynamic project cost estimator

Admin-configurable wizard — project types, features, platform multipliers, and result copy all managed from the admin UI without code changes

White-label ready

Every design token configurable from admin; logo, colors, fonts, and hero style applied site-wide

Multi-provider booking integration

Cal.com, Calendly, or HubSpot Meetings — switch provider from admin without touching code

Custom admin dashboard

Revenue stats, average order value, six-month revenue chart, and recent orders table

Self-hosted, one-command deployment

Runs on a standard VPS with Docker Compose + Nginx; full deployment guide included

Want Something Like This?

Book a free consultation and let's talk about your project.

Browse Packages