This is a submission for the Heroku "Back to School" AI Challenge
What I Built
I built Teacher Assistant, a web application that helps educators generate structured lesson plans in minutes. Teachers often spend significant time every day designing lesson plans, which can be repetitive and time-consuming. This application leverages AI to streamline the process: educators simply upload the document they intend to teach (e.g., a textbook chapter, reading material, or notes), and the system generates a context-aware lesson plan tailored to the grade level, topic, and duration specified by the teacher.
The generated lesson plan includes:
- Step-by-step teaching activities
- Required materials
- Timed sections for better pacing
- Formative quiz questions with answers
- Differentiation for two levels (support & extension)
This helps teachers save time and focus more on meaningful student interaction rather than paperwork.
Category
Educator Empowerment
Demo
Checkout the project here: Teacher Assistant
Flow of the application:
- Teacher uploads a PDF document of the lesson content.
- The system extracts text and creates vector embeddings, stored in a pgvector-powered database.
- Teacher specifies topic, grade and duration.
- With one click, a tailored lesson plan is generated, aligned with the uploaded material.
Screenshots
Screenshots showcasing the Teacher Assistant UI, document upload workflow, and generated lesson plans.
How I Used Heroku AI
The application integrates multiple Heroku AI features:
1. Heroku Managed Inference and Agents
- Embeddings Generation: Used Cohere embeddings API to convert uploaded document text into embeddings.
- Lesson Plan Generation: Used Claude Sonnet 4 to generate structured lesson plans based on both teacher input (grade, topic, duration) and retrieved contextual embeddings.
2. pgvector for Heroku Postgres
- All embeddings are stored and queried in a pgvector-enabled Postgres database.
- This ensures semantic search capabilities to retrieve the most relevant content from the uploaded material during lesson plan generation.
Together, these components enable a seamless multi-agent workflow: one agent handles document embedding and storage, while another focuses on contextual lesson plan generation.
Technical Implementation
- Frontend: React + TypeScript, with Tailwind CSS for styling.
- Backend: Express + TypeScript
-
AI Workflow:
- On document upload, text is extracted and embeddings are generated via Managed Inference (Cohere).
- Embeddings are stored in Postgres with pgvector extension for efficient semantic retrieval.
- When the teacher requests a lesson plan, embeddings are queried to extract the most relevant context, and an agent (Claude Sonnet 4) generates the structured plan.
-
Multi-Agent Architecture:
- Document Agent: Handles embedding creation and storage.
- Planning Agent: Generates the lesson plan using retrieved context and teacher inputs.
Database: Heroku Postgres with pgvector.
Challenges Solved
Efficient context retrieval: Implemented semantic search over lesson documents using pgvector to ensure lesson plans are accurate and aligned with actual teaching material.
Multi-agent coordination: Designed a workflow where one agent enriches the knowledge base (embeddings) and another produces actionable lesson plans.
User experience: Created a minimal, intuitive interface where teachers can generate professional-grade lesson plans with a single click.
Results
I have pitched and demoed Teacher Assistant to few educators. The response was overwhelmingly positive, several teachers expressed strong interest in adopting it immediately, finding it a valuable tool to save time and improve teaching quality. The application demonstrates how AI can meaningfully empower educators while improving classroom experiences.
Top comments (6)
A very splendid work.
Thank you.
I think you are the winner for teacher category for sure.
That means a lot coming from you. I’m just excited to see how it all turns out.😅
what do you think of mine:
dev.to/prime_299792/study-mate-ai-...
be honest, can I really win in student or creative category? 😅
Thanks for sharing! I’ll definitely check it out. I’m sure your project has a lot of great aspects, but honestly, it’s all up to the judges. Best of luck with it!