Client Build · Sign Fabrication
Aplos AI

One system from first inquiry to installed sign.

The Cube Signs, an Atlanta sign fabrication shop, was running on a template website, text messages, and memory. Every inquiry looked the same, every client update was typed by hand, and nothing showed the state of the pipeline. We replaced all of it with one system the owner runs himself.

How the shop was running before we built this

Custom signage is a quoting business: a storefront channel-letter job and a quick vinyl banner arrive through the same contact form, but one is worth twenty times the other. The shop had no way to tell them apart, no pipeline, and no system for keeping clients informed while their sign moved through design, fabrication, permitting, and install.

Every lead equal

No qualification, no scoring

Inquiries arrived through a generic template-site contact form with no questions about project type, budget, or timeline. A high-value storefront job and a tire-kicker got the same follow-up, in whatever order they were noticed.

Typed by hand

Client updates on memory

Signs take weeks: design approval, fabrication, permits, install. Clients who wanted to know where their sign stood called or texted, and every answer was a manual message. Updates happened when the owner remembered, not when the status changed.

No pipeline

Jobs tracked in his head

There was no view of active jobs by stage, no dollar total on the pipeline, and no queue of new leads. Marketing had the same problem: a portfolio of finished work sat on a phone instead of feeding the website or social channels.

A lead-to-install system the owner configures himself

One application: a new marketing site feeding a scored lead queue, a project Kanban, configured email updates on project-stage changes, and a social composer for the shop's own work photos. Every setting the business might outgrow, from pipeline stages to scoring rules to message templates, is editable in a settings screen. The owner can change these settings without a code edit; new features and integration changes can still require development.

An inquiry moving through the system

  1. Capture

    The customer supplies project type, timeline and budget through the intake form.

  2. Prioritize

    Configured scoring rules place the inquiry in the owner's lead queue.

  3. Move the job

    The owner changes the project stage on the board as the work progresses.

  4. Update the customer

    Enabled stage changes trigger the configured email. Missing templates, disabled sends, or delivery failures need attention.

Simplified workflow diagram based on the delivered capabilities described below. It illustrates the handoffs, not a customer record or a measured outcome.
HOT / WARM / COLD

Lead Intake & Scoring

A public intake form asks what a sign buyer actually knows: project type, timeline, budget range. Every submission is scored automatically and lands in the lead queue as HOT, WARM, or COLD, so the owner works the storefront job before the banner inquiry. A honeypot field silently drops form spam, and the questions and scoring weights are editable in Settings.

Stack: Next.js form routes, configurable scoring rules in Supabase, honeypot spam filtering.

Visual pipeline + $ total

Leads Board & Project Kanban

New leads queue in their own board; accepted jobs become cards on a drag-and-drop Kanban that follows the shop's real stages from design through install. The dashboard shows estimated pipeline value and a count of new leads. Pipeline value is a planning estimate, not booked revenue. Moving a card can trigger an enabled customer email for that stage.

Stack: Supabase (PostgreSQL) with row-level security, optimistic Kanban UI, live aggregate stats.

Status change → message

Automatic Client Updates

Email updates were running at handoff through a verified sending domain. The owner can edit templates and switch notifications off by stage. Invalid or previously bounced addresses are skipped, and a failed send is reported separately from the saved job status. The WhatsApp integration was built, but activation still required Meta account approval and an end-to-end test in the delivery record; it is not presented here as a verified live channel.

Stack: Resend with bounce-suppression webhook, Meta WhatsApp Cloud API, per-stage templates editable in Settings.

FB + IG from one pane

Social Composer

Finished signs are the shop's best marketing, so posting them had to be trivial: upload a photo, write a caption, publish to Facebook and Instagram from one screen. Every upload is re-encoded server-side to a format Instagram accepts, so phone photos post without mysterious failures. We staged the first twenty posts from the shop's own portfolio as ready-to-publish drafts.

Stack: Meta Graph API via OAuth, server-side image conversion with sharp, draft queue with one-click publish.

Replaced the template site

Marketing Website

A new site on the shop's own domain, built around a gallery of 29 real jobs pulled from their archive instead of stock photos, a process section that sets expectations for how a custom sign actually gets made, and LocalBusiness structured data for Atlanta local search. The intake form is the site's front door, so the website and the lead system are one thing, not two.

Stack: Next.js static marketing pages, LocalBusiness JSON-LD, same app and domain as the dashboard.

No developer after handoff

Owner-Editable Settings

Branding, pipeline stages, notification templates, lead-scoring rules, and the intake form's own options are all editable from a settings screen, and changes flow through to the public form immediately. The business can rename a stage, reword a message, or reweight its scoring without calling anyone. That is what made the full handoff honest.

Stack: Config layer in Supabase read by both the dashboard and the public site, per-table row-level security.

Full stack
Next.js TypeScript Supabase PostgreSQL Resend WhatsApp Cloud API Meta Graph API Vercel

The workflow is useful beyond sign shops

This project connects an inquiry to a job record, an assigned stage, and customer updates. The same questions apply in other service businesses: who owns the next step, where the current status lives, and when a customer should hear from you.

This case study documents the delivered system. It does not establish a measured increase in revenue or prove that a particular industry is the best acquisition channel.

Explore a custom client portal or connect an existing workflow. Features, integration access, and handoff are agreed for each project.

What changed at launch

The system went live on the shop's own domain in August 2026, replacing the template site outright. The outcomes below are structural: they are what the system enforces, not projections.

24/7

Every lead captured & scored

No inquiry waits to be noticed. A real qualified lead arrived through the form and was scored and queued automatically within the first two weeks live, with zero human involvement.

0

Manually typed status updates

An enabled stage change can send an email from a template the owner controls. The status update and notification outcome are reported separately, so a saved job stage is not mistaken for a delivered message.

100%

Owned by the client

Code repository, database, hosting, domain, and every connected account were handed over. Fixed project price, no required monthly fees to Aplos, no dependence on us to operate it.

Client Build · Sign Fabrication

Running your shop on texts
and memory? Let's fix that.

Book a free 30-minute build call to discuss your workflow and the custom software your business needs. We define the next scoping step and agree on pricing before implementation.

Book a Free Build Call