KnockKnock
A working roommate-matching application developed with React Native, Expo and Firebase from a UI/UX design created by Fernanda Fernandes.
Role
Mobile App Developer
Category
Mobile Development · Collaboration
Year
2025

Development
Nami Enkhjargal
UI/UX Design
Fernanda Fernandes
Project Type
Collaborative master's project
Overview
KnockKnock is a roommate and accommodation-matching application created as a collaborative master's project. The UI/UX design was created by Fernanda Fernandes, while I was responsible for developing the application and connecting the experience to a working Firebase backend.
My Role
Mobile App Developer
- Developed the application using React Native and Expo
- Built Firebase authentication
- Structured the Firestore database
- Created separate Seeker and Provider experiences
- Implemented user profiles and accommodation listings
- Added image uploading
- Developed swiping and matching functionality
- Built real-time conversations and image messaging
- Added map-based accommodation discovery
- Implemented reporting, hiding and account-management features
- Connected the Figma designs into a functional end-to-end application
The Product
KnockKnock supports two connected user journeys. Seekers can explore accommodation and potential roommates, while Providers can publish and manage listings. Matching creates a connection between compatible users and opens a conversation.
Technical Structure
Development Challenge
The main challenge was connecting several dependent systems — profiles, listings, swipes, matches, conversations and reports — without breaking the user journey. A single action could affect several parts of the database, so the data structure and state management needed to remain consistent.
Design Collaboration
I translated the provided Figma designs into reusable React Native components and working interactions. During implementation, I communicated technical constraints and adapted responsive behaviour while preserving the designer's original visual direction.
Key Functionality
Role-based onboarding
Separate sign-up paths for people seeking a place and people listing one.
Profiles & listings
Structured profile and accommodation-listing data, with photo uploads.
Swipe & matching
A swipe-based interface that creates a match when interest is mutual.
Real-time chat
Conversations with image messaging, updating live via Firestore.
Map discovery
Browsing available accommodation by location on a map.
Reporting & account controls
Reporting, hiding and account-management tools for user safety.
Outcome
The result was a functioning end-to-end mobile application rather than only a visual prototype. The project strengthened my ability to collaborate with a designer, translate interface designs into code and connect complex user flows to a real database.
Reflection
If I continued development, I would focus on production security rules, performance testing, notification handling and further validation of the matching experience.