Inspiration

We were inspired by our love of languages and the world around us.

What it does

Lingua is designed to help you understand and communicate with the world around you. It is not just a translator but also a language tutor. Learn with Lingua!

How we built it

Lingua was built as a full-stack web application in under 24 hours at HackHCC 2026. The frontend was built with React and Vite for fast development and hot reloading. Google Gemini 2.5 Flash handles all AI conversation logic; each message sends the full conversation history plus a custom system prompt that defines the tutor’s behavior based on the selected language and proficiency level. Eleven Labs multilingual TTS converts Gemini’s text responses to natural voice audio in the target language, creating an immersive learning experience. The backend uses Node.js and Express with MongoDB Atlas designed for session persistence. The app was deployed to Vercel with a custom domain registered through GoDaddy.

Challenges we ran into

The top 3 challenges that we encountered were API key management, domain deployment, and program development. For the API key management, we had a couple of issues getting it to function properly. We ended up having to create multiple API keys between the Google Gemini API and the ElevenLabs API. Initially, with Google Gemini API, we found that the model was outdated after creating the second API due to an error from the application stating “Sorry, I can’t reply right now”. We potentially ran into a rate limit issue as well, so we then added credits to the account. Afterward, we had a few issues getting the API to run, and eventually found that the API was accidentally hard-coded and exposed. We quickly removed the key and created a new one, which led to the recreation of the ElevenLabs API key as well. After updating both API keys, we then recoded the program to not only include a secrets file (since we had one before) but also to tell the model to ignore the files using gitignore so that the API keys would not be exposed again. The next challenge was properly registering our domain on GoDaddy for deployment. Although it took a while to get it figured out, it was a relatively simple fix. After researching, we figured out how to get the domain registered and deployed using Vercel. The most challenging of the challenges was the overall program development. What we thought was going to be a simple idea turned out to be a bit more complicated than we imagined. Through our excitement and lack of expertise in some areas, there were steps missed that we did not realize until much further along. Going to the workshops did help us in the long run, especially the Git Gud @ Git workshop. There, we learned some git commands that we definitely needed. There were quite a few bugs to fix and some design updates that brought the project to the next level. Overall, we are happy that we took on all of the challenges that birthed the world’s first language translator and tutor!

Accomplishments that we're proud of

First and foremost, we are proud of ourselves for stepping up to the plate and creating such an innovative project in such a short amount of time! We are all fairly new to hackathons, so the pressure was really on. Collectively, we chose to compete in the General track versus the Beginner track to challenge ourselves. We are proud to say that we rose to the occasion together.

What we learned

We learned patience. It seemed as if every time we got it working, there was a setback. This was incredibly frustrating for our team, but working together to solve the issues and asking for help when needed was essential to the success of our project. We also learned the importance of not skipping steps and being able to understand what is happening and why. When we encountered the most frustrating error we had to go into the code because the API keys were accidentally hard coded and were exposed. We had to create new keys, update missing packages and redeploy the app. This took many hours to figure out and fix, so it is safe to say that we learned the hard way. We went from a working application to a broken application and finally made our way back to a fully operational application!

What's next for Lingua

Hopefully, we can continue working together and improve the app over time. No other language app like it exists on the market, and we can really take this far!

Built With

Share this project:

Updates