Ever found yourself overwhelmed by the hassle of planning a night out with friends?

Overwhelmed by planning a night out?

Inspiration

Imagine this: It’s Friday night, and you’re ready to unwind after a long week. But as the excitement builds, so does the stress of planning. Where should you go? What’s the best route? How do you coordinate with everyone? The reality is, what should be a fun, carefree night out often turns into a logistical nightmare. This scenario is all too familiar, especially for young adults, who frequently cite the complexity of planning as a major barrier to socialising [1].

On the other side, the hospitality industry—particularly pubs and bars—has been struggling post-COVID. Many establishments are finding it difficult to attract customers and regain their pre-pandemic momentum. With patrons more hesitant to venture out without a clear plan, these local gems are being overlooked.

Crawl was born from the need to streamline social outings, making it easier for people to connect with friends and explore their local area, while also supporting local businesses in their recovery. We believe socialising should be spontaneous, fun, and stress-free—Crawl makes that a reality.

Enter: Crawl!

What it does

Crawl is an app designed to remove the friction of socialising by generating an optimal pub crawl route based on your current location. The app intelligently selects a series of pubs to visit, ensuring minimal walking distance and culminating at the nearest train station for a convenient journey home. Additionally, users can join ongoing pub crawls in their area, fostering spontaneous social interactions and making it easy to meet new people.

Our MVP is focused on pubs and bars, but Crawl’s design is inherently extensible. Future updates could expand to include routes for museums, arcades, clubs, and food spots, making it a versatile tool for all kinds of social outings.

How we built it

Frontend

We built the frontend using React Native and Expo to provide a smooth, responsive experience across both iOS and Android platforms. The user interface is minimalistic and intuitive, ensuring that the process of planning a night out is as simple as possible.

Backend

The backend is powered by Python, handling the logic for routing, API integrations, and real-time data management. Hosting is managed through Vercel, providing reliable performance and security.

Custom Algorithm

At the core of Crawl is a a modified A* algorithm that generates the most efficient pub crawl route. This algorithm takes into account the user’s current location, nearby pubs, and the distance to the nearest train station. Our algorithm incorporates several specific adjustments:

  • Penalising high ratings from low review counts to prioritise reliability.
  • Including all nearby pubs and bars to offer comprehensive options.
  • Normalising the heuristic and cost evaluation functions to give equal weight to distance and pub ratings.
  • Custom weighting of ratings and distance in the cost heuristic, with rigorous user and A/B testing to fine-tune these weights.
  • Introducing randomness to ensure that no two pub crawls are the same.

APIs:

  • Google Maps API for real-time location tracking and map rendering.
  • Places API to identify nearby pubs and bars.
  • Distance Matrix API to calculate pairwise walking distances, optimising the route.

Frontend API Calls:

  • React Native Maps and React Native Maps Direction for mapping and navigation.
  • Google Cloud and Fetch for simple and efficient API requests and data handling.

Challenges we ran into

  • Algorithm Optimisation: Implementing and fine-tuning our custom search algorithm was a significant challenge. Our initial iterations produced unexpectedly long routes, some taking up to 80 minutes. We had to carefully adjust the weights in our heuristic and refine how we ranked Google Maps API returns to achieve better results.
  • API Integration: Integrating Google APIs with React Native posed its own challenges, particularly when dealing with API rate limits. We implemented a rate limiter to prevent exceeding API request quotas, especially as we scaled the app for multiple users.
  • UI/UX Design: We initially faced difficulties in deploying our custom, stylised map through Expo, as our original solution wasn’t compatible with React Native. We had to pivot to a different API with fewer features and styling options, but one that was compatible and still offered a seamless user experience.

Accomplishments we're proud of

  • Algorithm Success: We’re proud of successfully integrating our custom algorithm to generate routes that optimise distance while also align with user preferences and group dynamics.
  • User-Centric Design: Our MVP is functional, user-friendly, and directly addresses a real need in the social landscape. The minimalistic UI/UX design removes unnecessary friction, allowing users to focus on enjoying their night out.
  • Front-End Journey We are quite proud of the journey we took from not knowing what Expo was at the start of the hackathon to completing a functional Front End

Technical Achievements:

Building a robust backend capable of handling real-time data and multiple user requests simultaneously, all without significant latency, was a major accomplishment. Overcoming challenges with Google API integration and map stylisation further showcased our technical abilities.

What we learned

  • Team Collaboration: We learned the importance of effective communication and task delegation, ensuring that the frontend and backend development processes were aligned and synchronised.
  • API Management: Our experience with Google Maps and Places APIs taught us valuable lessons in handling API rate limits and optimising API calls for efficiency and reliability.
  • User Experience: Through extensive user testing and feedback, we gained insights into designing an app that truly meets the needs of our target audience, ensuring that the experience is intuitive and enjoyable.

What's next for Crawl

  • Expand Offerings: We plan to extend Crawl’s capabilities beyond pubs and bars to include other social venues such as museums, arcades, clubs, and restaurants, broadening its appeal and usability.
  • Enhanced Social Features: We’re looking to add features like event creation, group invites, and real-time notifications for ongoing pub crawls to further enhance the social experience and make it easier for users to connect with others.
  • Machine Learning Integration: Future updates will explore the integration of machine learning to personalise pub crawl recommendations based on user preferences and past activities, making Crawl even more tailored to individual needs.
    • Global Expansion: We’re excited to adapt Crawl for international markets, taking into account cultural differences and local preferences in pub crawling, ensuring that the app remains relevant and engaging worldwide.

We’re thrilled about Crawl’s potential to transform socialising, making it easier, more fun, and more spontaneous. Whether you’re exploring new places or rediscovering familiar ones, Crawl is here to bring people together, one pub at a time.

Share this project:

Updates