Inspiration

Finding a compatible roommate can be difficult because people usually only see basic information such as a name, major, or lifestyle preferences. We wanted to create a safer way for students to learn about potential roommates based on real shared-living experiences.

We designed RoomieReport specifically for CSUN students so that users can connect with other students, confirm a roommate relationship, and leave private, honest reviews.

What it does

RoomieReport is a CSUN-only roommate review platform.

Users can:

  • Create an account using a verified @my.csun.edu email.
  • Create a profile with their lifestyle preferences.
  • Search for other students.
  • Send and accept roommate requests.
  • Confirm that they lived together.
  • Submit double-blind roommate reviews.
  • View reviews only after both roommates submit their reviews or the review period ends.
  • Report inappropriate or unsafe content.

The review window lasts seven days after both roommates confirm their connection.

How we built it

We built the frontend using React, TypeScript, Vite, and CSS.

We used Firebase for:

  • Authentication
  • Firestore database
  • User profiles
  • Roommate requests
  • Roommate connections
  • Reviews
  • Reports
  • Security rules

We used Firebase Authentication to restrict access to verified CSUN student emails. Firestore security rules protect user data, prevent duplicate reviews, restrict review visibility, and control who can update requests and connections.

The website can be built as a production React application and hosted with Apache.

Challenges we ran into

One challenge was connecting the Firebase data structure to the data format expected by the existing frontend. We solved this by using service functions and adapters instead of redesigning the user interface.

Another challenge was protecting private reviews. A review should not be visible immediately after one person submits it. We created Firestore rules so reviews remain private until both roommates submit their reviews or the review deadline passes.

We also had to handle connection states, request permissions, duplicate requests, verified student emails, and preserving an open review period if a connection ends.

Accomplishments that we're proud of

We are proud that we built a complete roommate review workflow from account creation to review submission.

We also created:

  • CSUN-only authentication
  • Profile and lifestyle preference support
  • Roommate request and connection management
  • Double-blind review logic
  • Review deadline handling
  • Firestore security rules
  • Reporting functionality
  • A frontend that can be hosted independently using Apache

What we learned

We learned how important it is to design the database, security rules, and frontend data structures together.

We also learned how to:

  • Use Firebase Authentication and Firestore.
  • Protect data with Firestore security rules.
  • Work with Git and GitHub branches.
  • Connect frontend components to backend services.
  • Handle timestamps, user permissions, and asynchronous operations.
  • Collaborate effectively while working on different parts of the same project.

What's next for RoomieReport

Our next steps are to add persistent profile photo storage, improve notifications, create stronger moderation tools, and add automated review deadline handling.

We also plan to improve roommate matching, add more detailed safety features, support additional universities, and prepare the application for production hosting with a custom domain.

Built With

Share this project:

Updates

Submission history