✦ Wavyclub
A two-day experiment
in building real products
with AI in the loop.
The product is the evidence. The process is the point.
# WavyClub — Shaping ## Problem Surfers without the right board for the session — travelers, or local quivers mismatched to today's swell. ## Appetite 1 day build + 1 buffer day. Decided before scoping a single feature. ## Solution outline P1 Landing → P2 Board menu → P3 Detail → P4 Reservation → P5 Disclosure → P6 ✓ ## What's out × User accounts (V1) × In-app payment (V1) × Delivery — pickup only
From text document to shipped Next.js / Vercel app — in 48 hours.
✦ Why I'm doing this
We're in the middle of a transition.
The way we built digital products five years ago — the way I was trained, the way most teams still operate — is already a legacy process. Design tools, specification flows, handoffs between design and engineering, the relationship between thinking and making: all of it was shaped for a world where a person executed every step by hand. That world is ending.
Six months ago, Figma was my main tool to create and frame ideas. Now I open a shaping document. A new way is forming in real time, where AI is embedded in the loop from framing to shipping, and where the best work comes from people who know which questions to ask the machine and which decisions to keep for themselves.
I don't want to watch this transition. I want to be inside it.
This series of experiments is how I'm doing that. Each one is designed to let me practice a different part of the new loop — to understand what AI does well, where it fails, where human judgment has to stay editorial, and what a working process actually looks like when you build it around AI rather than bolt AI onto the old one. The goal isn't to ship side projects. It's to develop a process I trust.
WavyClub is №02.SurfsUp — an existing surf rental product — is the reference. A fixed target removes the blank-page problem and turns every decision into one about interpretation, structure, and taste. That's where the learning lives.
✦ The product
48 hours, end to end.
✦ The loop I'm developing
Five stages, each with the question it's built to ask.
Each section that follows walks one stage. The stages are what I'm practicing. The product is the evidence they work.
what problem is this actually solving, and for whom?
what's the appetite, and what fits inside it?
what are the places, the affordances, and the data this needs?
how do I keep AI moving without losing the taste?
what's the smallest version that tells the truth about the idea?
WavyClub · Case Study · Barbara Rezende
✦ The reference, and why I used one
SurfsUp solves a real problem: matching surfers to the right rental board. The core flow works.
I chose it because I already use it. I'm a partner through my YouTube channel, and I know the system from the inside. I love the solution — which is exactly what made it the right reference. The small gaps that keep an experience from being delightful only reveal themselves once you've lived with a product long enough to stop noticing them.
The comparison isn't the point. The interpretation is.


✦ Stage 01
Framing
What problem is this actually solving, and for whom?
Before any design, two scenarios had to be specific.

Scenario A
The traveling surfer
Arrives in a new place without a board. Wants equipment access that feels as simple as hotel check-in.

Scenario B
The wrong-board-for-today surfer
Has their own quiver, but the swell doesn't match what's in the car. Wants to swap into an appropriate shape for the session — not commit to a week of the wrong board.
Different motivations, same barrier. Naming them at this resolution — not users who rent boards— is what made the later decisions possible. It's the section of the process where most side projects stay vague, and where staying vague costs the most.
✦ Stage 02
Shaping
What's the appetite, and what fits inside it?
One day to build, one day as buffer. Decided before I scoped a single feature.
This is the hardest discipline to keep when working with AI, because adding is cheap. The temptation to keep extending scope is constant — another feature is always one prompt away. Setting time before features is the constraint that makes AI-assisted building honest. Without it, the tool accelerates drift.
The second time through the shaping process was different from the first. The first time I was learning the form. The second time I could feel which decisions mattered and which were noise — which is what a practice actually is.
Appetite
day build · day buffer
Out of scope
- × User accounts (V1)
- × In-app payments (V1)
- × Delivery — pickup only
✦ Stage 03
Breadboarding
What are the places, the affordances, and the data this needs?
Before any UI, I mapped the whole system as places (the screens and states a user passes through), affordances (what can be clicked, entered, or chosen), and data stores (what the system has to remember).
Eight places, the connections between them, what each screen needed to know and show. Unglamorous as an artifact. The reason the build finished on time. Alongside the breadboard, I wrote out what each screen had to do before I opened Figma. By the time the design work started, the shaping document was nine pages. Every decision afterward had a reason to point back to.
✦ Stage 04
Building with AI
How do I keep AI moving without losing the taste?
This is the stage the practice is really about. Four observations from this build.
Before → After

Specification is the new craft.
A clearer brief upstream means less correction downstream. The thinking moved earlier in the process — not away from me.
Taste is the part that can't be delegated.
AI produces the average of what it has seen. The designer's job becomes editorial: knowing what to keep, what to reject, and when to stop.
The question is the output.
"Make this better" produces noise. A specific, well-framed question produces something usable. Writing good questions is its own design skill.
Rhythm matters more than speed.
Knowing when to specify, when to let AI explore, when to redirect — that's feel, not formula. Built through reps.
✦ Stage 05
Shipping
What's the smallest version that tells the truth about the idea?
Two days forces choices. Here's what I chose to finish, and what I left rough:
What I finished.
The core loop — browse available boards, book one, see the reservation, cancel if needed. The thing that had to actually work, actually works.
What I left rough.
The filtering system could be smarter. Skill level, wave type, location — each one deserves real thinking, and with two days I gave it a working version instead of a considered one. The UI details in the board browse could hold more polish: card hierarchy, photography treatment, empty states. All of it shippable, none of it finished.
Shipping at this scope isn't about calling something done. It's about knowing what to leave rough so the parts that matter can be right. Tight scope is the discipline that makes AI-assisted building honest — without it, the tool just accelerates drift.
✦ The product
What “make it look nicer” actually meant.
A visual system that belongs to the category. Type read as considered, not corporate. Color decisions made against real screens. Motion used where it clarifies, not where it decorates. A product that feels like it was made by someone who surfs.
Type system
Tokens first, screens second.
Color, type scale, spacing, radius — defined once, consumed everywhere. Hardcoded values are banned. The system is the decision; the screens are the consequence.
Atomic, not ornamental.
Every component is built from the same small set of primitives. A button and a card share the same spacing logic. A filter chip and a tag share the same type ramp. The constraint is what makes the visual system feel coherent — not taste applied at the end, but structure enforced from the start.
Aesthetic direction, chosen fast.
One direction, committed to early: dark-mode surfaces, considered type, a warm accent that pulls against the cool neutrals. Decided in the first two hours. Not revisited. Revisiting is the thing that eats time.


✦ Four screens shipped
✦ What I learned about my own practice
The second time through a process is where it starts becoming yours.
The first experiment taught me the form — what shaping is, what a breadboard looks like, what it feels like to write requirements before design. This one taught me which parts of the form I can trust, and which parts need more reps. I know now that my framing is getting sharper and my shaping is getting more honest. I know I still over-specify in places AI would have found a better path, and under-specify in places where precision would have saved an hour.
The next experiment in the series will test a different constraint — probably a greenfield brief instead of a reference, to isolate the framing stage. The one after that, a project where the AI pair is embedded earlier in the loop rather than activating at Build. Each one is designed to stress a different part of the practice.
This case study is №02. There will be more.
✦ If this were real
What the next build would prioritize.
Payment flow
The next build, and the one most likely to reveal new problems.
Inventory management
The first operational bottleneck as the product scales.
Location-aware matching
Filter boards by spot, not just by inventory. Recommend shapes based on the break and the forecast.