Inspiration

We were outside staring into the Palace of Fine Arts. We were burnt out, sleep-deprived, and starting to feel like we were hallucinating. Then we saw some roller skaters doing laps around the Palace, blasting music with neon lights. In our delirium, we started saying philosophical stuff and wondering why we had joined this hackathon in the first place.

Somewhere in that thought process, we came up with Huddle.

Why are we glued to our screens 24/7, running on autopilot? We want to stop being addicted to Instagram, but we also want to know what events are happening around us. We want to discover cool things to do, meet people, and build connections offline. But finding something fun can mean scrolling through endless posts, saving things we'll never revisit, and still having no idea what to do.

We wanted to build something that makes discovering activities easier without contributing to the endless scroll.

What It Does

Huddle helps people discover activities based on their moods and interests, narrow down their options, and commit to an adventure.

  • Start with how you feel: Whether you're craving social interaction, some quiet time, or something new, Huddle helps you find activities that fit what you need.
  • Find things happening around you: Discover activities and events from social media without digging through endless posts.
  • Less overthinking, more doing: Too many choices can make deciding harder. Huddle keeps things simple so you can actually pick something.
  • Get out there: Found something you're excited about? Add it to your adventures and make it happen.

How We Built It

Huddle is a React Native + TypeScript app built with Expo and Expo Router. Plans, reactions, and notes live in SQLite on your phone.

Recommendations: a TypeScript recommender filters out anything that doesn't fit your mood, budget, distance, or schedule. It then scores what's left and picks exactly three, with one slot saved for something a little outside your usual. Every card says why it was suggested, and your reactions shape future picks.

Activities: for our SF demo, we combined about 20 hand-picked spots, opening hours from Google Maps, and around 160 events scraped from public Instagram accounts with Apify.

Turning posts into events: hand-written rules pull dates, times, and prices out of captions. Gemini reads captions and flyer images and returns structured events. To catch mistakes, Gemini has to quote where each date came from, and we throw out anything it can't back up. Instagram events are labeled "Unverified" and link back to the original post.

We also wrote a Supabase schema for a shared events catalog (not live yet) and around 200 automated tests.

Challenges We Ran Into

  • Scoping our MVP. We had more ideas than we had time to build. We had to decide which features were essential, which could wait, and whether our solution genuinely addressed a problem people experience.
  • Integrating our frontend and backend. We worked on the UI and APIs somewhat separately, so getting them to work together took additional troubleshooting. We had to reconcile the two sides while learning along the way. One of us was even a first-time hacker!
  • Turning social media posts into useful recommendations. Instagram posts aren't structured event listings. Details like activity type, location, date, and time can be scattered across captions, hashtags, and images, or missing entirely. We used Apify to scrape posts and worked on analyzing their text and image data to extract relevant details. We then had to make sense of inconsistent information and determine which details would actually help someone decide whether to attend an activity. Collecting posts was only half the challenge; turning them into useful recommendations was the other half.
  • Making time to touch grass. There's something ironic about spending a hackathon building an app that encourages people to get off their phones. We had to balance our ambitions with limited time, prioritize what we could realistically deliver, and remember to step away from our screens occasionally.

Accomplishments We're Proud Of

  • Building our first mobile app. We learned and applied technologies including React Native and TypeScript while developing Huddle.
  • Working with multiple APIs. We explored how Instagram data, Gemini, and Google Maps could work together to support activity discovery.
  • Taking an idea from experience to implementation. We turned a frustration we personally experienced into a product concept and a working development project.
  • Tackling an overlooked problem. We wanted to address the gap between discovering experiences online and actually participating in them.
  • *We're proud of our penguin, Lil Huddy 🐧 *

What We Learned

  • Technical skills: We gained hands-on experience with mobile development, TypeScript, API integration, and connecting frontend interfaces to backend services.
  • Good design means knowing what not to include. We thought carefully about the experience we would want to use ourselves. Too much information, too many filters, and too many options can make a product harder to use. We wanted Huddle to feel approachable and help users make decisions without overwhelming them.
  • The best product ideas can come from stepping away from the screen and touching some grass. Our experience at the Palace of Fine Arts reminded us to look up from our laptops and pay attention to what's happening around us.
  • Data isn't automatically useful just because you have it. Working with social media content showed us how much effort goes into extracting reliable information from unstructured sources and turning it into recommendations people can act on.

What's Next for Huddle?

  • More activity sources: Integrate platforms like TikTok, Reddit, Yelp, Eventbrite, and Meetup to broaden the range of activities users can discover.
  • Better visual understanding: Explore computer vision to analyze images in social media posts and extract additional context that captions alone might miss.
  • Smarter recommendations: Develop a more advanced recommendation algorithm that considers users' preferences, moods, and activity details.
  • Huddle Wrapped: Create a personalized recap of completed adventures, letting users revisit memories, see how they've spent their time, and notice patterns in the experiences they enjoy.
  • More ways to connect: Explore features that make it easier to discover shared interests and participate in local communities.

We want Huddle to become a better way to find experiences worth remembering, and eventually, a way to look back on all the adventures you've had.

Less wondering. More waddling. 🐧

Share this project:

Updates

Submission history