## Inspiration

Our idea was inspired by Duolingo. We noticed that the main component that the platform was missing was a tool for practicing your conversation skills. Upon learning about AssemblyAI's Speech-to-Text API, we decided that it might be possible to realize this idea ourselves.

## What it does

GrammarParrot allows users to practice their English speaking skills through simulated conversations. The website sends audio files recorded by the user to Assembly, which returns a transcript. The GrammarBot API uses this transcript and returns a list of grammatical errors for the user to review.

## How we built it

The front-end of this website was built using HTML, CSS and JavaScript, and is hosted on Netlify. The back-end was developed with Python's Flask and is hosted on the Google Cloud platform.

## Challenges we ran into

Hosting a Flask server on Google Cloud, making API calls.

## Accomplishments that we're proud of

We're proud of our fantastic front-end design and creating a fully-functioning back-end for the first time!

## What we learned

Hosting a Flask server on Google Cloud, making API calls, making animations with JavaScript and CSS, front-end design.

## What's next for GrammarParrot

Expanding to different languages, using a more powerful grammar API, using user-submitted questions, tracking user progress.
## What it does

Tickets is a secure, affordable, and painless system for registration and organization of in-person events. It utilizes public key cryptography to ensure the identity of visitors, while staying affordable for organizers, with no extra equipment or cost other than a cellphone. Additionally, it provides an easy method of requesting waiver and form signatures through Docusign.

## How we built it

We used Bluetooth Low Energy in order to provide easy communication between devices, PGP in order to verify the identities of both parties involved, and a variety of technologies, including Vue.js, MongoDB Stitch, and Bulma to make the final product.

## Challenges we ran into

We tried working (and struggling) with NFC and other wireless technologies before settling on Bluetooth LE as the best option for our use case. We also spent a lot of time getting familiar with MongoDB Stitch and the Docusign API.

## Accomplishments that we're proud of

We're proud of successfully creating a polished and functional product in a short period of time.

## What we learned

This was our first time using MongoDB Stitch, as well as Bluetooth Low Energy.

## What's next for Tickets

An option to allow for payments for events, as well as more input formats and data collection.
## Inspiration

Studying and working are completely different. But, one common thing between experiencing a study term and an internship that we noticed was that sometimes we wanted to have someone to talk to. But, evidently that's sometimes impossible, so given that we wanted to explore a little bit with AI and our drive to solve our problems for future terms (where school only gets harder), we brought λlbert to life.

## What it does

λlbert is your best friend! it simply requests you to talk (with your voice!) about something that you want to get off your chest. Then, based on that and what's been happening in the conversation previously, it will respond to you. This can be used in multiple ways -- therapy, entertainment, and so on. λlbert will never get bored of you, and frankly you also won't get bored of λlbert.

## How we built it

To run the backend, we use NodeJS and Express to manipulate given data to make calls to the Cohere API. This made the logic and error handling relatively simple, as our complementing frontend was built with HTML, CSS, and Typescript. The audio recordings that were taken in were converted to text using Assembly AI, and then the brains of λlbert were made using the Cohere API.

## Challenges we ran into

Sometimes, the Assembly AI API was returning values a little slower than expected. We ended up taking it as a positive though, as we were able to have a reason to implement promises to have a loading icon. :)
The audio format that was used to record the audio wasn't compatible with Assembly AI to process and transcript it, so there were some troubles with using conversion to binary to change the file formats internally. It took some time, but eventually worked smoothly.
Finally, we were aiming for a really clean interface that looked inviting for people to want to vent out to without looking too intimidating. So, there were lots of discussion and disagreement with the design of the page, and how much info we wanted to have on there. Eventually though, we landed on a design that we believe to be pretty clean.

## Accomplishments that we're proud of

After working and testing Assembly AI with multiple different tests of file formats, things started to make sense of how it was working under the hood. Once we were able to do this, it became much easier to program the transcription and process it.
As mentioned earlier, we believe we landed on a pretty simple but effective UI. For people with not the greatest artistic sense, that feeling always has a special place in our hearts. :)

## What we learned

A big realization was that even understanding the shallowest of levels of one's personality can go a long way. Seeing how λlbert's adversity was only being more effective as the conversation continued even though sometimes responses started off very well, it became very eye-opening to how much problems and thoughts in one's mind can be influenced simply with another opinion.

## What's next for λlbert

λlbert has lots of room for improvement, from simple areas like speed to more training to give even better responses. We would love to incorporate λlbert into different applications in the future, as we realize it is very light weight compared to a lot of software, but can come a very long way in helping someone in some way.