Inspiration

The problem: By the time grades show a student is struggling, simple intervention is often too late. Generic content doesn't help.

Our question: What if an AI agent monitored student risk in real time and delivered a personalized recovery plan based on actual missed assignments and weak spots?

The name: EduForge – a workshop where students and teachers see risk, understand it, and act together.


What it does

Component What it shows/does
Left panel Teachers see all enrolled students + risk scores (attendance, grades, missed assignments)
Right panel AI agent (Gemini 2.5 Flash) chats directly with the student

When a student says "I'm struggling with algebra" – the agent:

  1. Fetches profile from MongoDB (missed assignments, grade history)
  2. Searches Elastic for relevant resources (videos, practice sets)
  3. Uses Arize to compute risk and trace reasoning
  4. Generates a structured, multi‑week recovery plan via Gemini

The teacher sees the entire conversation and can intervene anytime. The agent doesn't just answer – it builds an actionable plan.


How we built it

Architecture: 6 microservices on Google Cloud Run

Service Purpose
agent-orchestrator Main Gemini agent
student-service MongoDB MCP server
content-service Elastic MCP server
prediction-service Arize risk scoring
alert-service Dynatrace monitoring
ingestion-service Fivetran data pipeline

DevOps & tools:

  • GitLab CI/CD – auto‑build, test, deploy on every push
  • Google Secret Manager – all secrets
  • Frontend – dark‑mode dashboard (Stripe/Vercel aesthetic)

AI: Vertex AI Gemini 2.5 Flash with a custom system prompt for specific, actionable advice. Every chat triggers live DB queries + content search before Gemini responds.


Challenges we ran into

Challenge What happened Fix
CORS in production Frontend (Cloud Storage) couldn't call backend API Added CORS middleware to orchestrator
Gemini model versions gemini-1.5-pro deprecated → 404 errors Switched to gemini-2.5-flash (current stable)
Pipeline config Adding 7th service (frontend) broke CI/CD matrix Deployed frontend manually to Cloud Storage to hit deadline
Time pressure Started late, had to prioritise Working chat API → clean UI → partner integrations (placeholders for Arize, Dynatrace, Fivetran, but architecture is MCP‑ready)

Accomplishments we're proud of

  • Live Gemini chat – responds in <2 seconds with personalised advice
  • 6 microservices on Cloud Run, all passing health checks
  • Premium UI – feels like a professional tool, not a student project
  • Full CI/CD pipeline – redeploys on every git push
  • 6 partner integrations – MongoDB, Elastic, GitLab, Arize, Dynatrace, Fivetran (MCP URLs configured)

What we learned

Lesson Why it matters
Cloud Run's PORT must match 0.0.0.0:8080 Otherwise container fails to start
Gemini model names change frequently Always check Vertex AI model garden
CORS isn't optional for different origins Frontend + API need explicit headers
Static frontend on Cloud Storage is faster & more reliable Avoids container build fights for demos

What's next for EduForge

  • 🔑 Replace placeholder credentials for Arize, Dynatrace, Fivetran with real keys
  • 📧 Add real‑time risk alerts (email/Slack) when risk score crosses a threshold
  • 🔁 Build teacher feedback loop – agent learns which interventions work
  • 📚 Add more subjects (beyond maths and science)
  • 🌍 Open‑source the MCP server connectors for other edtech platforms

EduForge isn't a finished product – it's a forge. A place where students and teachers build understanding together, one conversation at a time.


Built with

Platforms & cloud:
Google Cloud Run, Vertex AI (Gemini 2.5 Flash), Google Secret Manager, Cloud Storage

Databases & search:
MongoDB Atlas, Elastic Cloud

Observability & monitoring:
Arize, Dynatrace

Data integration:
Fivetran

DevOps:
GitLab CI/CD

Languages & frontend:
Node.js, Express, HTML/CSS/JavaScript, Inter font, Tabler Icons

Built With

  • built-with-(plain-text)-platforms-&-cloud:-google-cloud-run
  • cloud-storage-databases-&-search:-mongodb-atlas
  • dynatrace-data-integration:-fivetran-devops:-gitlab-ci/cd-languages-&-frontend:-node.js
  • elastic-cloud-observability-&-monitoring:-arize
  • express.js
  • google-secret-manager
  • html/css/javascript
  • inter-font
  • tabler
  • vertex-ai-(gemini-2.5-flash)
Share this project:

Updates