Inspiration
Cities are becoming increasingly densely populated, but society is also becoming more individualised, with people often focused on their own lives. We realised that some people may find themselves in awkward social situations, where even they make an effort to socialise, they may not easily find others with similar interests. Going out and meeting others can therefore feel like an invisible barrier, especially when people have strong personalities and are unsure how to start a conversation. For this reason, we designed a platform that helps people make friends through shared contacts and interests, supporting more natural social interaction with good vibe between people who may know each a bit from mutual friends.
What it does
Our application provides a platform where users can create and join activities with potential friends. The user group includes people from their contact lists, as well as friends of contacts who have registered for the application. Activities can be organised either by individual users or by community organisers. For example, users might organise an evening walk, attend a concert together, or make crafts at a local community centre. Activities are recommended based on each user’s initial profile and previous behaviour, allowing the platform to match users with activities that are more relevant to their interests.
There are also dynamic filters that display categories based on users’ interests. In addition, we provide fixed filters, including Trends and Explore. The Explore filter recommends activities that users may not have considered before but are popular among people with similar interests. In addition to browsing activities through recommendations, users can explore them on a map. This allows them to find activities that are closer to their current location or more convenient to reach by public transport.
Users can view an activity’s time, location and cost before deciding whether to join. After joining, they can enter a group chat where participants can share the exact meeting location and communicate anonymously before the activity. The platform can also support users who want to promote their own projects or organise their own events through the same chat and activity system.
Our platform simulates different levels of privacy. In the initial activity card, we only display an approximate location rather than the exact meeting point. After users join the activity discussion group, the precise location is shared within the group. Members can also use anonymous chat to get to know one another before the activity.
We also value safety. For users who are organising an activity for the first time, we only allow them to publish activities in public locations to improve safety. The platform also includes safety features such as reporting and blocking, allowing users to report inappropriate behaviour or prevent unwanted contact.
How we built it
We began by brainstorming ways to encourage users to go outside, meet new people and become more connected with their communities. We sketched our initial ideas on paper and discussed their strengths and weaknesses as a team. We then described our design concepts in words and used vibe coding to develop a high-resolution prototype. After reviewing the prototype, we made several changes to the UX and UI so that the final design better reflected our original ideas and provided a clearer user experience.
Challenges we ran into
At the beginning, we tried using AI directly for vibe coding, but the results were not very effective because the AI recorded and implemented almost every instruction without fully understanding the overall design. Therefore, we refined our product requirements and clarified the overall structure and design direction. We also established guidelines for the colour palette and font sizes at different levels, and created a component library and a design specification document. Based on these materials, we were able to develop and iterate on the product more accurately and efficiently.
Accomplishments that we're proud of
We are most proud that Ripple does not treat social connection as a profile-matching problem. We designed the experience around a simpler question: “What would I actually like to do?” Users browse possibilities such as coffee, hiking, music or local events, and only then decide whether to join the people around them. This activity-first approach became the core of the whole product, from the Poster Board to joining and group chat.
We are also proud of combining anonymity with social relevance. Ripple is not random stranger matching. Contacts work quietly in the background, while real identities, phone numbers and relationship paths stay hidden. We also designed privacy to unfold gradually: users see only a broad location before joining, and the exact meeting point is shared later inside the group chat.
What we learned
One of our biggest discoveries was that people may not need help “finding friends” first. The harder moment can be much smaller: who do I ask, what do I say, and will this feel awkward? That led us to move the social decision away from profiles and toward the activity itself. Instead of deciding whether to approach a person, the user can simply ask, “Does this sound like something I’d enjoy?”
We also learned that shared context can do some of the social work for the user. Once everyone joins the same activity, the conversation already has a purpose: when to arrive, roughly where to meet and what they are doing. This makes interaction feel more natural than starting from an empty chat with a stranger.
On the development side, we learned that vibe coding became much more useful once we stopped giving AI isolated instructions and instead gave it a clear design system, component library and interaction specification.
What's next for Ripple
The next step is to test whether these ideas actually change behaviour: whether an activity-first, anonymous-but-relevant experience makes people more willing to join activities they would normally hesitate to attend.
We also want to expand Ripple beyond small user-created plans. The current design already distinguishes between Member-organised activities and Existing Events, so in the future users could move naturally between spontaneous plans, concerts, exhibitions and other things already happening around the city.
Over time, we want Ripple to create a loop where someone can first join another person’s plan, become more comfortable participating, and eventually create something for others. Today you join a plan. Tomorrow, you might start one.
Log in or sign up for Devpost to join the conversation.