Inspiration

Acquiring programming skills at a young age offers numerous advantages, enhancing not only logical and algorithmic thinking but also providing valuable technical proficiency for a digital future. Children often face challenges when trying to learn outside of their regular school hours, particularly when dealing with complex subjects. Introducing extracurricular classes may appear burdensome, but by integrating leisure and recreational activities, like reading, with the learning experience, we can effectively extend their learning hours without encroaching on their free time.

What it does

CodeTales is a web application designed to enhance children's education. It harnesses the power of Generative AI tools, including text generation, image processing, and text-to-speech technology, to introduce fundamental programming concepts to young learners.

How I built it

  • Backend: Python
  • Client Web-App: Streamlit
  • Database and Storage: MongoDB and Azure Blob Storage
  • Text Generation (Stories): Open AI API (GPT-3.5 Turbo)
  • Image Generation (Illustrations): Open AI API (DALL.E)
  • Text to Speech Generation (Audio Story): Microsoft Azure AI Speech Service

Challenges we ran into

The initial hurdle involved selecting the project idea. Despite having a couple of initial concepts, a thorough examination revealed that many alternatives were quite similar, and I aimed to create something truly innovative. The hardest challenges during the project's development revolved around grappling with a new and unfamiliar technology stack, as well as the task of prioritizing features. Unfortunately, due to time constraints, I couldn't fully leverage the diverse configurations of Azure AI Speech Services, including voice and speech types. Additionally, the integration with a non-relational database remained unfinished, and the optimization and fine-tuning of text and image prompts were areas that warranted further attention.

Accomplishments that I'm proud of

Building a whole application by myself in less than 24 hours using technologies that are 90% new to me was very rewarding. I've learned a lot, and, despite the prototype having its visible flaws, I feel that there's potential to build something really interesting on top of it.

What I learned

  • Learned how LLM fine-tuning works and its capabilities, learned how to leverage Streamlit to build web UIs easily and some of the AI features provided by Open AI and Microsoft.
  • Figured out that I am capable of building a functional prototype even with new technologies.
  • Understood the value of dedicating a long continuous amount of time focused in just one project.

What's next for Code Tales

The plan is to finish polishing the technical aspects of the application regarding the data generation pipeline (implement background service to create new contents daily) and integrate non-relational database. On the functional side the goal is to optimize the prompts to generate more relevant and accurate stories and explore image generation alternatives (since the results provided by DALL.E weren't the best in my opinion).

Built With

Share this project:

Updates