Case study — UX/UI Design

PingHub

An all-in-one trip planning app for friend groups who can't agree on where or when to go

A trip-planning app for friend groups. Testing confirmed two features actually solved the "we can never agree" problem: the group-availability heatmap and built-in voting.

RoleUX/UI Designer — owned the User-side experience across all 11 core screens
TimelineOne academic term — UX/UI Design coursework
ToolsFigma — wireframes, hi-fi mockups, interactive prototype
Team4, Group 8
PingHub Trip Detail screen showing itinerary, destination, per-person budget, active votes, and shared notes
The Problem

Nobody can agree — so nobody books.

Friend groups hit the same wall every time: schedules don't line up, nobody agrees on a place, and planning scatters across five tools — group chat, Instagram, review sites, a shared doc. Trips get delayed, downsized, or quietly die before anyone books.

PingHub is one platform for all of it: invite friends, vote on dates, agree on a place, build the itinerary together. The goal was solving coordination, not just the itinerary.

Context & constraints: a one-term university project, four-person team. The product splits into a User side (friend groups) and an Owner side (local businesses). I owned the User side end-to-end — built and tested in Figma, no dev handoff, so every decision had to hold up on its own.

Understanding the User

Three personas, one shared tension.

To ground the design in real behavior, the team built three personas covering the different ways a friend-group trip falls apart.

Persona card for Wa, a 22-year-old university student who travels with a fixed group of 3 and plans trips quickly

Wa

22 · University student · Group of 3

Needs the trip to fit how her group actually explores — she plans fast and pulls destination ideas from YouTube, TikTok, and Google, favoring adventure activities over where they sleep.

Persona card for Bam, who is tired of chasing reviews across five separate apps

Bam

Tired of chasing reviews across five different apps just to decide whether one place is worth the trip.

Persona card for Mind, who can never get a straight answer from her group on who is free

Mind

Can never get a straight answer on who's free. Hers is the problem this case study follows end to end.

Journey Mapping

We mapped Mind planning a trip with friends, twice: as-is, then to-be.

Same number of steps, opposite ending. As-is ends in breakdown — a friend cancels last-minute, and nobody had one place to check dates. To-be ends in confirmation — availability sits in one shared view instead of a scattered group chat.

Journey map comparing Mind's before and after experience planning a trip with friends Journey map comparing Mind's before and after experience planning a trip with friends
Journey map — Before → After

From Insights to Structure: User Story Mapping

The journey became a user story map covering the full flow, from login through to the shared itinerary.

User story map covering the full PingHub flow from login to the shared itinerary
User story map
My Role

Designing the User-side experience

I owned the front-end design for the User Role side — the 11 screens a friend group actually uses to plan a trip together.

  • Create Trip — skip picking a date entirely; default to "wait for the group's vote"
  • Trip Detail — the owner's home base: itinerary, budget, votes, one-tap edit/share
  • Trip Members — a drawer from Trip Detail showing who's joined, pending, or declined, with quick actions to invite more or leave
  • Create Vote — one builder reused for destinations and travel methods, with anonymous-voting and open-new-option toggles
  • Recommended Route — auto-suggested route and day plan, sortable by price/reviews, one-tap regenerate
  • Select Free Day — availability as a heatmap, so the best shared window is visible at a glance
  • Create Post — highlights and tips, with a shortcut to pull a route straight from trip history
  • Map — preview a destination's rating and reviews before adding it
  • Invited User's Trip Detail — same screen, Accept/Decline instead of edit controls
  • Voting — live counts, a clear cutoff — no guessing if it's closed
  • Edit Route — add, remove, or re-time activities in place

Full-team effort

Research and scoping were built together as a four-person team — Sasiyakorn Chansiri (me), Nakul Chalermchaikosol, Tanagorn Fukuhara, and Pongsapak Tatongjai.

Individual ownership

My individual ownership was the User Role flow — the 11 screens above, designed and wired into an interactive prototype in Figma, with no dev handoff.

How it connects

Home → Create Trip → Invite Friends → (joining) Vote on Place/Time → Trip Timeline, or (not yet joined) Explore/Reviews → Promo & Packages.

Critical Decisions

Three decisions that shaped the User side.

Decision 01

Making group availability visible at a glance

Insight: friends' free time never lines up — Mind's persona and the journey map both show it.

Decision: a heatmap of everyone's availability instead of checking calendars by hand — darker means more people are free — so the best shared window is obvious without doing any math.

Outcome: one of the two features usability testers specifically called out as most useful.

Decision 02

Confirming before irreversible group actions

Insight: the journey map's sharpest dip lands right at group decision-making — the worst outcome in a shared-decision app is someone accidentally locking the group into something nobody agreed on.

Decision: accepting or declining an invite triggers a confirmation modal before the action is final, consistently, everywhere it matters.

Outcome: the pattern testers pointed to when describing the app as easy to trust.

Decision 03

Preventing errors before they happen, not after

Insight: Create Trip is the first thing a new user does — friction here loses the group before planning starts.

Decision: inline validation with plain-language prompts, plus mutually exclusive date choices (fixed dates or wait for the group's vote) so the form can't contradict itself.

Outcome: testers moved through trip creation with zero friction points — the cleanest part of the flow in testing.

One consistency choice worth noting: voting on a destination and voting on a travel method reuse the same component — single/multiple choice, live counts, deadline — so once someone learns it once, they've learned it everywhere.

The Screens

The 11 screens, start to finish.

Scroll each row sideways on smaller screens. Tap any screen to see it larger.

Wireframes

Where these screens started, before hi-fi.

Low-fidelity wireframe 1
Create Trip
Low-fidelity wireframe 2
Trip Details Suggestion
Low-fidelity wireframe 3
Available Dates
Low-fidelity wireframe 4
Create Poll
Low-fidelity wireframe 5
Trip Members
Low-fidelity wireframe 6
Trip Details

Starting a trip

Creating a trip, the shared detail view everyone plans around, and who's actually in.

Create Trip screen with fields for trip name, dates, trip type, members, destination, and notes
Create Trip
Trip Detail screen showing itinerary, destination, per-person budget, active votes, and shared notes
Trip Detail
Trip Members drawer showing who has joined, is pending, or declined, with actions to invite more members or leave the trip
Trip Members

Getting everyone to agree

Scheduling and voting — the two stages the journey map flagged as highest-friction.

Create Vote screen with topic, single or multiple choice options, anonymous voting toggle, and a deadline
Create Vote
Select Free Day screen showing group availability as a calendar heatmap
Select Free Day
Voting screen showing live vote counts and a clear closing cutoff
Voting
Recommended Route screen showing an auto-suggested route and day plan, sortable by price or reviews
Recommended Route

Joining & exploring

What an invited friend sees, and how the group researches a destination.

Invited user's Trip Detail screen with Accept and Decline options in place of edit controls
Invited User's Trip Detail
Map screen for previewing a destination's rating and reviews before adding it to a trip
Map
Create Post screen for sharing highlights and tips, with a shortcut to pull a route from trip history
Create Post

Building the itinerary

Once a destination is locked in, shaping the day-by-day plan.

Edit Route screen for adding, removing, or re-timing itinerary activities in place
Edit Route
Testing & Impact

What testing actually confirmed.

PingHub's core question is "does this work for a group of people." We tested the full flow with real participants — create, invite, select dates, vote, build the itinerary, edit, share. The three decisions above are why it held up.

What testing caught

  • Some buttons were too small to tap comfortably
  • A few status indicators weren't clear at a glance

What it validated

  • Navigation and the core flow were validated as intuitive — testers completed trip creation, voting, and itinerary editing without getting lost
  • Availability visualization and voting — tied directly to our personas' pain points — were independently named as the most useful parts of the app
  • Two concrete UI issues were caught and fixed before final delivery

On "impact": this was a course project, not a shipped product — so impact here means validated learning, not business metrics.

Reflection

What I'd carry into the next project.

Small details compound

People tend to say the big things are fine and then quietly stumble on small execution details — a button that's just slightly too small, a status label that doesn't quite say "still pending." Those frictions rarely show up when demoing your own happy path; they only show up once someone else's thumb misses the target.

Design for the group, not the user

Designing for a group decision, not a single user's decision, meant the riskiest failure mode wasn't a typo or a broken link — it was one person accidentally locking in a choice nobody else had agreed to. Next time, I'd want to pressure-test that specific risk earlier, during wireframing, rather than catching it during usability testing.

What's next

Directions the team scoped but didn't build:

  • Push notifications for votes and trip updates
  • AI-based destination recommendations tailored to a group's interests
  • Calendar sync
  • A lightweight badge system for completed trips
Explore More

Other case studies