## Inspiration

No matter where our families go, whether it be the supermarket or the next state over, they always insist on taking the most beautiful route. Driving by breathtaking scenery is one of life's finest pleasures, yet it is near impossible to find the prettiest route to take. Google Maps can get you from point A to point B the fastest, but it falls short when asked to give you a scenic route. This inspired us to build Sceniq—an app that will point you towards the most beautiful route for your journey.

## What it does

Sceniq will take in a starting location and a destination, and will return back to you the most scenic route between those two points.

## How we built it

Our algorithm identifies all of the key routes between two points and retrieves image data of those routes through Google Maps. This information is fed into a neural network that was trained on over 6,000 images to distinguish between scenic and non-scenic imagery. Using the network's output, a score is assigned to each route indicating how scenic it is. This data is returned to the user.

## Challenges we ran into

We ran into several challenges. While working on the neural network, Adith struggled with optimizing the prediction speed. After he got around this, he realized that there was a fundamental flaw in how he was labeling the data, which took a while to fix.

Adam had his own set of problems. He had to reverse engineer the Unsplash API because it wasn't well formed. Additionally, he was getting timeout errors because he was making simultaneous requests, which he got around by implementing a randomized incremental back-off algorithm. Finally, he was very proud of the fact that he created a recursive generator algorithm that was able to divide a geographic polyline into n equal parts.

## Accomplishments that we're proud of

We're proud of the project as a whole. Not only did we train, test, and fine-tune a neural network, but we also were able to implement an algorithm that interfaces with Google Maps to get image data for routes.

## What we learned

1) How to break down a problem into smaller chunks that are later combined into a cohesive solution.
2) How to use CNNs to differentiate between various types of images.
3) How to interface with Google's various map/direction APIs.

## What's next for Sceniq

We need a better front-end interface. Additionally, we could also improve our route visualization. These changes would make our program more user-friendly.
## Inspiration

As college students, we both agreed that fun trips definitely make college memorable. However, we are sometimes hesitant about initiating plans because of the low probability of plans making it out of the group chat. Our biggest problem was being able to find unique but local activities to do with a big group, and that inspired the creation of PawPals.

## What it does

Based on a list of criteria, we prompt OpenAI's API to generate the perfect itinerary for your trip, breaking down hour by hour a schedule of suggestions to have an amazing trip. This relieves some of the underlying stresses of planning trips such as research and decision-making.

## How we built it

On the front-end, we utilized Figma to develop an UI design that we then translated into React.js to develop a web app. We connect a Python back-end through the utilization of Fast API to integrate the usage of SQLite and OpenAI API into our web application.

## Challenges we ran into

Some challenges we ran into were the lack of experience in Full-Stack development. We did not have the strongest technical skill sets needed; thus, we took this time to explore and learn new technologies in order to accomplish the project. Furthermore, we recognized the long time it takes for OpenAI API to generate text, leading us to in the future output the generated text as a stream utilizing the SDK for it by Vercel.

## Accomplishments that we're proud of

As a team of two, we were very proud of our final product and took pride in our work. We came up with a plan and vision that we truly dedicated ourselves to in order to accomplish it. Even though we have not had too much experience in creating a full-stack application and developing a Figma design, we decided to take the leap in exploring these domains, going out of our comfort zone which allowed us to truly learn a lot from this experience.

## What we learned

We learned the value of coming up with a plan and solving problems that arise creatively. There is always a solution to a goal, and we found that we simply need to find it. Furthermore, we both were able to develop ourselves technically as we explored new domains and technologies, pushing our knowledge to greater breadth and depth. We were also able to meet many people along the way that would provide pieces of advice and guidance on paths and technologies to look into. These people accelerated the learning process and truly added a lot to the hackathon experience. Overall, this hackathon was an amazing learning experience for us!

## What's next for PawPals

We hope to deploy the site on Vercel and develop a mobile application of the app. We believe with the streaming technology, we can create faster response time. Furthermore, through some more scaling in interconnectivity with friends, budgeting, and schedule adjusting, we will be able to create an application that will definitely shift the travel planning industry!
## Inspiration

<https://www.youtube.com/watch?v=lxuOxQzDN3Y>
Robbie's story stuck out to me at the endless limitations of technology. He was diagnosed with muscular dystrophy which prevented him from having full control of his arms and legs. He was gifted with a Google home that crafted his home into a voice controlled machine. We wanted to take this a step further and make computers more accessible for people such as Robbie.

## What it does

We use a Google Cloud based API that helps us detect words and phrases captured from the microphone input. We then convert those phrases into commands for the computer to execute. Since the python script is run in the terminal it can be used across the computer and all its applications.

## How I built it

The first (and hardest) step was figuring out how to leverage Google's API to our advantage. We knew it was able to detect words from an audio file but there was more to this project than that. We started piecing libraries to get access to the microphone, file system, keyboard and mouse events, cursor x,y coordinates, and so much more. We build a large (~30) function library that could be used to control almost anything in the computer

## Challenges I ran into

Configuring the many libraries took a lot of time. Especially with compatibility issues with mac vs. windows, python2 vs. 3, etc. Many of our challenges were solved by either thinking of a better solution or asking people on forums like StackOverflow. For example, we wanted to change the volume of the computer using the fn+arrow key shortcut, but python is not allowed to access that key.

## Accomplishments that I'm proud of

We are proud of the fact that we had built an alpha version of an application we intend to keep developing, because we believe in its real-world applications. From a technical perspective, I was also proud of the fact that we were able to successfully use a Google Cloud API.

## What I learned

We learned a lot about how the machine interacts with different events in the computer and the time dependencies involved. We also learned about the ease of use of a Google API which encourages us to use more, and encourage others to do so, too. Also we learned about the different nuances of speech detection like how to tell the API to pick the word "one" over "won" in certain context, or how to change a "one" to a "1", or how to reduce ambient noise.

## What's next for Speech Computer Control

At the moment we are manually running this script through the command line but ideally we would want a more user friendly experience (GUI). Additionally, we had developed a chrome extension that numbers off each link on a page after a Google or Youtube search query, so that we would be able to say something like "jump to link 4". We were unable to get the web-to-python code just right, but we plan on implementing it in the near future.