CityMate
Your City, Instantly Connected.
About the project
Inspiration
Moving to a new city for an internship or a full-time role can be a fragmented experience, forcing you to juggle multiple apps for essential needs. This is a common problem faced by students and professionals in the United States.
The Problem: You're using Zillow for housing, BumbleBFF for friends, and Yelp for local spots. It's inefficient and overwhelming to juggle across multiple apps. You have so many choices on what platform to use for finding nearby apartments, and nearby food or spots, creating an information overload.
Our Solution: CityMate, a single, integrated platform that unifies the three pillars of relocation: Housing, Connecting, and Exploring into one seamless, enjoyable interface. We present our solution in an easy Tinder-style swipe interface where you can now swipe apartments, spots and people around you recommended by our smart algorithm. You just arrive at a new place, fill in your information in the app, open the app and swipe. That's it. No nonsense. No overthinking.
What it does
CityMate uses a familiar Tinder-style swipe interface to help you settle in faster and discover open experiences around your new area. Your next coffee shop, apartment or a new friend is just a swipe away.
| Feature | Description |
|---|---|
| Apartments | Personalized feed of apartments based on your profile, only displaying apartments with a higher match score. A right swipe saves a listing for later, where you can contact the owner. |
| People | Discover and connect with other locals and newcomers based on shared interests, age, and location. A mutual right swipe is a match! |
| Spots | Explore a curated feed of local coffee shops, parks, and restaurants recommended by our ML engine based on your tastes. |
In minutes, a new resident can find a potential apartment, make a new friend, and plan their first weekend outing. In just one swipe.
How we built it
We delivered a full-stack application in 36 hours by leveraging a modern and efficient tech stack.
| Category | Technology | Purpose |
|---|---|---|
| Frontend | React, Next.js, TypeScript, Tailwind CSS | Component-based architecture with Framer Motion animations, responsive design |
| Backend | Python (Flask) | RESTful API with JWT authentication, multi-API integration, Google Places API, real-time chat system |
| Database | Supabase (PostgreSQL) | Row Level Security, real-time capabilities, built-in authentication |
| Machine Learning | scikit-learn + NumPy | Three specialised models: ApartmentMatcher, PeopleMatcher, SpotMatcher |
| Authentication | JWT, Google OAuth | Token-based authentication, secure sessions, social login integration |
| Data Pipeline | BeautifulSoup + Selenium | Custom web scraper for Redfin rentals, multi-source aggregation |
Machine Learning:
- User vector generation with 12-category interest encoding
- Cosine similarity for content ranking
- Location-aware recommendations with distance calculations
Security & Authentication:
JWT token-based authentication, Google OAuth integration, secure API endpoints with user authorisation, and database-level security with RLS policies.
Challenges we ran into
Data Aggregation & API Limitations We discovered there were no free, reliable APIs for sourcing apartment listings.
Solution: We engineered a custom Python web scraper using BeautifulSoup and Selenium. This allowed us to scrape, clean, and standardise apartment data based on a user's location, turning a major blocker into a technical achievement.
Accomplishments that we're proud of
-Effective Day-One Personalisation: Our ML engine delivers genuinely relevant recommendations from the very first swipe.
-Full-Stack MVP in 36 Hours: We built a complete, end-to-end application from onboarding to storing user information to the database, a responsive UI and a seamless user experience well within the hackathon timeframe.
-Resourceful Problem-Solving: When faced with API limitations due to budget constraints, we successfully built our own data pipeline from scratch.
What we learned
This hackathon was an incredible learning experience, as it was the first hackathon for more than half of our team. Key takeaways include:
The power of rapid prototyping with a modern BaaS like Supabase.
How to scope and implement a practical ML model under a tight deadline.
Creative problem-solving (like web scraping) is crucial when ideal resources aren't available.
What's next for CityMate
Advanced APIs: With enough budget, we can gather more real-time data from Yelp, Rentals, Zillow and so on
Advanced ML: Incorporate collaborative filtering for even smarter recommendations.
Roommate Matching: Add functionality for users to find and match with potential roommates. More such creative features can be added in future.
Event Integration: Allow users to swipe on local events, networking opportunities and invite their matches.
Real Time Chat: Incorporate real real-time chat interface
Enhanced Filters: Add granular filters like "pet-friendly" apartments or "sober" social options.
Built With
- beautiful-soup
- flask
- github
- google-auth
- google-places
- machine-learning
- postgresql
- python
- react
- scikit-learn
- selenium
- supabase
- tailwind
- typescript
Log in or sign up for Devpost to join the conversation.