AI in Practice · Consumer Personal Project

Dabble Collective

From brief to 30 screens in one working session.

A Philadelphia hobby-discovery app, designed with Claude as a design and build partner. This page maps what we actually did against the classic design process, including the places where we skipped ahead, looped back, or haven't gotten to yet.

Year
2026
Role
Designer and director
Scope
Strategy · Brand · Product design
Partner
Claude, design and build
Status
In progress
Domain
Consumer · Marketplace
The working setup: Claude's session on the left explaining a checkout fix and showing an edit to decision-log.md, with the tappable Dabble prototype open on the right showing the Discover screen
The setup, mid-project. Claude works in the repo on the left and the tappable prototype runs on the right. Here it has worked out that Apple won't let its Pay button take Dabble's typeface, switched to the Airbnb and ClassPass pattern, updated Wonder and the prototype, and written the decision to the log, all in one pass.
12
User problems defined
17
Jobs to be done
142
Design tokens synced into the design tool
~30
Screens designed
14
Logged decisions

Dabble Collective helps people in Philadelphia find a hobby worth trying once. It curates beginner-friendly, low-commitment classes that already exist in the city, pottery, climbing, printmaking, dance drop-ins, so deciding what to do with a free night takes minutes instead of an evening of searching.

Dabble doesn't run the classes. Studios do. Dabble curates them, and over time lets you book without leaving the app.

Busy mom

The primary persona. One or two free nights a month, and she needs to feel the time was well spent. Single sessions, not multi-week series. When a tradeoff comes up, she wins.

Young professional

Secondary. Here for the social side. Cares about the vibe of a room, whether it works for a group, and how fast a listing shares to a group chat.

Former artist

Tertiary. Wants real studio time, not an intro class. Served by filters and tags, open studio and intermediate, rather than by the core flow.

How it earns

Booking commissions across three tiers: Partner studios book natively, Connected studios through their own platform, Listed studios in an in-app browser. Featured slots are labelled and still have to pass curation.

Nothing was handed to me. No brief, no team, no research budget, and no client to approve anything. I wanted to see how far a designer and an AI could take a real product in one working session, so I picked a real problem rather than a toy one: Philadelphia is full of beginner classes, and there is no good way to pick one for a free Tuesday night.

The first thing I wrote wasn't a prompt. It was CLAUDE.md: the personas, the MVP scope, the brand rules, what was out of scope, and how I wanted to be worked with. Then I connected Wonder as the design canvas and Mobbin as the pattern library, and started.

Nothing below was reconstructed afterwards. The decision log was written as we went, including the entries where I overrode Claude.

I make the calls. Claude does the legwork. The split is what makes the speed possible without giving up authorship. Claude never picks the direction. It brings options, evidence and a first draft, and I choose, push back, or override.

Me, the designer

  • Wrote the brief and the personas
  • Set the brand feel: editorial, upscale, a little whimsical
  • Named the user problems from lived experience
  • Chose between every set of options
  • Overrode Claude when taste or strategy said so

Claude

  • Ran competitor, pattern and platform research in parallel
  • Drafted options side by side so I could react
  • Built screens in Wonder against our tokens
  • Checked contrast and token use on every screen
  • Kept the decision log so nothing got lost
The shared workspace
Mobbin

Reference for how proven apps behave.

Wonder

The canvas for designing and reviewing screens.

CLAUDE.md

The living brief.

theme/tokens.ts

The single source of style.

docs/

Strategy, workflows and decisions.

The Wonder canvas for Dabble Collective, showing roughly thirty app screens laid out in columns from Discover through Listing, Book, Filters, Personalize, Saved, My plans and Invite, with the variables panel open on the right listing the synced colour tokens
The whole working file. Every screen here was generated by Claude in Wonder over an MCP connection, drawing on the token set in the right-hand panel.

It wasn't a straight line, and that's the point. Because each round was cheap, we could go back a stage the moment something felt off. These are the moments that changed the work, and where it stands now. The biggest loop happened mid-design, when the screens looked good enough to raise the real strategy question.

Brief, tools and a direction

Define

Wrote CLAUDE.md with personas, MVP scope and working rules, and connected Wonder and Mobbin. Chose a native app built with Expo, then answered the brand questions Claude put to me: editorial, upscale, welcoming, never crafty, no pinks or SaaS blue.

Three directions, and I rejected every palette

Ideate

Claude mocked up three complete brand directions side by side. I took direction C and threw out all three palettes as too brown and too serious. Four more rounds, then I questioned red because it reads as food. Saffron won, and its Bumble resemblance was named and accepted on purpose.

The Wonder canvas showing the same Discover screen repeated across palette options C1 through C4 and C1a through C1c, with wordmark variants above them and C1c, white and saffron, marked as chosen in the layers panel
Palette rounds in Wonder: the same screen repeated so the choice is a comparison, not a guess. C1c, white and saffron, won.

First screens, and my headline over Claude's

Prototype

Discover and Detail, built by Claude directly in Wonder over an MCP connection, against a token file synced as variables so the designs and the future code can't drift. Six headline variants before "Try a new hobby, no strings," which was my override.

The strategy reset

Loop backEmpathizeDefine

The screens looked good enough to raise the real question, so I stopped designing to rethink the business: keep people in the app, offer native booking with Dabble support, and plan how Dabble makes money. Claude researched and drafted against that, which added 12 user problems, each with a metric.

Booking, then the rest of Phase 1

Prototype

Pick a time, review and pay, confirmed, plus filters, the quiz, For you and Saved. A confusing studio page got a realistic redesign. I renamed "Your picks" to "Recommended for you," since the user didn't pick them. My plans became a fourth tab, which I chose over Claude's idea to merge it.

Yes/no check-in becomes star ratings

Loop backDefineTest

I overrode the simple check-in, which meant Claude had to redefine the North Star metric to match: good nights booked, measured as bookings rated 4 to 5 stars.

A review that found nine gaps

Test

I asked Claude to check every screen against the brief and the strategy. It found that Detail promised free cancellation that Listed studios can't offer, plus missing content and an underserved persona.

Saffron, pulled back then settled

Loop backIdeatePrototype

Claude's fixes brought Detail versions by booking tier, the artist path and vibe tags. Saffron got pulled back too far along the way, until I set the rule: one guiding moment per screen.

From screens to something tappable

Prototype

Designed the two remaining quiz questions, then had Claude build a tappable prototype from the Wonder screens, with push and sheet transitions, real scrolling and an autoplay mode for recording. Three flows run end to end today: find and book, personalize, and invite friends.

The tappable prototype: a control bar across the top with the three flows Find and book, Personalize and Invite friends, then Autoplay, Restart, Captions, Tap dots, Clean and four theme swatches, above a phone frame showing the Dabble Discover screen
The prototype shell Claude built. Flow switcher, autoplay for recording, captions and tap dots that can be turned off for clean screenshots.

Still building

IdeatePrototype

The prototype is a checkpoint, not an ending. Each round builds on what's already there: next is the shared-listing web page with its empty and error states, then an Expo app from these same screens and tokens, with sample Philly listings. The brief, the tokens and the decision log carry forward, so nothing restarts.

The screens are not static. These are the three flows running in the prototype, recorded end to end.

The find and book flow: the Discover screen with the headline Try a new hobby, no strings and a filtered list of classes, into a class detail page with what you'll do, what to know and reviews, then choosing a date and time, setting the party size, and landing on a confirmation
Find and book. Discover, into a class page carrying what you'll do, what to know and reviews, then picking a date and time, setting the party size, and confirming.
The personalize flow: an intro screen headed Let's find your thing with a skip link, then three questions covering interests, which nights are usually free, and budget, ending on a Recommended for you list with an Edit answers link
Personalize. Three questions about interests, free nights and budget, then a list built from the answers. Skipping is offered from the start, and Edit answers stays in reach.
The invite friends flow: from the booking confirmation, tapping Invite friends to this class opens a sheet showing who is going and how many spots are left, a choice between friends booking their own spot or being added and paid for, a preview of what they will see, a share link, and finally the friend's view headed Join Maya at the wheel
Invite friends. From the confirmation through to what the friend receives. Who pays is a deliberate choice, and the invite is previewed before the link goes out.

Every stage left something behind, which is what makes a long session reviewable afterward rather than just fast. These four are the ones that did the most work.

CLAUDE.md open in an editor, showing the Dabble Collective brief: what this is, audience, three personas and MVP scope
CLAUDE.md — the living brief: what Dabble is, who it serves, and the MVP build order.
product-strategy.md showing numbered user problems, each with a table of how Dabble solves it and the metrics that would prove it worked
product-strategy.md — every problem paired with a solution and the metric that would prove it.
jobs-and-workflows.md showing jobs by persona in a table, each job tagged to a problem number and the feature that serves it
jobs-and-workflows.md — jobs tagged to problems, and the feature serving each one.
decision-log.md showing dated entries, each with the decision, the alternatives considered, and the reasoning
decision-log.md — each entry records the call, the alternatives, and why.

Speed came from structure, not shortcuts. Six things did the work.

Options cost minutes, not days

Ten palettes and six headlines meant I could judge choices side by side instead of imagining them.

Research ran in parallel

Competitors' pricing, booking APIs and app patterns were researched at the same time and brought back with sources.

One source of truth for style

Every screen reads from the same tokens, so a palette decision changes the designs and the future code together.

Decisions are written down

14 entries record what we chose, what we didn't, and why. That's how a single long session keeps its context, and how the work shows its thinking.

Taste stayed with me

The headline, the four tabs, star ratings, native booking, "recommended" wording and saffron balance were all my calls, several against Claude's suggestion.

Going back was cheap

Reopening strategy halfway through took one conversation, not a sprint, so we did it instead of shipping around the problem.

The method behind this

The fast part is done. What's left needs people outside this conversation, and until that happens this is expert review rather than validated design.

Empathize, for real

Short interviews with busy parents and young professionals in Philly, to test the 12 problems against real lives.

Usability test

5–8 people who fit the personas. Target: 80% find a class for a free night in under 2 minutes.

Up Next
Case Study
Scheduling · Higher Ed
Unified Academic Calendar
Research-driven scope decision: shipped 2 of 3 calendar views based on real usage data.
→