# 2023 Hack@Brown Final DevPost
## Inspiration
When we thought about "campfire", we immediately thought of **homeliness and warmth**. Spending the majority of our year at college, the places we live become our "home". After Brown's **difficulties with navigating housing** in terms of finding dorm information, we decided to put our efforts into **improving this process**.
Especially coming into college and navigating the housing lottery during COVID, we lacked the resources of conversing with upperclassmen and other Brown students. Without a site that includes student reviews of a dorm's location, amenities, comfort, and images of the dorm from both the external and internal side, **students are left completely in the dark** and without the information that actually matters when it comes to housing.
It is our goal that our work is to be adopted and **used to benefit current and future generations of Brown students**.
## What it does
This application is a **dorm review and information aggregation site for Brown University**. Students are able to search for dorms, view images, read reviews, and upload information about their experience. A review consists of evaluating the dorm on a scale of 1-5 for overall satisfaction, amenities, location, and comfort. Students can also leave a review description where they can provide more detailed information about the dorm.
## How we built it
We used the **T3 Stack (Next.js, tRPC, Tanstack Query, React, TypeScript)** to build our app. We collaborated using a **GitHub repository** and deployed our production environement to **Vercel** and hosted our Postgres database on **Railway**. Next.js is a serverless function backend framework, so we were able to develop a serverless backend to host on Vercel, which is a lot cheaper to host than more traditional backend servers (such as Express.js).
## Challenges we ran into
For our entire team, it was our first experience using the T3 Stack. We ran into numerous growing pains as is expected with attempting an ambitious project with entirely new technology. At times, we struggled understanding the format and nuances of tRPC calls, and as is usual with apps used by multiple users, we had to think constantly about optimistic refreshes and other frontend optimizations. Additionally, the information we could find online about Brown dorms was **largely incomplete and fragmented**, such as inconsistencies in floor plan names for many locations. The issues we ran in to only further solidified our belief **that a platform like this is necessary**.
## Accomplishments that we're proud of
We are very proud of learning a new tech stack. With Hackathons, it is a time of exploration and creativity. As fun as it is to make something, it is equally as fun and necessary to learn something new.
We are also proud of the final product that we have built. We set out to address a real need among the Brown's student body and truly believe that the work that we did **can impact the community**.
Most importantly, it was fun to draw the ascii art :^).
## What we learned
This was the first time that any of us had used the **T3 Stack**, so we learned a lot about the developer patterns in that process. The most significant library that we learned was **tRPC**, which we used for building our API as opposed to a more traditional REST API.
This was also the first time that any of us had used the **Postgres database**, which we all enjoyed using since it allowed us to use data types like arrays that aren't allowed in other types of SQL databases.
Additionally, we used **Prisma** for the first time as an ORM for working with our database, which allowed us to define our database schema in the Prisma syntax and offer TypeScript validation and automatic type generation based on the objects that our database stores in each table.
## What's next for hibearnation
In hibearnation's future, we hope to make the platform even more encompassing for the dorm experience. This would entail a more holistic information set about each dorm, such as travel times to **nearest dining halls, historic significance, program housing**, and more. Additionally, it would be ideal to leverage more advanced data analysis techniques to create a more dynamic and continuously updating view of each dorm, such as **sentiment analysis** and **GPT-powered summarization of reviews**.
We also can imagine some features specific to the Brown housing lottery, such as displaying specific room assignments available in each dorm and allowing students to organize their strategy on housing lottery day even further.