Roomy.co is a mobile app designed to help university students find their perfect roommate. By combining the swiping mechanics of Tinder with an algorithm that matches users based on their preferences, Roomy.co makes the roommate search process fun, engaging, and efficient.
The idea for Roomy.co originated with three of our founders, all incoming university students who struggled to find suitable roommates. The challenge inspired us to develop an app that could streamline the process. One of our team members suggested adding a Tinder-style swiping feature to make the process of finding a roommate more interactive and enjoyable.
Roomy.co allows users to find their ideal roommate by swiping on profiles:
- Swipe left to decline.
- Swipe right to accept.
- Swipe up to chat.
Each profile card displays key information such as name, age, pronouns, university, room type, faith, etc. The app’s algorithm prioritizes profiles that closely match the user's preferences, ensuring the best possible roommate matches.
Roomy.co is built with the MERN stack and related technologies:
- MongoDB for the database
- Express.js for the backend server
- React Native with Expo for the mobile client app
- Node.js for the server runtime
- TypeScript for type safety in the client app
- Expo Router for file-based routing in the client
/client: React Native Expo app source code and assets/server: Express.js backend server code
- Node.js and npm installed
- MongoDB instance running and accessible
- Expo CLI installed globally (
npm install -g expo-cli) - Android Studio or Xcode for emulators (optional)
- Navigate to the
/serverdirectory:cd server - Create a
.envfile with your MongoDB connection string:MONGO_URI=your_mongodb_connection_string - Install dependencies:
npm install
- Start the server:
The server will run on port 5001 by default.
npm start
- Navigate to the
/clientdirectory:cd client - Install dependencies:
npm install
- Start the Expo app:
npm start
- Use Expo Go or an emulator to run the app on your device.
- React Native
- Expo
- Expo Router
- React Navigation
- Node.js
- Express.js
- MongoDB
- Mongoose
- TypeScript
- Jest (for testing)
Our team encountered several challenges during development, particularly a lack of knowledge in React Native and Git. A notable challenge occurred when buggy code was merged into the main branch, causing significant delays as we worked to revert the commit. We overcame this challenge by seeking help from a mentor, who guided us through resolving the issue.
Despite the challenges, our team made significant strides in learning React Native and TypeScript. Starting from basic tutorials, we progressed to building components, screens, and solving complex problems related to the app. Additionally, two team members gained a foundational understanding of UI/UX design using Figma.
This project was a learning experience for all of us. We deepened our programming skills, improved our teamwork, and became more proficient with Git and React Native. We also learned the importance of resilience and collaboration, turning mistakes into opportunities for growth.
Our journey doesn't end here. We're committed to continuously improving Roomy.co, with plans to:
- Improve UI for better navigation and accessibility.
- Develop an AI-driven recommendation system for more accurate roommate matches.
- Introduce profile verification to ensure authenticity.
- Add in-app communication tools like calls and texts.
- Create a compatibility quiz to assess living habits and preferences.
Contributions are welcome! Please fork the repository and submit pull requests for any improvements or bug fixes.
This project is licensed under the terms of the LICENSE file.

