Introduction

This project is designed to support young, underprivileged bilingual learners in their journey to become confident readers. Many children who grow up speaking more than one language face unique challenges: they must learn English for school success while also retaining fluency in their native language. These dual demands can create a gap in literacy development, leaving students at risk of falling behind or losing connection with their cultural roots.

What does it do?

Our solution is an interactive reading platform that allows children to engage with picture books in both English and their native language. By providing translations and side-by-side text, the project gives young readers the opportunity to strengthen their English skills while maintaining their bilingual abilities. The platform also encourages comprehension and vocabulary growth through visual storytelling, making reading accessible and engaging.

Beyond language learning, the project fosters a sense of confidence and independence, helping children feel empowered as they navigate two linguistic worlds. By addressing the specific needs of underprivileged bilingual learners, this initiative aims to create a foundation for academic success, cultural pride, and a lifelong love of reading. Ultimately, it seeks to ensure that bilingual children can thrive in both languages without compromise.

How we built it

We built this project using React/Next.js for the frontend and Python for the backend. Since we’re primarily front-end developers, we did a bit of research and watched a few tutorials to get the backend working.

Challenges we ran into

One of the biggest challenges we faced during this project was scraping the data for the books and properly parsing it into a usable format. Collecting the data was time-consuming, and ensuring it fit the structure we needed for the application required a lot of trial and error. Setting up the backend to handle this data took a significant amount of time, as we had to make sure everything worked reliably and could scale with multiple books. Once the backend was in place, connecting it to the frontend presented its own set of difficulties. We had to carefully manage data flow, handle requests and responses correctly, and ensure the user experience remained smooth and seamless.

Accomplishments that we're proud of

We are really proud of our successful integration of multiple APIs into our project, especially since it was our first experience working with them. We utilized the Cloud Translation API to handle translations for our mini books and games, ElevenLabs for multilingual text-to-speech functionality, GeminiAPI to generate engaging prompts for the Simon Says game, and Auth0 to implement four distinct sign-in options.

What we learned

Before this project, both of us mainly focused on front-end development, so diving into back-end and full-stack work was a huge learning experience. We learned how to build and manage a server using Python and worked with libraries like Uvicorn to handle data rendering and communication between the front and back end. Integrating multiple APIs also gave us a deeper understanding of how data flows, how authentication works, and how everything connects during deployment.

But honestly, the biggest lesson wasn’t just technical, it was about not giving up. Around midnight, nothing was working. Our frontend was broken, the backend wasn’t running, and we were so close to calling it quits. Instead, we powered through, digging through documentation, watching videos, and troubleshooting until things finally worked. Seeing it all come together in the end made the struggle worth it.

What's next for LittleLingo

  • Editing profiles to allow user to save their native language
  • Expanding the number of languages the website supports
  • Expanding the difficulty levels of reading books
  • Creating more interactive features within the books, including choose your own adventure
  • Our goal is to reach more students by making the website available offline and in multiple languages

Built With

Share this project:

Updates