Harbor —Signup to first value in four minutes.
Drop a CSV and Harbor previews the segments you'll get — no schema mapping.
Problem, approach, outcome.
PLG signups saw the product, drifted, and never returned — activation was a setup wizard, not a first value.
Empty-state scaffolds with one obvious next action, three-item activation, and a success surface built from the user's own data.
Median time-to-value collapsed under four minutes and week-one retention nearly doubled.
Product-led growth changes the job of onboarding. In sales-led SaaS, onboarding is a call and a spreadsheet; the user is already sold. In PLG, onboarding is the entire sales conversation — compressed into the first session, delivered by the product, with no chance to recover if it fails. Most SaaS onboarding was designed for the older world and then bolted into the new one. It shows.
Harbor is a study in what happens when the four minutes between signup and first value are treated as the most important surface in the product. The empty state is not empty; it is a scaffold. It shows the user exactly one action to take next, with a preview of the result that makes taking the action feel obvious. The activation checklist is short — three items, not eleven — and each item unlocks a real capability, not a tour step.
Progressive setup replaces the setup wizard. The user does not have to configure roles, integrations, and billing before seeing the product; they see the product, and the settings appear inline the moment they need them. Ask-me-later is the default for anything that does not block the current action. The onboarding earns its way into settings; it does not lead with them.
The success screen at the four-minute mark is not a "you're all set!" splash — it is a live surface showing the user their own data, whatever they have of it. If they have five rows of anything, the product uses five rows of theirs. That single move — showing the user themselves rather than a template — is the difference between "I could see using this" and "we already are."
Drop a CSV and Harbor previews the segments you'll get — no schema mapping.
Empty state as scaffold.
The first surface teaches by showing exactly one next action with a preview of its result.
Ask me later, by default.
Configuration inflates inline when needed. Setup wizards get in the way of the value they gate.
The user's own data, immediately.
First-value screens use whatever real data the user has, not a template. Recognition beats decoration.