Case study 04 · Web3Connect.com
Four apps, eight weeks, one designer
A B2B reviews-and-recommendations marketplace I founded, designed and shipped solo — with AI as the engineering team and a design system that existed in code before any mockup did.
Full walk-through in progress
A note on this page
This is the outline. The full walk-through — annotated screens of the marketplace, review submission flow, adaptive dashboard, admin moderation queue and the email design system, plus the PostHog findings that changed each of them — is being written now. Everything described below is live and I’m happy to walk through it properly in a conversation, or share a recorded run-through.
The premise
Web3Connect is a vertical reviews-and-recommendations marketplace for the blockchain industry — conceptually G2 or Clutch, but specific to one sector. Service seekers find and compare industry partners; partners claim and upgrade their listings; reviewers leave structured, verified feedback.
It was also a deliberate, time-boxed experiment: could one designer with AI as the engineering team ship a real, quality product? The bar I set was that no flow could be an easy-path default. Every key surface had to be thought through on its own terms: product, engineering, UX flow, customer lifecycle stage.
What I designed and shipped
Five production surfaces, all responsive web, all mine end to end:
Public marketplace
Search and filter partner offerings; partner profile and offering detail pages; review overview blocks; ‘similar partners / offerings’ modules; claim-profile and upgrade calls to action.
Review submission flow
Partner and offering search, multi-step submission, structured ratings alongside free-form feedback, LinkedIn-verified reviewer authentication, and save-and-resume drafts.
User dashboard
Progressive and adaptive by user archetype and subscription tier. Always surfaces the next-best action. Covered in section 04.
Admin dashboard
Queue-based moderation for reviews and partner applications, an AI-agent partner scraping and offering classification system, and a soft-rejection workflow that returns structured feedback to applicants rather than a dead end.
Email design system
Transactional, broadcast and event-triggered lifecycle email through Customer.io. Responsive across clients, light and dark theme support, behavioural-tagging-driven content variants, A/B variants, and a reusable component suite so consistency didn’t depend on discipline.
Coming to this page
Annotated screens for each surface, the decisions behind them, and the PostHog session-replay findings that changed them post-launch.
Design system before mockups
I inverted the usual order. The design system was written in code first — shadcn/ui and Tailwind v4 as primitives, in a single shared component package consumed by all four apps — before I drew a single screen.
The reason is specific to working with an AI engineer. The agent reads the system as it builds. If the source of truth is a Figma library, the agent is working from my description of the system; if the source of truth is the component package, the agent is working from the system itself. A change to a token or a component propagates globally instead of requiring me to notice a drift and correct it.
Ten years on from the pattern library
This is the same argument I made at Webjet in 2015, arrived at from the opposite direction. There I insisted the library live in engineering’s custody so it would be treated as infrastructure. Here the “engineer” is an agent, and the same instinct says the system has to be the artefact it reads — not a document describing one. See the pattern library case study for the original version of that argument.
The adaptive dashboard
A two-sided marketplace has a hard onboarding problem: the same URL has to serve people who want opposite things. I built the dashboard around three archetypes — service seeker, offering reviewer, and partner (free versus paid tier) — and made the interface adapt rather than ask.
- Banners, menu options and primary calls to action all shift with archetype and tier.
- Users are tagged from behaviour during registration paths and key button clicks, and that tagging shifts downstream messaging — including email.
- The surface always shows a next-best action: leave a review, claim a listing, upgrade tier, buy a visibility boost.
The full write-up will cover the state matrix, what happens when someone is legitimately two archetypes at once, and where the adaptation was too clever and had to be dialled back.
Designing for visitors that aren’t people
A growing share of traffic to a discovery-and-comparison site arrives as an LLM acting for a user. For that visitor, information structure and density are the visual hierarchy — there is no visual layer.
So I treated the agent as a user archetype with its own interface:
- A
/llms.txtindex, so an agent can find the shape of the site without crawling it - Markdown responses instead of HTML where the consumer is an agent
X-Markdown-Tokensheaders so an agent can budget its context before fetching
This is the part of the project I find most interesting, and it’s an active research interest rather than a solved problem — see what I’m researching.
Keeping the bar with an AI engineer
The failure mode of AI-assisted building is drift: the output is plausible, ships, and is quietly worse than what you’d have accepted from a person. My answer was to encode the standard as rails rather than review for it after the fact — a modular instruction system of 15+ instruction files and slash commands covering design conventions, accessibility rules and code-review standards.
Method was a markdown PRD, a polymorphic schema, taxonomy and roadmap, worked through sprint by sprint. Research came from PostHog session replay and custom event capture, which is how I found the confusion points that turned into more completed flows and less downstream admin.
Knowing when to stop
Post-launch I read the macro signals against further investment: AI agent chat displacing traditional search as the discovery surface for service seekers, declining attention on the crypto industry generally, and a Clutch-style top-visibility business model facing real competitive headwinds.
So I stopped investing in it. The platform runs on auto-pilot, and I’m redirecting my full-time effort into a team that can use the experience. I’d rather include this than leave it out — calling time on your own product is a design and commercial judgement too, and I think it’s the more useful thing to know about me.
What I learned
Four things, with more to come in the full write-up
- Up-front thinking is what makes an eight-week build possible. The PRD, schema, taxonomy and design system took real time. They are also the entire reason the build phase was short. AI accelerates execution; it does not do the deciding.
- The design system has to be the artefact the builder reads. Any layer of translation between the system and the implementer is a place drift enters — whether the implementer is an agent or a person.
- Conventions encoded as rails beat conventions enforced by review. Reviewing for quality scales linearly with output. Encoding it doesn’t.
- Session replay finds what studies miss. With no research budget and no participant panel, replay plus considered event capture was a genuinely good substitute for the confusion-hunting part of usability testing — though not for understanding why.