Inspiration

When on the journey of learning a new language, dedicated practice is the most powerful way of to become fluent. However, in many occasions, finding practice partners can be daunting, especially if the language isn't native to your region or you're still not very fluent. Moreover, we also are fascinated by the rich history of our world, and it is incredible how millions of inspiring people have contributed immensely to making our communities better place. Yet, truly understanding the contributions of just several historical figure requires a much time.

What it does

We have come up with a solution: Historic. Thanks to the innovations of AI, we created a platform where the student can have conversations with historical figures in the language of your choosing. You will be practicing your conversation skills in the language you are learning, while at the same time getting to know the life, struggles, and accomplishments of many inspiring people!

How we built it

When we came up with the idea, the first step was to establish a plan of how to make it happen. We first planned how everything would be working on the backend and the user interactions, and we decided that our best approach is to divide and conquer, as we had a long list of goals to accomplish: first, the user selects the language and historical figure he or she wants to talk with. Then, the user talks to the microphone and the client sends the audio to the server, where it is converted into text, thanks to OpenAI's Whisper API. Third, we convert the text into the correct GPT Prompt to be then sent to OpenAI to generate the response of the historical figure. Afterwards, we need to convert the answer into the voice of the historic figures. Then, keep the conversation going, and allow for more responses. Finally, design the interface to make everything pretty.

Challenges we ran into

Many problems surged as we tried to implement and make the entire app in just 24 hours, however we pulled through as a team to get through it, helping each other out when one was not sure of the how to do or fix something: transferring the audio to the server efficiently, finding what voices to use, how to change the prompts, or SocketIO not working for the tenth time! We divided according to our strengths, and we managed to finish all individuals parts before the end of the day: the biggest challenge arose afterwards, when it was time to unify everything! We were very tired after an entire day of work, but we pulled through the night, taking shifts between naps, coding, designing, planning the presentation, and answering this DevPost! It was through teamwork and how we kept each other motivated that we managed to accomplish so much in so little time.

What we learned & Accomplishments that we're proud of

Being able to break up the work from the beginning into individual components that can be done separately by each member on the team helped us tremendously. We were able to get multiple pieces of the app working in parallel and we tried to assist each other along the way. Whenever any one of us got stuck, other team members would always take turns and be willing to help whoever is stuck to keep the project going.

Furthermore, our team was swift with our ideation process. While in line for check-in, we were able to finalize the details of our idea and we were able to hit the ground running by the time the opening ceremony finished. Overall, all of our team members were very collaborative and understanding of each others' limits. We would alternate roles while hacking, giving other team members power nap breaks and making sure everyone is able to build at their maximum performance.

Our team also had a broad variety of experience levels, and those of us who had more experience did not hesitate to share their experiences with more beginner members. We tried to support each other as much as we can through these last two days and we believe our efforts came to fruition in this project.

The most valuable thing about challenges, is learning from them. We entered the hackathon with some knowledge, and we came out with an incredible product and idea. We developed practical skills of how to get things done, many of which we never had tried before! We had never interacted with the browser microphone, much less converting it to text to speech. I (Luis) had no experience in Typescript, only JavaScript, so I basically learned it in its entirety in just one day, as well as much of react and NextJS as we tried to integrate everything! This was a great team effort, and even if we don't win we have definitely forged a strong team that will last for a long time!

What's next for Historic

Our project so far is just an MVP that can show the feasibility of using ChatGPT as a historical language learning tool. Below are some future improvements that we hope to implement in our projects: Highlighting and translating specific parts of the conversation on-the-fly Maintaining a history of all of the user's conversations More fine-tuned voices through the integration of APIs like Speechify that can give us access to celebrity or famous characters' voices. For younger audiences, offering voices in famous cartoon character voices to make language learning more engaging for them as well.

Built With

Share this project:

Updates