top of page

Gather, an AI-assisted UX workflow for personal events, gifting and memories Mobile App

8 hours ago
6 min read

Overview

Gather is a mobile app that puts a personal celebration in one place: the invitation, the guest list, the gifts and the memories afterwards. I designed it end to end as a product designer, using Claude, Notion MCP and Figma as collaborators while I made every product decision.



Role

Product designer: research framing, product thinking, UX, UI, prototype

Product

Gather, a mobile app for personal events, gifting and memories

Tools

Notion MCP (requirements), Claude (analysis, iteration, build), Figma (design file)

The problem

A birthday or anniversary is planned across four or five tools that do not talk to each other. Invitations go out in a messaging app, RSVPs are chased by hand, gifts are coordinated in a group chat or a spreadsheet, and the photos end up scattered across phones and social media.

The cost shows up on both sides of the event:

  • Hosts lose track of who has replied, answer the same questions repeatedly, and cannot see the whole event in one view.

  • Guests lose event details in busy chats, cannot tell whether someone has already bought a gift, find group contributions awkward, and forget to share photos and wishes afterwards.

Design question: can one connected space make a celebration easier to organise and more meaningful to remember, without asking every guest to install an app or reveal what they gave?


My AI workflow

This project was also an experiment: can Claude help move from a loosely defined problem to structured requirements and usable mobile designs while I keep control of the product thinking? I wrote the PRD myself in Notion and treated Claude as a fast, tireless collaborator that I directed, challenged and corrected.


Tool

What it did

Who decided

Notion MCP

Held the PRD as the single source of truth and let Claude read it directly, so requirements were never retyped

Me: every requirement, non-goal and open question

Claude

Analysed the PRD, flagged gaps, proposed flows, drafted screens, restyled them, audited spacing and built the clickable prototype

Me: I accepted, rejected or redirected each output

Figma

The design file for refining screens, components and handoff

Me: final visual and interaction quality

What stayed with me, not the AI

  • The problem framing, audience and the decision to leave weddings, ticketing and a full marketplace out of the MVP.

  • Privacy rules, such as what a guest can see about a reserved gift or a contribution.

  • The visual direction. Claude's first pass looked generic until I supplied a reference with a soft pastel, glass and light-type look, and I steered every restyle from there.

  • Judging whether each screen was clear, accessible and true to the PRD.


Process: seven rounds, step by step

I did not jump straight into screens. Each round had a clear input from me, an output from Claude, and a decision from me.


  1. Write the source of truth. I wrote the PRD in Notion: problem, two audiences, goals, non-goals, MVP features, 12 functional requirements, 7 UX requirements, 12 edge cases and 10 open questions.

  2. Read and challenge. Claude read the PRD through Notion MCP and summarised it back. I used this to check whether the requirements were clear, and to spot where it had to guess, such as who can see a reserved gift.

  3. Turn requirements into flows. From the 11-step host journey (create, invite, respond, gift, celebrate, remember) we mapped the screens each step needs. I trimmed anything that served a non-goal.

  4. Draft the 12 screens. Claude produced a first pass of every screen listed in the PRD, including the empty, loading, error and success states. I reviewed each against the UX requirements.

  5. Restyle from a reference. The first look was functional but generic. I supplied a reference image with a soft pastel gradient, glass surfaces and light type, and Claude restyled all 12 screens to that language: Hanken Grotesk, one gutter of 20px, black pill actions.

  6. Audit spacing and padding. Claude rendered every screen and measured it. This found real defects that I then approved fixes for: a wish card overlapping the navigation on the memories screen, uneven row wrapping on notifications, headings misaligned with the page gutter, and empty gaps on the create-event and invitation screens.

  7. Make it clickable. Claude built a working prototype with shared state, so a contribution on the group gift screen updates the funded percentage on the home, details and gifts screens. I added a guided tour so reviewers can follow the host's journey without guessing what to tap.


Design decisions

The PRD left several product questions open on purpose. These are the answers I designed in, and the reasoning behind each.

Question

Decision in the design

Why

Does a guest need the app to respond?

The invitation is a shareable link with a guest preview and one-tap Going, Maybe and Can't go

Guests should reach an answer in under 30 seconds (UX-03)

What happens when a link is forwarded?

The new person triggers a join request that the host approves or declines, and the host can turn this off

Protects the guest list without blocking the host (edge case 11)

Who sees a reserved gift?

Other guests see "Reserved" without a name, the person who reserved sees "Reserved by you", and the screen says this up front

Prevents duplicate gifts while staying transparent (FR-06, UX-04)

Can I contribute privately?

Guests see the total and number of contributors, amounts stay private, and a contributor can hide their name from other guests

Group gifting without social pressure (edge case 12)

What if the target is not reached?

A clear note explains what happens to the funds before the guest pays

No surprises with money

What if a gift link breaks?

The item is flagged "Link unavailable" instead of showing stale availability

Never imply certainty the app cannot verify (Feature 4)

Who sees memories?

A private space for guests of that event only. The host can feature items, and guests can remove their own

Privacy by default (UX-05)

What if a guest declines photo access?

Photos and written wishes are separate, so a wish can still be sent

Respect the permission choice (edge case 10)

Two accessibility rules ran through every screen: touch targets of at least 40 to 44px, and status shown with text and colour together, never colour alone.


The 12 MVP modules

The visual language is calm and light: a pastel gradient ground, frosted glass cards, light-weight headlines and black pill buttons as the single strong action on each screen.


#

Module

What it solves

1

Onboarding

Gets the host started with a single clear action

2

Home

Upcoming and past events, plus what needs attention: unanswered invitations and join requests

3

Create event

Essentials first: type, name, date and place. Optional details later

4

Event details

One page for guests, gift progress and memories

5

Guests and RSVPs

Live status counts, filters, nudges and join-request approval

6

Invitation and sharing

Guest preview, copy link, share options and the forwarded-link setting

7

Gifts

A wishlist with reserved, available and unavailable states, plus gift ideas

8

Group gift

Funding progress, contribution amounts and name privacy

9

Memory gallery

Photos, wishes and highlights in a private space

10

Photo and message upload

Add or remove photos and write a wish, with clear visibility

11

Notifications

RSVP changes, requests, schedule changes and gift progress

12

Empty, loading, error and success

The in-between states that keep trust when things go wrong


Interactive prototype and guided tour

A static screen cannot show how gifting, privacy and RSVPs change as people act, so I built a clickable prototype in which one action updates every screen it affects. It opens with a guided tour of 12 steps that follows the host's journey and says what to tap on each screen.


What you can try:

  • Create an event and see its name carry into the invitation.

  • Respond to the invitation as a guest, then check the guest counts.

  • Approve a forwarded-link join request and watch the totals change.

  • Reserve and undo a gift, or add a gift idea.

  • Contribute to the group gift with your name hidden and see the funded percentage rise everywhere.

  • Add photos and a wish to the memory gallery.

  • Step through empty, loading, error and success states.


How I will validate it

These are proposed targets for usability testing. I have not run the tests yet, so they are goals, not results.

Area

Proposed target

Event creation

80% of participants complete it without help

Invitation response

A guest finds and completes the RSVP within 30 seconds

Gift coordination

80% understand how to reserve a gift or contribute

Memory sharing

80% can upload or share a memory unaided

Satisfaction

At least 4 out of 5 average

After launch I would also watch events created per organiser, the share of invited guests who respond, gift reservation conflicts, group gift participation and memories added per event.



Reflections

What worked

  • A written PRD in Notion made Claude far more useful. Because the requirements, non-goals and open questions were explicit, its output could be checked against them instead of against my taste.

  • Rendering and measuring screens caught spacing defects that I would have missed by eye, and it made the review a conversation about specific problems.

  • Building the prototype with shared state exposed interaction questions, such as where a contribution total should appear, that static frames hid.

What did not, and what I did about it

  • Claude's first visual pass was competent but generic. Direction had to come from a reference I chose.

  • Claude cannot judge whether a flow feels right to a first-time guest. That needs real people, which is why the next step is testing.

  • The screens currently use illustrated placeholders. Real event photography is the next visual upgrade.

 
 

©2026 dsignhemanth

bottom of page