Inspiration

Learning a new language can be daunting, especially when you're on your own. We were inspired by how real conversations help people learn better. Our idea was to create a fun and engaging app where you don’t just study a language—you live it through chats with a bot that mimics natural conversation. We also wanted to offer a more personalized learning experience, where the difficulty adjusts based on how well you're progressing. Plus, making it accessible as a PWA allows users to learn on the go, anytime and anywhere.

What it does

Our app is a language-learning chatbot platform. When a user logs in, they create a bot with customizable attributes like name, gender, and proficiency in the language they want to learn. The bot chats with the user in the target language, helping them practice through real conversations. There’s a handy translate button in case the user gets stuck, and the bot adapts its difficulty based on how much the user relies on translations. The app also includes notifications to encourage consistent learning and provides progress analytics to help users track their journey.

How we built it

The plan was to build this app as a Progressive Web App (PWA) using React for the frontend and Node.js for the backend. We used Auth0 for user authentication and Conductor to orchestrate notifications when users have been inactive for a while. To track user performance and language learning patterns, we wanted to integrate Databricks for data analysis, giving us insights into how often users are translating messages and how their proficiency is evolving. The bot’s responses and difficulty adjustments were handled dynamically using a custom logic implemented on the backend.

Challenges we ran into

Time was definitely our biggest challenge in this 24-hour hackathon! Integrating three different tools—Auth0, Conductor, and Databricks—within such a short time required us to juggle multiple APIs and make sure everything worked together seamlessly. Another challenge was perfecting the bot’s logic to adjust difficulty dynamically based on how the user interacted with it. Finally, ensuring the app had a smooth user experience on both mobile and desktop was a challenge, especially as a PWA.

Accomplishments that we're proud of

We’re incredibly proud of the fact that we managed to implement a fully functional, personalized language-learning bot in just 24 hours. The bot works as intended, adapting to each user's level. It was also great to see our team working together so efficiently, dividing tasks and overcoming obstacles under tight deadlines.

What we learned

This project taught us the importance of careful planning and clear task division, especially in a time-sensitive environment like a hackathon. We also learned a lot about integrating third-party services like Conductor for orchestration and Databricks for analytics, which were new to most of our team. Most importantly, we learned how impactful a conversational approach can be to language learning, and how small design tweaks (like the translate button) can make a big difference to user experience.

What's next for Rocket

Going forward, we want to expand the bot’s capabilities to include voice recognition so users can practice speaking the language, not just typing. We also plan to refine the difficulty adjustment algorithm to make it even more tailored to individual learners. Additionally, we’re considering adding gamification elements, like badges or leaderboards, to keep users motivated. Lastly, we'd like to explore more languages and add a community aspect so users can chat with real people as well!

Built With

Share this project:

Updates