Inspiration

With the rise of LLM models most AI chatbots are great at answering question, just about anything. But they lack the basic feature of tracking learning experience of a person and delivering the right amount of content that can be consumed by the user's capability.

What it does

Teach Me is a learner platform that helps you master complex topics in a meaningful way. Upload your draft content for a specific subject, and Google Gemini AI will analyze it to provide personalized, curated content and custom quiz questions. Our AI chatbot, powered by Google Gemini, uses your quiz progress, notes, and simplified AI content to answer your questions thoughtfully, always aligning with your learning capability.

How we built it

This app was built with below tools:

  • UI: React, Typescript with Next.JS, Radix-UI, TailwindCSS (Following Atomic Design pattern for component organizing; focusing towards reusability),
  • Backend: Next.JS API routes.
  • Database: MongoDB.
  • AI Model: Gemini Flash 2.0 (Google AI studio).
  • CI/CD: GitLab with Google Cloud services (Compute Engine for Gitlab Runner, Cloud Run for Hosting Web Application). And,
  • Development Environment (preferred): VS-Code, Windows/Linux.

Gitlab Implementation

  • A note on how the TeachMe deployment works: We set up a main repository and follow the Architecture diagram. When code is pushed to the main branch, the .gitlab-ci.yml file triggers a GitLab CI/CD pipeline. A GitLab runner, running on a VM in Google Cloud's Compute Engine (E2, 2GB RAM; 30GB DISK), executes this pipeline. If the build and deployment are successful, the pipeline creates a Cloud Run service. This service is configured with a service account that has all the necessary permissions, bringing Teach Me to life as a running Cloud Run service.

  • Note: The Secrets were also configure to store at GitLab > Setting > Variables > New Variables. Thus, making the process more secure.

  • Use of AI: (Gemini Flash 2.0). Below are simplified AI rules for content generation:

    • Original File upload => (Simplified AI content, List of Topics based on upload content)
    • (Selected Topic + Notes) (+ Past Quizes; but not included for hackathon) => New Quizes
    • (List Of Topics + Notes + Question) => Dhrona's (ChatBot) Answer

Challenges we ran into

  • MONGO DB database architecture design is a biggest concern. Choosing between separate database-collections or having a single embedded NoSQL document-collection in a nested way (preferred this for simplicity).

Accomplishments that we're proud of

A full-fledged app completion by the end of hackathon. Gaining Familiarity with AI how it can be used to benefit in providing useful insights on data provided. First-time hands-on MongoDB and GitLab environment for project setup. Especially in getting GitLab runner and identifying resources needed to complete the setup from scratch is a fun task (but daunting at beginning of course).

What we learned

  • All most all, resolving above challenges in short time. making better use of hackathon. :)
  • Coming from Node.JS+React using Next.js was a leap
  • Having experience with AWS & Azure, Learning fresh start of Cloud Engine, Cloud Run, Mongo DB, GitLab boosted CI/CD DevOps Skill.
  • Learning How AI can be used to fix a real world problem efficiently and effectivly. Thus, The interface Backend and Frontend is more focused for interface, delegating & complementing task on what to do with the business data.

What's next for Teach Me

  • Would be great complete the feature, that were not intended for showing in the hackathon submission.
  • Performance Graph can be furnished more to gain better insights.
  • Having Code Clean up.
  • Improving Testable component code for CI/CD
Share this project:

Updates

Submission history