## 🤯 Inspiration

As busy and broke college students, we’re usually missing semi-essential items. Most of us just suffer a little and just go without, but what if there was an alternative? Say you need a vacuum. More often than not, someone living in your hall has one they aren’t opposed to sharing! Building upon this principle, our app aims to **connect** “haves” with “have-nots” and create a closer community along the way.

## 🧐 What it does

Our app provides an easy-use platform for students to share favors between each other; two clear use-cases are borrowing items and running convenience store errands. In addition, this application encourages tighter communities and helps reduce consumerist waste(not everyone in a dorm hall needs their own of everything!).

## 🥸 How we built it

* **Frontend**: built in React Native with Expo, run on Xcode simulator
* **Backend** : authentication with Firebase, Typescript, TypeORM, GraphQL used to power Node server with Apollo editor to communicate with CockroachDB.
* **Design and UI**: Figma and Google Slide
* **Pitching** : Loom and Adobe Premiere

## 😅 Challenges we ran into

* We were unable to find a UI/UX designer for our team and initially struggled with getting the project off the ground. Heather dedicated most of her time filling that role by learning how to operate Figma and tried her very best to make an aesthetically pretty mock-up and final pitch.
* It was also difficult to work through many time zones and keep track of all members; we lost a backend person in last minute so Hung stepped up to the challenge to learn GraphQL, CockroachDB, and TypeORM in a really short time.
* Of course scope

## 😊 Accomplishments that we're proud of

* Heather is super proud of surviving her first hackathon and having her idea finally somewhat come to life! She also now realizes how much there is left to learn and is excited to explore more into UI/UX design and what goes into developing a mobile app.
* Hung somehow managed to implement React Native App with expo, GraphQL & Node server in less than 24 hours

## 🤔 What we learned

* We learned that having a reliable designer is super important, and how time moves super fast when you are having fun!
* Having a high bar is good but also terrifying :^(

## 😤 What's next for Favor App

We built a relatively functional minimum featured project over the past two days; however, we would like to implement GPS reliability and optimization algorithms in order to increase the amount of favors completed and make fulfilling favors easier. The ultimate goal is to tailor favor requests so fulfilling them doesn’t deviate from the helpers’ normal daily routines. We would also like to include more game-like features and other incentives. We could see ourselves using and relying on something like this a lot, so this hackathon will hopefully not be the end!
## Inspiration

Picture this, I was all ready to go to Yale and just hack away. I wanted to hack without any worry. I wanted to come home after hacking and feel that I had accomplished a functional app that I could see people using. I was not sure if I wanted to team up with anyone, but I signed up to be placed on a UMD team. Unfortunately none of the team members wanted to group up, so I developed this application alone.

I volunteered at Technica last week and saw that chaos that is team formation and I saw the team formation at YHack. I think there is a lot of room for team formation to be more fleshed out, so that is what I set out on trying to fix. I wanted to build an app that could make team building at hackathons efficiently.

## What it does

Easily set up "Event rooms" for hackathons, allowing users to join the room, specify their interests, and message other participants that are LFT (looking for team). Once they have formed a team, they can easily get out of the chatroom simply by holding their name down and POOF, no longer LFT!

## How I built it

I built a Firebase server that stores a database of events. Events hold information obviously regarding the event as well as a collection of all members that are LFT. After getting acquainted with Firebase, I just took the application piece by piece. First order of business was adding an event, and then displaying all events, and then getting an individual event, adding a user, deleting a user, viewing all users and then beautifying with lots of animations and proper Material design.

## Challenges I ran into

Android Animation still seems to be much more complex than it needs to be, so that was a challenge and a half. I want my applications to flow, but the meticulousness of Android and its fragmentation problems can cause a brain ache.

## Accomplishments that I'm proud of

In general, I am very proud with the state of the app. I think it serves a very nifty core purpose that can be utilized in the future. Additionally, I am proud of the application's simplicity. I think I set out on a really solid and feasible goal for this weekend that I was able to accomplish.

I really enjoyed the fact that I was able to think about my project, plan ahead, implement piece by piece, go back and rewrite, etc until I had a fully functional app. This project helped me realize that I am a strong developer.

## What I learned

Do not be afraid to erase code that I already wrote. If it's broken and I have lots of spaghetti code, it's much better to try and take a step back, rethink the problem, and then attempt to fix the issues and move forward.

## What's next for Squad Up

I hope to continue to update the project as well as provide more functionalities. I'm currently trying to get a published .apk on my Namecheap domain (squadupwith.me), but I'm not sure how long this DNS propagation will take. Also, I currently have the .apk to only work for Android 7.1.1, so I will have to go back and add backwards compatibility for the android users who are not on the glorious nexus experience.
## Inspiration

We wanted to watch videos together as a social activity during the pandemic but were unable as many platforms were hard to use or unstable. Therefore our team decided to create a platform that met our needs in terms of usability and functionality.

## What it does

Bubbles allow people to create viewing rooms and invite their rooms to watch synchronized videos. Viewers no longer have to conduct countdowns on their play buttons or have a separate chat while watching!

## How I built it

Our web app uses React for the frontend and interfaces with our Node.js REST API in the backend. The core of our app uses the Solace PubSub+ and the MQTT protocol to coordinate events such as video play/pause, a new member joining your bubble, and instant text messaging. Users broadcast events with the topic being their bubble room code, so only other people in the same room receive these events.

## Challenges I ran into

* Collaborating in a remote environment: we were in a discord call for the whole weekend, using Miro for whiteboarding, etc.
* Our teammates came from various technical backgrounds, and we all had a chance to learn a lot about the technologies we used and how to build a web app
* The project was so much fun we forgot to sleep and hacking was more difficult the next day

## Accomplishments that I'm proud of

The majority of our team was inexperienced in the technologies used. Our team is very proud that our product was challenging and was completed by the end of the hackathon.

## What I learned

We learned how to build a web app ground up, beginning with the design in Figma to the final deployment to GitHub and Heroku. We learned about React component lifecycle, asynchronous operation, React routers with a NodeJS backend, and how to interface all of this with a Solace PubSub+ Event Broker. But also, we learned how to collaborate and be productive together while still having a blast

## What's next for Bubbles

We will develop additional features regarding Bubbles. This includes seek syncing, user join messages and custom privilege for individuals.