I made the page beautiful before the site had traffic. That's the right order.
Proof-of-concept-first design: build a genuinely good experience before the analytics and monetisation plumbing — and use click-to-load facades to dodge privacy debt.
I spent this week making the profile pages beautiful on a directory site I'm building — one that barely has traffic yet. No analytics to optimise against, no conversion data, no users to A/B test on. To a certain kind of growth thinker, that's backwards. Why polish the storefront before anyone's walking past?
Because the experience is the product, and you can't reason about converting traffic you haven't designed a reason to convert yet. I deliberately put the consumer-facing craft first and pushed the plumbing — legal pages, payment go-live, the SEO machinery — to later. Here's why that sequence is the right one, and the two design decisions I'm most pleased with.
Build the thing people see before the thing that counts them
There's a failure mode where you wire up tracking, schema, sitemaps and a payment flow on a page that, frankly, no one would want to act on. You end up with immaculate measurement of an underwhelming experience. The numbers will be honest and the news will be bad, and you won't know whether it's the funnel or the page.
So I inverted it. Make the profile genuinely good first — the part a real human lands on and judges in two seconds — then bolt on the measurement and the monetisation once there's something worth measuring. This is the "proof-of-concept first" discipline, and it's a cousin of an argument I've made before: when you have no traffic numbers to show, you sell on the strength of the thing itself. Same logic, pointed inward. Get the substance right while it's cheap to change, before you've built a measurement apparatus that makes every change feel expensive.
Design for the empty case, not the showcase
The first decision I'm happy with: every business gets a proper profile header even when it has supplied almost nothing. The easy version of a directory looks gorgeous for the listing with a hero photo and falls apart for the one with a name and an address — which, on a young directory, is most of them.
So the imageless listings get a generated monogram crest from the business's initials, a serif treatment, the location, a clean call-to-action band. It looks intentional instead of broken. The principle: design for your weakest, emptiest record, because that's the one your visitor will actually hit. The polished showcase listing takes care of itself.
A directory is only as good as its emptiest profile, because that's the one a real visitor lands on first.
This is the same instinct as fixing the leak nobody's looking at rather than the showcase everyone admires — the unglamorous default case is where the conversions quietly live or die.
The privacy debt I refused to take on
The second decision is more technical and, I think, more important long term. Premium profiles can embed a video and a few social posts. The naive way to do that is to drop in the providers' standard embed scripts and move on. I didn't, and the reason is a trap a lot of sites walk straight into.
Those third-party embeds phone home the instant the page loads. An IP address is personal data under European law, and a German court has already awarded damages over a site loading a Google service that transmitted a visitor's IP without consent — the Google Fonts ruling, but the logic carries straight over to a YouTube or social embed firing before anyone clicked anything. Standard embeds are a quiet, accruing compliance liability.
So I used the facade pattern — what the performance world calls click-to-load with facades. The page renders a lightweight static placeholder that looks like the embed. The real third-party code only loads when the visitor actually clicks to play. It's the recommended approach for third-party embeds, and you get two wins at once: the page is dramatically faster because heavy scripts don't run on load, and no visitor data leaves for a third party until they've chosen to interact. No SDKs, no privacy debt, no cookie banner argument to have later. I just didn't take the debt on.
Restraint, again — the calmer the conversion point, the better
One more change I want to flag, because it reverses a decision I made a couple of weeks earlier. I'd built a loud, bordered, bullet-heavy conversion block on these profiles. This week I tore it down to a quiet single line and one sentence. Less shouting, more confidence.
That's not indecision, it's the work — and it's the through-line of how I operate, the same restraint I keep coming back to. The instinct to add — another badge, another CTA, another embed script — is usually wrong. The harder, more valuable instinct is to subtract until only the thing that matters is left.
All of this — the empty-case header, the facade embeds, the calmer CTA — is judgement applied before the data exists to justify it. That's exactly where experience earns its keep, and exactly the case I keep making that deep domain expertise is the real leverage. A newer builder optimises what they can measure. Twenty years in, you build the thing right while it's still cheap, so that when the traffic does arrive, it lands on something worth converting on.
Make it good before you make it measurable. The measurement is easy. The good part is the job.
Sources & further reading
External
Chrome for Developers — Lazy-load third-party resources with facades · web.dev — Best practices for using third-party embeds · Dr. GDPR — YouTube embeds, IP addresses and the Google Fonts ruling
Related posts
No traffic numbers to show? Sell the risk away instead. · The art of restraint: getting things done without fixing everything · The Death of Generic AI: why deep domain expertise is the only real leverage left