An AI-powered learning platform that generates educational content and personalized study paths based on user-selected subjects.
Role: Fullstack Developer
Duration: 3 months
Credits: Renish Bhaskaran (Backend Developer)
Tech-Stack: Python, Django, Celery, Redis, GCP, GitActions
The goal of this project was to design and deploy a fully functional AI educational platform. Users select a subject, complete an initial evaluation test, and receive a learning path structured by difficulty, topics, and lessons, with progress tracking.
I used Django as full-stack framework due to its database integration and built-in authentication system.



To build the platform, I broke the project into manageable tasks, created user stories, and prioritized features based on MVP. The MVP included user authentication, subject selection, difficulty assessment, and a dashboard listing the topics. Afterwards, I selected and integrated a large language model (LLM), and created content for lessons and topics.
On the backend, I created the database models using Django and migrated them. Thanks to Django`s admin interface, it was straightforward to manage the data and ensure it was being saved correctly in the database. Once the core features were in place, I focused on refining the prompts to improve content accuracy, validating outputs with Pydantic to ensure consistency and reliability.
To enhance performance and responsiveness, I implemented asynchronous behavior using Celery and Redis, which allowed tasks to run in the background and be managed efficiently via a task queue.
Finally, after ensuring functionality and performance, I refined the UI, making it more intuitive and user-friendly, and enhancing the overall user experience.
I faced several challenges during this project. Initially, obtaining valid and consistent responses from the LLM was problematic. Even after validating outputs with Pydantic, some formats and content were not appropriate. To address this, I spent time refining the prompts and adding a layer of formatting rules before saving responses to ensure consistency.
Another significant challenge was implementing asynchronous behavior to improve the user experience. Therefore, I integrated Celery with Redis for background processing, ensuring that content generation and other operations ran smoothly without blocking the platform.
Finally, deploying the application on Google Cloud Platform (GCP) presented additional complexity. With the support of my mentor Renish, we configured a virtual machine, containerized the application using Docker, and successfully deployed it in the cloud, ensuring reliable hosting.


The entire process took approximately three months. The platform is now fully functional and accessible to anyone, and I hope it will help users discover and learn new things every day.
This project was highly rewarding, as it allowed me to explore and strengthen my skills with the chosen tech stack, providing valuable real-world experience.
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, for example:
