GAP School Module 05 — Customer Portal Lesson 5.1

A customer portal is a significant engineering investment. Before building one, the question is whether the business model actually justifies it. The answer depends on three factors: transaction frequency, relationship duration, and document complexity. Get these wrong and you’ve built a feature nobody uses.


The situation

Before building the portal, I had to answer an honest question: does this business have the kind of customer relationship where a portal adds value? The criteria:

  1. Does the same customer interact with the business more than once? One-time purchasers rarely log in to a portal after the transaction closes.
  2. Does the customer need ongoing visibility into a status that changes? A consignor whose unit is listed for sale wants to know: is it still listed, what’s the current price, has anyone inquired?
  3. Is there document exchange that currently happens via email attachment or physical paper? If these are currently emailed back and forth, a portal replaces that friction.

For the Anchor build, all three applied: repeat buyers existed (the average customer returned within 24 months), consignors needed visibility into unit status, and the document exchange was currently a mix of email attachments, DocuSign, and physical paper.


What I did

The portal decision framework

Before writing a line of code, I mapped the portal’s four core use cases and estimated the usage frequency for each:

Use caseUsage frequencyValue without portalPortal ROI
Check unit statusWeekly (consignors)Phone call to officeHigh
View purchase historyOccasionalManual lookup by staffMedium
Download documentsPer transactionEmail attachment requestHigh
Update contact infoRarePhone/email to staffLow

High-ROI use cases (status visibility and document access) justified the build. The “update contact info” case alone would never justify a portal — but it’s trivially cheap to include once the infrastructure exists.

What the portal is not

The portal is not a full-featured account management system. It doesn’t let customers make payments, negotiate prices, or contact support. Those are separate features with higher complexity and different trust assumptions. The portal does exactly two things well: show the customer what’s theirs and let them get their documents.

Scope discipline is critical. The moment the portal becomes “while we’re in here, let’s also add…” it becomes a product instead of a feature.

The minimum portal

The first version included:

  1. Login with Google (Lesson 5.2)
  2. “My Units” tab — listing the customer’s purchases and consignments by linked owned_units records
  3. “My Documents” tab — listing documents attached to each transaction
  4. Read-only status display for each unit

Everything else was deferred.


Why it matters

The “just checking in” call pattern is real and expensive. A consignor who wonders whether their unit has had any inquiries calls the office. The front desk looks it up, tells them, and moves on. That’s a 5-minute interaction that scales with the number of consignors. With 30 active consignments, that’s potentially 30 “checking in” calls per week. A portal that shows real-time status eliminates those calls without requiring any staff involvement.

Portal adoption — 34% of active customers in the first 30 days — was driven almost entirely by consignors checking unit status. Buyers used it for documents. The contact-info update feature saw almost no usage in the first three months.


The Anchor build

The portal shipped at the end of Era 3 with exactly the minimum feature set described above. The scope was held to four components: login, my units, my documents, status display. Nothing else.

Six months after shipping, the addition of a “request a showing” button on each unit card was the only scope addition. It was a single form submission that created a new lead record in the CRM. Total additional engineering: 2 hours.


Do this, not that

  • Apply the three-criteria test before building. Repeat customers + ongoing status changes + document exchange = yes. Single-transaction, no status changes, no documents = no.
  • Ship the minimum first. Login + one useful view is a portal. Login + twelve half-built features is a maintenance burden.
  • Define what the portal is not before you build it. Explicitly out-of-scope features prevent scope creep when stakeholders see the first version and immediately want “while we’re in here…”
  • Map usage frequency to ROI before writing code. A feature a customer uses once at account creation is not the same as a feature they use weekly. Build for the high-frequency use cases first.
  • Don’t build a portal if repeat customer rates are below 20%. The login friction cost is the same regardless of portal quality. If most customers transact once and never return, they’ll never log in.
When you’re ready to build

The lessons are yours. When you want it built, we’re here.

Every lesson stays free — no account, no paywall, no email gate, ever. But if you’d rather have this system standing on your business than wire all 48 lessons yourself, leave your email. We’ll send you a direct line to a build — and you’ll be first to hear when we add new tools to the curriculum.

None of this gates a single lesson. The curriculum was free before you got here and it stays that way.

We’ll use your email to send you a fast-track to a GAP build and occasional notes on how GAP builds digital sales departments. Lessons stay 100% free — no email required to read any of them. We never share or sell your information. Unsubscribe any time. Privacy policy at gapindustriesllc.com/privacy.html.

Done learning how it’s built? We’ll build it.

You came here to understand the system, and now you do. If you’d rather have it standing on your business than spend the next three months wiring it yourself, GAP Concierge is the same architecture from these lessons — a white-label AI agent that knows your catalog and captures your leads — set up for you, from $97/mo.

See GAP Concierge →