The Problem
Every year, thousands of international students arrive in Melbourne full of excitement - and quietly terrified of being alone. Unlike domestic students who come with established friend groups, international students must build their entire social lives from scratch in an unfamiliar city, often across language and cultural barriers. Existing platforms were never designed for this. The result is widespread loneliness during what should be the most memorable years of their lives.
Our Solution
UniSwipe is a swipe-based friendship and flatmate-finding app for international students in Melbourne. Students complete a 5-step onboarding flow capturing their university, home country, languages, interests, and vibe tags - then browse a compatibility-ranked feed and swipe. Scores are weighted by shared residence hall, campus, languages, interests, and suburb overlap. Mutual swipes unlock real-time chat and a Meetup scheduler overlaying both users' weekly availability, highlighting shared slots in green, with one-tap Google Calendar export. UniSwipe also supports Flatmate mode - users set a weekly budget and preferred Melbourne suburbs, with non-overlapping budgets filtered out. One app solves two of the biggest challenges international students face on arrival.
How We Built It
We built UniSwipe using React 18 and Vite for a mobile-first frontend, Tailwind CSS for styling, and Supabase for magic link auth, real-time messaging, PostgreSQL, and avatar storage — deployed on Vercel. The swipe engine, compatibility scoring, availability grid, and real-time chat were all built from scratch during the hackathon.
Challenges We Faced
Our biggest technical challenge was designing the Supabase schema from scratch - structuring tables for profiles, swipes, matches, and messages, and wiring real-time subscriptions to trigger match detection and live chat with seed data for the demo. Our other challenge was crafting a UI that genuinely appeals to university students. We built a custom dark purple visual identity with gradient cards, vibe tags, and a swipe deck that feels native on mobile - modern and fun enough that someone would actually want to open it.
Built With
- css
- google-calendar-api
- html
- javascript
- jsx
- postcss
- postgresql
- react-18
- react-router-dom
- supabase
- supabase-auth
- supabase-realtime
- supabase-storage
- tailwind-css
- vite
Log in or sign up for Devpost to join the conversation.