Inspiration

Planning a group trip often turns into an endless group chat. Everyone has different preferences, and people may hesitate to reject someone else’s suggestion directly. We created ModuPick, meaning “everyone’s pick,” to make group travel decisions faster, lighter, and more enjoyable.

What it does

ModuPick turns travel planning into a swipe-based experience. Users first like or pass on travel styles such as beaches, mountains, heritage, leisure, shopping, and healing. The app then ranks Korean regions according to those preferences using normalized regional scores.

Its group-matching system allows travelers to join a room, vote independently, and discover unanimous favorites and majority-supported candidates without exposing individual rejections.

How we built it

We built the cross-platform app with Flutter and Dart, creating a responsive card deck with gesture controls, animations, progress indicators, accessibility labels, and clear result summaries. Supabase and PostgreSQL power the backend. We designed anonymous authentication, six-character room codes, row-level security, staged voting, and database functions for recording swipes and calculating group matches. Regional destinations are scored across six travel dimensions, allowing the app to rank them according to each group’s selected interests.

Challenges we ran into

One major challenge was translating subjective travel preferences into meaningful destination rankings. We addressed this by connecting each travel style to measurable data axes and calculating deterministic compatibility scores. We also had to make swipe interactions feel natural while preventing conflicting gestures and preserving user choices during loading or retry states. On the backend, the challenge was ensuring that results remained private, consistent, and unavailable until every participant had completed the stage.

Accomplishments that we're proud of

We are proud of creating an experience that feels more like a social game than a planning tool. The tactile card interface makes expressing preferences quick and pressure-free, while the data-driven ranking provides a practical result. We also built a secure group-matching architecture that distinguishes unanimous “everyone’s picks” from majority-supported candidates. Card snapshots, immutable completed decisions, anonymous authentication, and row-level security help keep results consistent and participant data protected.

What we learned

We learned that group travel planning is not simply a recommendation problem; it is a consensus problem. The best destination is not always everyone’s individual first choice, but the option that creates the strongest shared excitement. We also learned that simple interactions can support sophisticated decisions. A single swipe becomes much more valuable when it is combined with reliable travel data, thoughtful ranking, and privacy-aware group aggregation.

What's next for Travel & Hospitality

Next, we plan to connect the complete room-based group flow to the Flutter interface and add real-time progress updates. We also want to expand the journey from travel styles and regions to specific attractions, cafés, restaurants, and activities. Future versions will include maps, saved itineraries, transportation and accommodation information, personalized explanations, and shareable group results. Our goal is to make ModuPick an end-to-end collaborative travel companion, from “Where should we go?” to a trip everyone is excited to take.

Built With

Share this project:

Updates