An AI-powered learning platform that generates educational content and personalized study paths based on user-selected subjects.
I wanted to build and deploy a fully functional educational platform powered by AI. Users should be able to choose a subject and receive a learning path divided into difficulty, topics, and lessons. At the same time, I wanted to improve my skills in Python, Django, GCP and explore new technologies.



To build the platform, I started by designing and implementing the database models, ensuring they could support the features I had planned. I then carefully researched and selected a Large Language Model (LLM) that I could use given a limited budget. I integrated the LLM to produce:
I have then continuously refined the generated content to improve its accuracy. Once the backend logic was in place, I created a basic UI and focused on designing a smooth user experience, implementing login and signup forms as well as navigation between different pages. To enhance performance and responsiveness, I implemented asynchronous processing using Celery, allowing content generation and other tasks to run in the background without slowing down the user interface. Finally, I continuously refined the UI to make it more intuitive, visually appealing, and user-friendly.
This project was both my favorite and the most challenging one I have worked on. One of the main difficulties was obtaining valid responses from the Large Language Model (LLM). I used Pydantic to validate the returned JSON schema and experimented with several LLMs before finding the one that performed best for my use case. I have also carefully tuned the AI’s prompt to generate an accurate response. Another significant challenge was implementing asynchronous behavior to improve the user experience. Distributing tasks efficiently required careful setup, so I integrated Celery with Redis to handle background processing, ensuring that content generation and other operations ran smoothly without slowing down the platform.


The entire process, from development to deployment, took around three months. I deployed the platform using Google Cloud Platform (GCP), and it is now fully functional. Working on this project was an incredibly rewarding experience, as it allowed me to explore and apply technologies I had never used before.
View the app here:
What didn’t go well: Time was a key constraint since I was working on other tasks alongside this project. As a result, I couldn’t dedicate as much time as I wanted to adding new features or refining the UI in greater detail.
Future improvements: I plan to expand the platform with new capabilities and a more engaging user experience:
