Inspiration

Based on a personal interest in studying abroad, and noticing the lack of a centralized mobile platform for finding housing, we decided to fill that gap by creating TerpNest.

What it does

TerpNest gathers user lifestyle preferences via a brief introductory survey to match them with appropriate housing listings and roommates. Listings are offered based on academic semesters, which are suited for study abroad/exchange students. TerpNest presents users with housing listings to "swipe left or right" on. Users can save listings in their bookmarks and message leasers via the embedded chat function.

How we built it

Using React Native with Typescript and Javascript we developed much of the mobile app's frontend. Using Python, we web-scraped listings from UMD's Off-Campus Housing Database (https://ochdatabase.umd.edu/housing) to collect property titles, leasing prices, images, and the number of beds. We used SQLite to store different property listings as well as users who log into the system.

Challenges we ran into

Initially, one of our team members completely stopped responding to our messages. We ended up having to compensate for this gap rather quickly, especially since two out of three members were completely unfamiliar with React Native. For the first week, the more experienced member had to take over a majority of the backend development, while the others studied online resources and consulted with the rest of the team. Furthermore, there were also several local errors that came up when attempting to push, pull, and merge code in our GitHub repository. This slowed down aspects of our workflow since we were forced to handle such issues before moving on with our development. Finally, we were unable to fully implement all of the features we had planned to include: a percentage-based matching system for leasers and lessees and a bookmark function for users to save listings under their profile.

Accomplishments that we're proud of

We are proud to have picked up several new programming languages and applications in the short span of time that we have had. For example, when making our wireframe, we all picked up Figma rather quickly and created a visually pleasing design. Furthermore, we are also proud of the variety of techniques we utilized, such as web scraping and working with databases in React Native using SQLite. Many of these techniques were completely new to us, but we still managed to implement them. Most of all, we are proud of our ability to adapt to the change in team size and remain in contact with each other over the academic break.

What we learned

We have learned that no matter what, the most important part of working together is to be vigilant regarding any incoming challenges. Throughout the program, we met multiple times a week to debug errors and discuss our next steps. Maintaining this line of communication was integral to getting as far as we did. On a more technical level, we have learned how to approach developing the backend utilizing Python and SQLite and the front end of an app using React Native.

What's next for TerpNest?

Moving forward, we hope to actually create an algorithm for leasers and lessees with similar preferences to be matched together. Additionally, we would like to make a proper bookmark feature for users to store their favorite listings and a proper messaging feature for users to contact each other. Going further beyond, we would also like to research the optimal types of user preference data to collect when properly pairing up users with listings.

Share this project:

Updates