01
Flock
A group travel app for sharing places, making decisions, and building a trip together.
Role
Product design, end to end
Type
Self-directed concept project
Platform
iOS
Output
Product structure,
42 screens, a design system
The problem
A group books flights, and then the links start arriving. A reel in the group chat, a TikTok someone saved, three Maps pins, a screenshot of a bar nobody can find again.
Every tool I looked at helps you collect more: faster, in one place, with tags. But nobody in that group chat is short of ideas. Collecting is not the broken part.
So every decision in this case study is about narrowing, not about gathering.
The shape of it
Collect, decide, then plan - in that order
Users arrive after flights and lodging are booked. Flock is not a booking tool, and the moment it tries to be one it inherits a different product.
Group size is an input, not an assumption. Two people choosing dinner and nine arguing about a museum run through the same rules, so every rule has to answer at any size.
01
Share sheet
Someone sends a place into the trip from Instagram, TikTok or Maps.
02
Ideas
It lands on the group’s board. Everyone sees it, nobody sees the verdict.
03
Decide
Each person answers Love, Maybe or Pass, one idea at
a time.
04
Consensus tag
The answers become one state on the card, and that state decides what makes the plan.
05
Plan
The ideas that made it are laid out across the days, and can be moved.
Decision one
An idea has to arrive from wherever it was found
Ideas don’t start in Flock. They start on Instagram, TikTok, and Google Maps. So the first surface I designed was the iOS share sheet.
Flock extracts places from the link and suggests a category. That guess can be wrong, so it’s always editable and never required. And since a reel often features several places, the sheet treats multiple places as the norm, not an edge case.


Decision two
Seeing the group's verdict changes your own
The Ideas tab shows the place, its photo, and who added it. The group’s reactions stay hidden behind “React to reveal.”
This is the product’s core decision: seeing that four people already love a place can turn your vote into agreement.



In Decide the ideas come one at a time and you answer each with Love, Maybe or Pass. Only then does the card open and show you where the group stands.
And it shows the two sides differently. A Love is named: the people who wanted this place are on the card. A Maybe or a Pass is a count with no names attached, because a group has to be able to turn down a friend's idea and still have it be nothing personal.
The same logic one level deeper: on Ideas, who added a place is visible, because contribution is what keeps people collecting. Inside Decide that name is hidden.

Decision three
What happens when the group is split
Some ideas end Mixed. Two people love it, one doesn't, and nothing resolves. Run a majority vote and you produce a winner and someone who got outvoted on their own holiday.
So each person gets two must-dos: picks that enter the plan without a vote. A personal answer to the group's indifference, scarce on purpose, so nobody spends one lightly.
It sits below the three reactions rather than beside them, carrying the remaining count, so it reads as a different kind of answer and not as a stronger Love.
Scarce, but not final. A spent must-do can be freed again, and any reaction can be changed later. The consensus recalculates and the change shows up in the group's activity, so nothing is quietly reversed.
Decision four
The consensus rule had a hole in it
Each idea gets a consensus tag based on the group’s reactions. It determines whether the idea enters the plan, making the logic behind it central to the product.
Every idea in the trip carries exactly one of these five, and it is recalculated the moment anyone reacts or changes a reaction.
The rule started as five independent conditions and held up against examples, one at a time. It stopped holding the moment I ran combinations through it instead.
Version one
Five independent conditions
·
All Love →
·
Majority Love →
·
Some Pass →
·
Majority Pass →
·
Not enough reactions →
Five separate tests, no order between them. Two can be true at once, and some combinations make none of them true.
Version two
One ordered cascade
1
Fewer than a majority have reacted →
2
Any single Pass →
3
Everyone reacted and all Love →
4
Majority Love →
5
Otherwise →
One list, read top to bottom. The first rule that matches wins, and the last one catches everything else.
3 Love · 1 Maybe · 1 Pass
A group of five, all reacted
and
Two states at once
Both conditions are true and nothing says which wins. In practice the majority was read first, so the single Pass vanished from
the result.
One state, decided
The Pass is tested before the majority, so the objection is what the tag reports.
2 Love · 2 Maybe
A group of four, all reacted
Nothing matches
Not unanimous, not a majority, no Pass, not a majority Pass, and enough reactions to not be Waiting. Every condition fails.
The catch-all takes it
Rules one to four miss, so the last rule answers. Nothing can fall through.
The five outcomes never changed. What changed is how one of them gets chosen, and the ordering is the whole decision. Rule two sits above rule four on purpose: one objection outranks a majority, because the objection is the information. A place four people like and one will not eat at is not a strong match, it is a conversation.
Rules use proportions, not head counts, so the same five states work for groups of two
or nine.
Decision five
A plan you can argue with
Flock builds a draft, not an empty calendar. An empty itinerary hands the work back to the group at the exact moment they thought they were finished.
Days are Morning, Afternoon and Evening rather than hours. An exact hour is a promise no group keeps, and once one stop slips an hourly plan is wrong for the rest of the day.
Six things decide the layout: must-dos first, flight times as anchors, one part of the city per day, time of day matched to category, opening hours, and weather - weather only when the trip falls inside the ten-day forecast. What the plan cannot know it asks for before it builds, because nobody goes back to fix a plan that already looks plausible.



Agreed picks that don’t fit the itinerary stay available throughout the trip. When plans change, Flock surfaces nearby options the group already chose.
Flock suggests alternatives but leaves changes to the group. Since everyone agreed on these options before the trip, they can adjust the plan without starting the discussion all over again.

