Inspiration
Every teacher I know spends more time preparing paperwork than teaching. A single lesson plan can branch into a dozen derivative documents: a version for struggling learners, one for advanced students, a parent email, a substitute packet, an IEP progress note, an accessible UDL copy, a translated version for multilingual families, and an assessment. The math is brutal
That is nearly 3 hours of administrative work for a single unit — time stolen from lesson delivery, student feedback, and rest. EduForge was built to collapse that toward zero.
The deeper inspiration came from conversations with elementary and middle-school teachers who described the "invisible tax of inclusion": every student with an IEP, every English Language Learner, every learner who reads two grade levels below — each one requires an individually adapted document. Differentiation is the right thing to do pedagogically, but the time cost makes it unsustainable without AI assistance.
What it does
EduForge is a web-based AI productivity platform for K–12 educators. A teacher pastes or uploads a lesson plan, selects which output types they need, and hits Generate. Within seconds, they receive:
| Output | Description |
|---|---|
| Differentiated Versions | Below / On / Above grade-level adaptations |
| UDL Accessible | Plain language, high-contrast, screen-reader friendly |
| Multilingual Translation | Translated via Google Cloud Translate (40+ languages) |
| Assessment | Auto-generated quiz aligned to lesson objectives |
| Parent Communication | Professional email home summarizing the week's learning |
| Substitute Packet | Self-contained packet a guest teacher can run independently |
| IEP Progress Note | Draft compliance note ready for a special-education teacher to review |
| Standards Alignment | Live web search mapping the lesson to curriculum standards |
Documents are saved to a personal cloud library. Teachers can listen to any document read aloud via Text-to-Speech, copy content, or download files as needed.
How we built it
EduForge follows a clean client → Edge Function → AI API architecture. We used React + Vite for a lightning-fast frontend, with Tailwind CSS and shadcn/ui for an accessible, professional interface.
The backend is powered by Supabase, providing authentication and a PostgreSQL database. We built several custom Edge Functions (Deno) to act as a secure gateway for AI services:
- Gemini 2.5 Flash for streaming LLM generations.
- Google Cloud Translation API for multilingual support.
- LemonFox TTS for high-quality audio narration.
- OCR.space for converting photographed lessons into text.
- Smart Search API for real-time standards alignment.
By using Server-Sent Events (SSE), we fire all generation tasks in parallel. The UI updates in real-time as words appear, ensuring teachers aren't stuck waiting for a loading spinner.
Challenges we ran into
- Parallel Stream Synchronization: Firing seven LLM calls at once initially caused race conditions where content would appear in the wrong UI tabs. We solved this by tagging every stream chunk with a unique task ID.
- OCR Noise: Photos of handwritten lesson plans are often messy. We had to tune our LLM prompts to "clean and infer" missing data from low-quality OCR text.
- SVG Font Rendering: Our custom typography (Ranade) wasn't available inside the SVG renderer. We had to restructure our logo wordmark into a single, unified text element to prevent kerning and overlap issues across different browsers.
- Cloud Migration: Transitioning from a
localStorageprototype to a full Supabase implementation required a complete rewrite of our state management to handle asynchronous data fetching while keeping the UX snappy.
Accomplishments that we're proud of
We are incredibly proud of building a fully functional, end-to-end cloud platform in such a short time.
- Zero-Wait UX: Our parallel streaming architecture means that even if a teacher generates seven documents at once, the total time taken is only as long as the longest single document.
- Unified Branding: We developed a professional visual identity, from the AI-generated book logo to the carefully selected typography, giving the tool an "educational-first" feel.
- Real-World Impact: If EduForge saves each teacher just 2 hours per week, in a school of 50 teachers, that returns 4,000 hours per year back to the classroom.
What we learned
- Prompt Engineering at Scale: We learned how to craft seven distinct system instructions that produce high-quality, specialized outputs from the same source material.
- Structural Security: We learned to use Supabase Row-Level Security (RLS) as a core design constraint, ensuring that teacher data is always isolated and secure.
- Inclusive Design: Building UDL-accessible outputs taught us that accessible design is simply better design for everyone—including tired teachers working late at night.
- Resilient APIs: We learned to build "graceful degradation" into our pipeline, ensuring the app stays usable even if one external service (like OCR) has low-quality input.
What's next for EduForge
The current version of EduForge is just the foundation. Our roadmap for the future includes:
- Rich Document Export: Adding one-click export to PDF and Google Docs with professional school formatting.
- Teacher Collaboration: Shared folders where grade-level teams can "forge" and share materials collectively.
- LMS Integration: Direct plugins for Canvas and Google Classroom to push generated materials straight to students.
- Specialized Subject Modules: Advanced AI tools specifically for science lab safety, math equation rendering, and music theory.
- Student Portal: A read-only interface where students can access their differentiated materials directly.
Built With
- authentication
- deno
- edge-functions
- eslint
- framer-motion
- gemini
- google-cloud-translation-api
- image-generation
- lemonfox-text-to-speech
- lucide-react
- ocr.space
- oogle-gemini-2.5-flash
- pillow-(python)
- pnpm
- postgresql-database
- postman
- python
- ranade-(fontshare)
- react-18
- react-hook-form
- react-router-v6
- shadcn/ui
- smart-search-api
- sonner
- space-grotesk
- sql-(postgresql)
- storage
- supabase
- tailwind-css
- tsx/jsx
- typescript
- vite
- zustand

Log in or sign up for Devpost to join the conversation.