Inspiration

The MunichCompanion was born from the necessity to quickly and effectively integrade newcomers (especially international students and expats) into the local Munich community. Moving to a new city can be isolating, so our goal was to build an accessible social bridge that allows users to find interesting locations, meet like-minded people through shared interests and activities, have an intelligent, localized companion (chatbot) to help with questions about the city, culture or settling in and making the experience of Munich immediately social.

What it does

Munich Companion is a social application that links city discovery with the organization of local group activities. Users can search for nearby places on an interactive map (based on mood/category filters). Markers on the map directly indicate how many active groups are present at a specific location. Enables quick creation and joining of groups with specific age restrictions and descriptions. Each group features a chat room to socialize and plan their trip together. The Munich Bot (powered by the Gemini API) provides friendly, contextual, and localized assistance. Crucially, it actively recommends nearby, suitable locations if the user asks for company or events.

How we built it

Frontend: Developed with React and JavaScript/JSX:

  • The map was built custom using JavaScript to render OpenStreetMap tiles, avoiding reliance on heavy external SDKs for flexibility and performance.
  • Styling is achieved using a combination of CSS and Inline Styles.

Backend: Built using Python:

  • The database logic (users, groups, locations) is simulated using Python in-memory dictionaries within GroupDataManager.py for fast prototyping.
  • APIs are handled over HTTP Requests.
  • Real-time chat is implemented using WebSockets.

AI Integration: The logic in app.py uses the Google Gemini API. It crafts a detailed system prompt that provides context including the user's current GPS location, the time, and a list of all active nearby groups to generate relevant recommendations.

The Google Maps API is used for fetching new locations in Munich.

Challenges we ran into

  • At first we tried to create a mobile aplication, but after some difficulties we settled down on creating a web application.

  • We also struggled with creating an interactiv frontend, since none of us had experience with it.

    Accomplishments that we're proud of

    We came here not expecting much as hackathon newcomers, but in the end we managed to achive a project that we're actually proud to present:

  • Complete Functional Flow: The app covers a full user journey, from registration and search to group creation, real-time chat, and AI assistance.

  • Value-Driven AI Integration: The chatbot is not a gimmick; it's an active part of the social ecosystem, incorporating current, verified group activities into its recommendations, providing direct value to the user.

  • Logical Backend: The Python backend logic includes essential business rules like age verification upon joining a group and automatic deletion of expired groups, demonstrating robustness.

    What we learned

  • First hand experience with server endpoints

  • Data managment

  • Dynamic project development, since the idea only fully formed during development (it's quite hard coming up with good ideas)

    What's next for MunichCompanion

  • Mobile app with pop-up notifications showing fun facts about your currrent environment

  • Connecting our already implemented backend logic to the frontend, which is a Matching system to find people you have interests in common with

  • Adding a profile and friend system, so you can connect and stay in touch through MunichCompanion

  • Making the data persistent

Built With

Share this project:

Updates