## Inspiration

We have to make a lot of decisions, all the time- whether it's choosing your next hackathon project idea, texting your ex or not, writing an argumentative essay, or settling a debate. Sometimes, you need the cold hard truth. Sometimes, you need someone to feed into your delusions. But sometimes, you need both!

## What it does

Give the Council your problem, and it'll answer with four (sometimes varying) AI-generated perspectives! With 10 different personalities to choose from, you can get a bunch of (imaginary) friends to weigh in on your dilemmas, even if you're all alone!

## How we built it

The Council utilizes OpenAI's GPT 3.5 API to generate responses unique to our 10 pre-defined personas. The UI was built with three.js and react-three-fiber, with a mix of open source and custom-built 3D assets.

## Challenges we ran into

* 3D hard
* merge conflict hard
* Git is hard

## Accomplishments that we're proud of

* AI responses that were actually very helpful and impressive
* Lots of laughs from funny personalities
* Custom disco ball (SHEEEEEEEEESH shoutout to Alan)
* Sexy UI (can you tell who's writing this)

## What we learned

This project was everyone's first time working with three.js! While we had all used OpenAI for previous projects, we wanted to put a unique spin on the typical applications of GPT.

## What's next for The Council

We'd like to actually deploy this app to bring as much joy to everyone as it did to our team (sorry to everyone else in our room who had to deal with us cracking up every 15 minutes)
## Inspiration

Partially inspired by the Smart Cities track, we wanted our app to have the direct utility of ordering food, while still being fun to interact with. We aimed to combine convenience with entertainment, making the experience more enjoyable than your typical drive-through order.

## What it does

You interact using only your voice. The app automatically detects when you start and stop talking, uses AI to transcribe what you say, figures out the food items (with modifications) you want to order, and adds them to your current order. It even handles details like size and flavor preferences. The AI then generates text-to-speech audio, which is played back to confirm your order in a humorous, engaging way. There is absolutely zero set-up or management necessary, as the program will completely ignore all background noises and conversation. Even then, it will still take your order with staggering precision.

## How we built it

The frontend of the app is built with React and TypeScript, while the backend uses Flask and Python. We containerized the app using Docker and deployed it using Defang. The design of the menu is also done in Canva with a dash of Harvard colors.

## Challenges we ran into

One major challenge was getting the different parts of the app—frontend, backend, and AI—to communicate effectively. From media file conversions to AI prompt engineering, we worked through each of the problems together. We struggled particularly with maintaining smooth communication once the app was deployed. Additionally, fine-tuning the AI to accurately extract order information from voice inputs while keeping the interaction natural was a big hurdle.

## Accomplishments that we're proud of

We're proud of building a fully functioning product that successfully integrates all the features we envisioned. We also managed to deploy the app, which was a huge achievement given the complexity of the project. Completing our initial feature set within the hackathon timeframe was a key success for us. Trying to work with Python data type was difficult to manage, and we were proud to navigate around that. We are also extremely proud to meet a bunch of new people and tackle new challenges that we were not previously comfortable with.

## What we learned

We honed our skills in React, TypeScript, Flask, and Python, especially in how to make these technologies work together. We also learned how to containerize and deploy applications using Docker and Docker Compose, as well as how to use Defang for cloud deployment.

## What's next for Harvard Burger

Moving forward, we want to add a business-facing interface, where restaurant staff would be able to view and fulfill customer orders. There will also be individual kiosk devices to handle order inputs. These features would allow *Harvard Burger* to move from a demo to a fully functional app that restaurants could actually use. Lastly, we can sell the product by designing marketing strategies for fast food chains.
## Inspiration

Restaurants are one of the few places today where masks are taken off. Due to the pandemic, people prefer to eat at less crowded places.

## What it does

Our app provides a way for users to quickly find less crowded restaurants to dine at while avoiding potential hotspots and super-spreader events. Users are first provided with a heatmap, a large overview of the city where they can decide which areas of the city to avoid at a glance. A simple search operation then displays relative restaurants, where users can view a restaurant's specific crowdedness level and other important details.

## How I built it

Restaurant data are queried from Google using the Google Places API and stored in an Apache Cassandra database using DataStax Astra. Since popular-times data does not update very frequently, and in order to conserve computations, we define a Google Cloud Function and using the Google Cloud Scheduler to provide updates to the database hourly. The Android app is built entirely in Java and data is queried from the database using a REST API. We using Google Place Search to perform search operations and the SDK for Google Maps Android development.

## What's next for Hotspot

To simplify development and conserve compute credits, we have limited the app to a testing area of just Vancouver, Canada, and only update the database hourly. The app, however, can easily be configured to be deployed around the world with real-time hotspot updates. We believe such an app is immensely useful as Covid-19 vaccines are distributed and the world transitions back to normalcy.