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
gcloudCLI within a customgoogle/cloud-sdk:slimDocker image, granting target IAM roles (run.admin,cloudbuild.builds.editor), and overriding PEP 668 constraints usingPIP_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_stateensured 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
Log in or sign up for Devpost to join the conversation.