Projects / kilele-archade
Kilele Archade
Kilele Archade is a CBC-focused learning platform that combines curriculum-aware AI tutoring with document-based learning, quizzes, assessments, dashboards for students, teachers and parents, and PDF learning resources.
Problem
Learners revise from scattered resources with no feedback loop; teachers manage content manually; parents have little visibility. Generic chat assistants do not understand the CBC structure or a school's own materials.Solution
A platform where learning documents are ingested, chunked and embedded into a vector store. When a student asks a question, the system retrieves the most relevant curriculum context and answers against it — grounded, cited and CBC-aware — instead of answering from a model's raw memory.My role
- Designed the overall system architecture and data model.
- Built the RAG pipeline: document ingestion, chunking, embedding generation and pgvector retrieval.
- Implemented the AI provider layer with fallback across providers for reliability.
- Developed the React/TypeScript frontend and Supabase backend: auth, roles, content management.
- Integrated Cloudinary for media storage and delivery.
Key features
- AI tutor grounded in curriculum documents (RAG)
- CBC-aware learning paths and competences
- PDF learning resources with document-based Q&A
- Smart revision and practice quizzes / assessments
- Student dashboards with progress tracking
- Teacher content management
- Parent visibility features
- Live learning functionality
Architecture
kilele-archade / system-overview
- Student / Teacher / Parent
- React + TypeScript frontend
- Supabase API & Auth (row-level security)
- Application logic & role checks
- Document retrieval — pgvector similarity search
- Relevant curriculum context assembled
- LLM provider with fallback chain
- Grounded response + citations
Technology stack
PostgreSQL with pgvector doubles as the relational store and the vector index, keeping the platform on one database under Supabase's auth and storage model.
Challenges
- AI answers drifting away from the actual curriculum when context retrieval is weak.
- Provider outages or rate limits taking the tutor offline.
- Keeping document retrieval fast as the resource library grows.
- Designing one data model that serves students, teachers and parents with very different permissions.
Solutions
- Tuned chunking and embedding strategy per document type and re-ranked retrieved passages before prompting, so answers stay grounded in curriculum material.
- Built a provider fallback layer: if the primary LLM fails or is throttled, the request transparently moves to a secondary provider (including Cloudflare AI).
- Used pgvector indexes and precomputed embeddings at ingestion time, keeping queries to nearest-neighbour lookups rather than recomputation.
- Modelled roles around Supabase row-level security so each actor only ever queries the rows they own or are assigned.