3 Weeks of Shipped Work

Everything Brian completed on MatchED 2.0 — from the first layout system through the member booking surface — presented in the order it was built.

15
Tasks Completed
3
Sprint Cycles
21
Days of Work
100%
All Done
🏗
Phase 1 — Foundation
Cycle 1 · May 12–15, 2026
4 tasks
MAT-255✓ DoneCompleted May 12
Reactive Layout System — Mobile, iPad & Desktop
Built the structural foundation the entire app runs on. The same screens now adapt intelligently to the device: phone matches Carlee's Lovable designs exactly, desktop shifts to a multi-column sidebar layout. Every surface — Home, Search, Pathway, Groups, Calendar — responds automatically.

What was delivered

  • Mobile (390px): 5-tab bottom nav, single-column cards — identical to Lovable prototype
  • iPad (820px): two-column cards where it aids scanning
  • Desktop (1280px+): sidebar nav, multi-column, no stretched-mobile look
  • MatchED visual identity preserved: beige, navy, terracotta, soft photography
Talking point: "This was the skeleton of the whole app. Until this landed, every screen was just a mobile prototype. Now every surface automatically adapts to whatever device your users are on."
📱 Mobile Home
🖥 Desktop Home
localhost:5173/
MAT-256✓ DoneCompleted May 13
Sign In & Create Account Screens
The first thing a new mom sees. Both screens built to match Carlee's Lovable designs on mobile, with deliberate desktop adaptations. Copy is warm throughout — "Sign in to your MatchED account," errors like "That password doesn't match what we have for you."

What was delivered

  • Sign In: email + password, "Forgot password?", full-width terracotta CTA
  • Create Account: email, password, optional phone, zip, terms link
  • All interaction states: focus, validation error, loading spinner, network error
  • Warm beige background, rounded corners, generous padding — on-brand
Talking point: "This is the first impression. Every word was chosen carefully — nothing clinical. It should feel like walking into a welcoming community, not filling out a form."
📱 Sign In
📱 Create Account
🖥 Sign In
localhost:5173/auth
🖥 Create Account
localhost:5173/auth
MAT-270✓ DoneCompleted May 14
Home Screen Polish — Filter Button & Chat Bubble Removed
Two targeted clean-ups that make Home feel calmer. The Filter button was removed — the recommender handles curation on Home. The floating chat bubble was removed — it wasn't Carlee's intent and made the screen feel Facebook-like. Chat belongs in Groups.

What was delivered

  • Filter button removed — cards reflow naturally, no layout shift
  • Floating chat bubble removed — cleaner, less social-media-y
  • Verified across mobile, iPad, and desktop breakpoints
  • No regressions on Match-of-the-Week scroll or Encouragement card
Talking point: "Small change, big difference. Home should feel curated, not like a marketplace. Removing those two elements brings it much closer to what Carlee intended."
📱 Member Home — clean feed
🖥 Member Home — clean feed
localhost:5173/
MAT-257✓ DoneCompleted May 15
4-Step Onboarding Wizard
A 60-second onboarding after sign-up that collects everything MatchED needs to personalize the app — without ever feeling like a form. Five steps, each a single decision. "Skip for now" on Children means no parent hits a wall.

What was delivered

  • Step 0 — Welcome: Member vs. Vendor card-buttons
  • Step 1 — Role: Parent / Both / Leader chip selector
  • Step 2 — Profile: name, email, zip, optional avatar upload
  • Step 3 — Family: schooling type chips (Homeschool, Co-op, Hybrid, Microschool…)
  • Step 4 — Children: per-child card with name + grade, "Skip for now" link
Talking point: "This is where MatchED gets to know each family. The personalization — recommendations, trust signals, the Friends filter — all starts here. We designed it to feel like a conversation, not a sign-up form."
📱 Welcome step
📱 Role step
📱 Family step
🖥 Welcome step
localhost:5173/account-setup
🏪
Phase 2 — Vendor Experience
Cycle 2 · May 15–29, 2026
7 tasks
MAT-423✓ DoneCompleted May 18
Vendor Signup Flow
The complete end-to-end flow for a curriculum publisher, tutor, or micro-school to join MatchED. From selecting Vendor role through the application form through Company Profile setup post-approval. The Company Profile step was the missing piece — designed and built from scratch.

What was delivered

  • Screen 1 — Role selection: Member vs. Vendor toggle
  • Screen 2 — Application: Business Name, Email, Phone, Website, Services, Affiliate Agreement
  • Screen 2.5 — Submitted modal: "Fill Out Your Vendor Profile" with Let's Go CTA
  • Screen 3 — Company Profile (new): logo, tagline, bio, category, location, social links, ESA toggle
Talking point: "Every vendor starts here. We wanted it to feel professional and curated — like applying to something special. The founder approval is real; the UI reflects that honestly."
📱 Role Selection
📱 Company Profile
🖥 Role Selection
localhost:5173/account-setup
🖥 Company Profile
localhost:5173/profile?tab=company
MAT-488✓ DoneCompleted May 18
Vendor Dashboard — Sales, Bookings & Calendar
Before building, a structured review with Andrew confirmed exactly what's in scope vs. placeholder. The result: a full dashboard with Sales, Bookings, Calendar, and Availability tabs — each with real mock data that shows what the experience looks and feels like when a vendor has activity.

What was delivered

  • Sales tab: transaction list, playlist revenue breakdown, monthly totals
  • Bookings tab: upcoming sessions with client, time, price, status, Approve/Decline
  • Calendar tab: month view with booked dates highlighted
  • Premium Analytics placement — deferred to post-MVP per Andrew review
Talking point: "Rather than building and tearing back features, we confirmed with Andrew what was real vs. placeholder first. That saved a week of rework downstream."
📱 Sales tab
📱 Bookings tab
📱 Calendar tab
🖥 Sales tab
localhost:5173/profile?tab=transactions
MAT-422✓ DoneCompleted May 20
Search Results + Recommender Surface
MatchED's core value proposition lives here. Results are ranked by what a parent's trusted network already uses. The Everyone / Friends / Groups filter chips make that trust layer one tap away — calm and intuitive, not crowded like Amazon.

What was delivered

  • Everyone / Friends / Groups trust-layer filter chips at top of results
  • Resource cards: title, vendor, rating, price, ESA-eligibility badge
  • Playlists section alongside Resources — both recommender-ranked
  • Tapping "Reviews" auto-scrolls to reviews section
  • No "Welcome back" header — personalized greeting belongs on Home only
Talking point: "This is the screen that makes MatchED different. The trust layer — seeing what people in your network already use — is one tap away. No other platform does this."
📱 Everyone results
📱 Friends filter active
🖥 Everyone results
localhost:5173/search
🖥 Friends filter active
localhost:5173/search
MAT-517✓ DoneCompleted May 20
Payment Success & Failed States (Stripe Checkout)
Two return-state screens after Stripe checkout — reassuring on success, helpful on failure. Completely undesigned before this task. These unblocked Daniel's Stripe wiring on the critical launch path.

What was delivered

  • Success screen: green check, "Payment Successful," subscription activated message, Return CTA
  • Failed screen: clear "Payment didn't go through," Stripe error reason, cart-preserved confirmation, Retry CTA
  • Cart cleared on success, preserved on failure
  • Consistent with Carlee's brand, responsive across all breakpoints
Talking point: "The moment after payment is when users are most invested. Getting this wrong destroys trust. We made success feel like a celebration and failure feel like a helpful next step."
📱 Payment Success screen
🖥 Payment Success screen
localhost:5173/payment-success
MAT-494✓ DoneCompleted May 21
Vendor Library — Catalog Management View
Vendors with growing catalogs need one place to find, manage, and update their content. This is the vendor's own back-office catalog view — visually distinct from the member Library, with affordances to edit, archive, or preview any resource as a member would see it.

What was delivered

  • Card/list view: title, thumbnail, price, status (published/archived), views, rating
  • Per-resource: View Detail, Edit (opens Resource Builder), Archive, View as Member
  • Filter by Published / Archived; Sort by: recently created / sales / rating
  • First-day empty state: "Create your first resource" CTA
Talking point: "As vendors publish more resources, managing them becomes a real problem. This gives every vendor a fast way to find, update, and preview everything they've published."
📱 Vendor Library
🖥 Vendor Library
localhost:5173/profile?tab=library
MAT-492✓ DoneCompleted May 26
Resource Builder — Vendor-Side Form Fields
The form a vendor fills when publishing a new resource. The two highest-leverage fields — "Searchable By" and the "Purchase vs. Register" toggle — both received clear UI treatment so vendors never have to guess what they're choosing.

What was delivered

  • Basic fields: Title, Type, Description, Cover Image, Pricing, ESA eligibility by state, Tags
  • Searchable By toggle: My Group / All MatchED — with inline explainer
  • External Purchase Link field — bypasses cart, routes externally
  • Action toggle: Purchase (cart) vs. Register (booking flow) — with tooltip + save confirmation
  • Public Funding Eligible toggle — shows ESA badge in Search when on
Talking point: "The Resource Builder is where the MatchED catalog grows. We need vendors to get it right on first save — a bad listing hurts the whole marketplace. Every field on this form earns its place."
📱 Resource Builder form
🖥 Resource Builder form
localhost:5173/profile?tab=build
MAT-491✓ DoneCompleted May 29
Vendor Home / Launchpad — Metric Tiles
What a vendor sees the moment they open MatchED. Not a blank dashboard — a personalized at-a-glance view of how their business is performing. A vendor who immediately sees "500+ Families Trusted" and "$2.4k this month" knows MatchED is worth their attention.

What was delivered

  • Personalized greeting with vendor name
  • Metric tiles: Latest 5-star review, Families Trusted, Sales This Month, Bookings This Week, Milestone
  • Quick Actions: Create Resource, Confirmations (only when pending exist)
  • Encouraging first-day empty state — not blank, not intimidating
Talking point: "We designed this to answer one question in under 5 seconds: 'Is MatchED working for my business?' Vendors who can answer yes come back. Vendors who have to dig through tabs to find it don't."
📱 Vendor Launchpad
🖥 Vendor Launchpad
localhost:5173/
👥
Phase 3 — Member Experience
Cycle 3 · May 27 – June 2, 2026
4 tasks
MAT-512✓ DoneCompleted June 1
Per-Resource Visibility Selector
The privacy control that makes MatchED's trust layer real. Without this, the Friends / Groups filter in Search has nothing to filter on. An inline three-option selector appears at the moment of saving — sensible default (Groups + Friends), shown on every resource card so parents always know their setting.

What was delivered

  • Inline selector at save/create moment: Private / Groups + Friends / All MatchED
  • Default: Groups + Friends (the trust-layer sweet spot)
  • Visibility icon shown on every resource card — tap to change inline
  • Public→private shows a confirmation step
  • Backend Search index respects per-resource visibility
Talking point: "This is the mechanism that makes the trust layer work. The Friends / Groups filter in Search is only meaningful if parents have set visibility on what they've saved. This gives them that control — simply, inline."
📱 Save to Library sheet
📱 Search — resource cards
🖥 Save to Library sheet
localhost:5173/search
🖥 Search — resource cards
localhost:5173/search
MAT-514✓ DoneCompleted June 1
Public Profile / Portfolio View
When a parent taps another member's name anywhere in the app, she sees enough to decide whether to trust or connect — not a social media page, a homeschool community snapshot. Privacy is respected strictly: only info the parent has opted to share is ever shown.

What was delivered

  • Header: photo, name, city (not full address), member-since date
  • Family info (opt-in only): schooling type, number of children, grade ranges
  • Shared signals: shared groups (clickable), mutual friends count
  • Public playlists: only those set to All MatchED visibility
  • Send Friend Request CTA with pending/accepted status
Talking point: "The trust layer only works if people are knowable to each other. This gives every parent a clean, privacy-respecting way to introduce herself — on her own terms."
📱 Public profile view
📱 Own profile
🖥 Public profile view
localhost:5173/user/mock-other-user
🖥 Own profile
localhost:5173/profile
MAT-511✓ DoneCompleted June 2
Friends Discover Tab
MatchED's network effect depends on parents having friends. Without a way to find people, new parents are stuck — they can't use the Friends filter in Search because they have no friends yet. Discover surfaces ranked suggestions based on signals the parent already trusts: shared groups, mutual friends, similar family.

What was delivered

  • Discover tab added inside Friends (alongside My Friends, Pending, Add by name)
  • Suggestion cards: photo, name, city, shared signal ("in your Wild Hearts Co-op")
  • Ranking: same group, mutual friends, schooling type, grade levels
  • Send Request per card; Pass/Skip so dismissed suggestions don't reappear
  • Empty state: join a group or invite by email CTA
Talking point: "Discover closes the cold-start problem. A new parent who joins a group immediately gets suggestions from people in that group. The network starts working from day one."
📱 My Friends tab
📱 Discover tab
🖥 My Friends tab
localhost:5173/friends
🖥 Discover tab
localhost:5173/friends
MAT-509✓ DoneCompleted June 2
Member-Facing Booking Detail Surface
The last piece in the booking loop. Vendors can now host sessions and classes — parents who book need somewhere to go to see what they signed up for, when, and how to prepare. My Bookings list plus a per-booking detail page that answers every question before the session starts.

What was delivered

  • My Bookings list: Upcoming (nearest first) + Past bookings (collapsed)
  • Per-booking detail: vendor, session, date/time, capacity, price paid, location/link, prep notes
  • Add to Calendar CTA (iCal / Google Calendar)
  • Cancel Booking CTA (subject to vendor policy)
  • No-bookings empty state with Search CTA
Talking point: "The booking experience was complete on the vendor side but invisible to members. A parent who booked a tutoring session had nowhere to go to find when it was. This closes that loop entirely."
📱 Vendor: Bookings tab
📱 Vendor: Calendar tab
🖥 Vendor: Bookings tab
localhost:5173/profile?tab=transactions&dashTab=bookings
🖥 Vendor: Calendar tab
localhost:5173/profile?tab=transactions&dashTab=calendar

Full Delivery Summary

#TaskPhaseCompletedType
1Reactive Layout System (mobile / iPad / desktop)FoundationMay 12Frontend
2Sign In & Create Account ScreensFoundationMay 13Frontend
3Home Screen Polish (filter + chat bubble removed)FoundationMay 14Frontend
44-Step Onboarding Wizard (5 screens)FoundationMay 15Frontend
5Vendor Signup Flow (incl. Company Profile)VendorMay 18Frontend
6Vendor Dashboard — Sales, Bookings, CalendarVendorMay 18Frontend
7Search Results + Recommender + Trust Layer ChipsVendorMay 20Frontend
8Payment Success & Failed States (Stripe)VendorMay 20Frontend
9Vendor Library — Catalog Management ViewVendorMay 21FrontendBackend
10Resource Builder — Vendor Form FieldsVendorMay 26FrontendBackend
11Vendor Home / Launchpad Metric TilesVendorMay 29FrontendBackend
12Per-Resource Visibility SelectorMemberJune 1FrontendBackend
13Public Profile / Portfolio ViewMemberJune 1Frontend
14Friends Discover TabMemberJune 2Frontend
15Member-Facing Booking Detail SurfaceMemberJune 2Frontend