Educrate Project Story

Inspiration

The inspiration for Educrate came from the growing need for personalized learning in an increasingly diverse educational landscape. As we observed the limitations of traditional online courses, it became evident that a one-size-fits-all approach was inadequate. We envisioned a platform that could leverage advanced large language models to create tailored and personalized educational experiences, making learning more engaging and effective for users of all backgrounds.

What it does

Educrate is a web application that generates personalized courses similar to platforms like Coursera and edX. By utilizing large language models, Educrate tailors course content to meet individual user requirements, allowing learners to create customized educational paths. Whether for personal development, professional training, or academic enrichment, Educrate transforms learning into a dynamic and user-centered experience.

How we built it

We built Educrate using a robust technology stack that includes:

  • Node.js and Next.js for seamless frontend and backend integration.
  • Neon and Drizzle as the ORM for efficient database interactions with PostgreSQL. To host database on cloud
  • Firebase for NoSQL data management.
  • Gemini for natural language processing capabilities to generate course content.
  • YouTube API to integrate multimedia resources into courses.
  • Tailwind CSS and Shadcn/UI for responsive and visually appealing design.
  • Clerk Authentication for secure user authentication and management.
  • Axios for handling API requests.
  • JavaScript for core application logic.

Challenges we ran into

During the development of Educrate, we encountered several challenges:

  1. Merge Conflicts: Managing code stashing became tricky when we ran into merge conflicts across different branches. We structured our workflow with a main branch, a dev branch, and individual branches for each team member, but coordinating changes still required careful attention.
  2. Handling SQL and NoSQL Databases: Integrating both a SQL (PostgreSQL) and a NoSQL (Firebase) database added complexity, especially when ensuring smooth data flow between them.
  3. API Integration: We faced issues with YouTube API CORS errors being blocked by the client, along with difficulties inserting data into PostgreSQL via the Gemini API and managing image storage in Firebase.
  4. Chat Prompt Template: Crafting effective chat prompts for the Gemini LLM to generate meaningful course content required deep thought and iteration to get responses that aligned with our goals.

Accomplishments that we're proud of

We take pride in several accomplishments throughout the Educrate project:

  • Successfully creating a prototype that generates personalized courses based on user inputs.
  • Seamlessly integrating various technologies and APIs into a cohesive application.
  • Designing an intuitive user interface that enhances user experience and engagement.
  • Effectively managing the complexities of working with both a SQL and NoSQL database at the same time.

What we learned

Throughout this journey, we learned valuable lessons, including:

  • The importance of structuring version control properly to minimize merge conflicts, particularly when working in teams with multiple branches.
  • How to handle the intricacies of working with both SQL and NoSQL databases simultaneously, ensuring smooth interactions between them.
  • The nuances of working with APIs, from resolving YouTube API CORS errors to effectively utilizing the Gemini API for data insertion and prompt tuning.
  • The value of refining chat prompts for generating high-quality, relevant responses from language models like Gemini.

What's next for Educrate

Looking ahead, we plan to:

  • Expand Educrate's capabilities by incorporating more advanced features, such as adaptive learning pathways and analytics to track user progress.
  • Enhance the platform by integrating more educational resources and partnerships with content creators.
  • Conduct user testing and gather feedback to continually improve the experience.

Educrate is just the beginning of our mission to revolutionize personalized learning. We are excited about the future and the impact we can make in the education sector!

Built With

Share this project:

Updates