Inspiration

As a father, I wanted to create an educational tool that augments what my kids learn in school by turning any topic into interactive, hands-on lessons. Secondarily, my wife and I needed a structured platform to master new subjects deeply without relying on piecemeal web searches. This inspired Multi-Agent Course Generator & Viewer, an end-to-end agentic workflow that converts high-level prompts into fully deployed, interactive learning portals.

What It Does

The platform automates curriculum design, content generation, and cloud provisioning through a multi-agent pipeline:

  • Guardrail Verification: Validates incoming subject requests against safety guardrails using Gemma 4 before initiation.

  • Ambient Workflow Experience: Composes a relaxing instrumental background track via Google Lyria 3 (lyria-3-clip-preview) that plays continuously while the agents assemble the modules.

  • Multi-Agent Orchestration: An Orchestrator Agent crafts a modular syllabus, while an Instructional Designer Agent writes detailed lesson content and interactive assessments, iteratively refining drafts based on automated peer reviews.

  • One-Click Cloud Deployment: Compiles generated content into a custom interactive app (rendered_app.py) complete with an embedded AI Socratic tutor leveraging Gemini 3.5, containerizes the app, and deploys it directly to Google Cloud Run.

Technologies & Data Sources Used

  • AI & Media Models: Google Gemini API (gemini-3.7-flash, `gemini-3.5-flash), Gemma 4 (guardrails), Google Lyria 3 (audio generation).

  • Frontend & Logic: Python, Streamlit, HTML5 audio embedding.

  • Cloud & Infrastructure: Google Cloud Run, Google Cloud Storage, Cloud Build, Artifact Registry, Docker (google/cloud-sdk:slim).

  • Data Sources: Real-time web search grounding enabled through Gemini, structured instruction templates (skill.md), and dynamic prompt synthesis. No external static datasets were required.

Findings & Engineering Learnings

  • Self-Healing JSON Pipelines: Synthesizing complex multi-part modules can occasionally cause LLM JSON formatting errors. Implementing an automated self-healing loop allowed the agent to inspect its own syntax errors and repair the structure on the fly without interrupting course generation.

  • Nested Containerized Deployment: Enabling a Cloud Run service to deploy another downstream Cloud Run service required packaging gcloud CLI within a custom google/cloud-sdk:slim Docker image, granting target IAM roles (run.admin, cloudbuild.builds.editor), and overriding PEP 668 constraints using PIP_BREAK_SYSTEM_PACKAGES=1.

  • State Persistence Across Reruns: Streamlit re-executes scripts top-to-bottom on state updates. Persisting the Lyria 3 audio base64 payload inside st.session_state ensured continuous playback without re-triggering composition on every generated module.

What's Next for Multi-Agent Course Generator & Viewer

  • Human-in-the-Loop Co-Creation: Enhance the frontend to allow users to interactively guide Agent 1 during syllabus design—adjusting topic depth, target difficulty, or module pacing before generating lesson content.

  • Learner Feedback & Socratic Tuning: Integrate user feedback loops within the interactive learning app to refine AI Socratic tutoring responses based on real-time learner comprehension.

  • Community Pilot Testing: Deploy the platform to family, friends, and early beta testers to gather actionable usability data across diverse age groups and subject domains.

  • Scalability & Commercialization: Optimize multi-tenant deployment pipelines on Google Cloud Run to launch the platform more broadly as a scalable educational service.

Built With

  • gemini-3.5-flash
  • gemini-3.7-flash
  • gemma-4-26b-a4b-it
  • google-cloud
  • google-cloud-run
  • google-genai
  • lyria3
  • python
  • streamlit
Share this project:

Updates

Submission history