Madrassti: AI-Powered Moroccan Education
💡 Inspiration
The inspiration for Madrassti comes from the unique bilingual landscape of the Moroccan education system. Teachers in Morocco often juggle two languages (Arabic and French) and heavy administrative workloads. We wanted to build a tool that doesn't just "digitize" paper but uses Generative AI to solve the actual bottleneck: the hours spent creating quality, bilingual content and grading assessments manually.
🚀 What it does
Madrassti is an end-to-end LMS (Learning Management System) that:
- Generates Complete Courses: Teachers can generate a full course curriculum, interactive slides, and quizzes in seconds using simple prompts in Arabic (MSA) or French.
- Empowers Teachers: Provides a dashboard with real-time analytics, student roster management (Excel-driven), and detailed submission tracking.
- Protects Content: Every course is watermarked with the student's name and timestamp, with text-selection and right-click disabled to protect teacher IP.
- Engages Students: Offers a high-end study experience with interactive quizzes, instant AI-driven grading, and beautiful visual slides.
🛠 How we built it
We utilized a modern, robust tech stack:
- Frontend: Built with React and Vite, using Tailwind CSS for a premium "glassmorphism" aesthetic. We implemented custom i18n logic to support both LTR (French) and RTL (Arabic) layouts seamlessly.
- Backend: A Django REST Framework API manages the business logic, student analytics, and authentication.
- AI Engine: Integrated Google Gemini 2.0 Flash for structured content generation, with Featherless.ai as a fallback layer.
- Infrastructure: Fully containerized using Docker and Docker Compose for consistent deployment across any environment.
🚧 Challenges we ran into
- Rate Limits and Stability: Managing AI quota limits (429 errors) required us to implement a resilient fallback strategy between Gemini models and third-party providers.
- Bilingual RTL Layouts: Supporting Arabic Right-to-Left (RTL) alongside French LTR in a single dashboard required meticulous CSS engineering to ensure icons, text, and spacing mirrored correctly.
- Data Consistency: Building an AbstractBaseUser system from scratch led to some challenges with standard Django fields (like
date_joined), which we resolved by extending the model to support high-fidelity student tracking.
🏆 Accomplishments that we're proud of
- The AI Content Pipeline: Achieving a system where the AI consistently returns valid, high-quality JSON that renders directly into pages, slides, and quizzes without teacher intervention.
- Comprehensive Analytics: Building a system that doesn't just show "passed/failed" but lets teachers "Inspect" every single question a student missed to identify learning gaps.
- Security & Protection: Implementing a "walled garden" student experience that feels open for learning but closed to piracy.
📖 What we learned
- Prompt Engineering: We learned how to constrain AI models to return structured JSON data reliably using schema-based prompting.
- Full-Stack Orchestration: Balancing background AI tasks with a responsive frontend taught us a lot about asynchronous user experiences.
- Bilingual i18n: We deepened our understanding of building "Arabic-first" applications while maintaining a top-tier French experience, ensuring that RTL support is a core feature rather than an afterthought.
🔮 What's next for Madrassti
- Mobile App: Developing a Flutter or React Native app for offline study.
- Real-time Notifications: Notify students via WhatsApp or SMS when a new course is published.
- Teacher Collaboration: A "Marketplace" where Moroccan teachers can share or collaborate on their AI-generated course templates.
- AI Voice: Transforming course text into AI-generated audio for students with visual impairments or for auditory learning.
Log in or sign up for Devpost to join the conversation.