Technical Documentation
Document 07 — Development Roadmap

Claude Code Updates

Dev Team March 2026 Grio AI Education Platform

Claude Code Updates

GRIO Platform Development Roadmap & Implementation Plan

Project context: GRIO is an AI-powered education platform for East/Southern African schools (Uganda, Kenya, Zambia). A proof-of-concept frontend was built with bolt.new (Next.js 16) and developers started a Django backend. Six technical documents describe the target architecture: a 6-layer system with RAG pipeline, real-time classrooms, 5 learning modes, Redis/Celery, Qdrant vector DB, MinIO storage, K3s orchestration, and monitoring.

Current state: Working but incomplete — 60+ API endpoints, 19 models, 4 learning modes, JWT auth, 4 role portals. Missing: RAG (AI calls go directly to OpenAI), WebSocket, Redis/Celery, tests, rate limiting, API versioning, monitoring, offline support.

Decision: Expand existing repos (not rebuild). The existing code is ~80% aligned in data model and covers all role portals. Rebuilding would lose months of work.


Phase 1: Foundation

Goal: Production infrastructure without breaking existing functionality.

1.1 API Versioning Small

1.2 Test Infrastructure Medium

Backend

Frontend

1.3 Redis + Celery Medium

1.4 Rate Limiting + Pagination Small

1.5 Django App Reorganization Small

Create 3 new app skeletons (empty, receive code in later phases):

Register in settings.py INSTALLED_APPS

1.6 New Models Medium

Add to ai_engine/models.py:

AIContextRules — hierarchical AI behavior constraints (topic > class > subject > global)

PracticeAttempt — individual question attempt for mastery tracking

Model modifications


Phase 2: Core AI

Goal: RAG-anchored AI pipeline. Strict Teach mode. New Explore + Practice modes.

2.1 RAG Pipeline + Qdrant Large

Create grio-api/learning/rag/ package:

Create management command: learning/management/commands/index_curriculum.py

Add Qdrant to docker-compose.yml (port 6333)

Refactor ai_engine/services.py

2.2 Strict Teach Mode Medium

Non-negotiable rule #5: Classroom always starts in Teach mode, never chat.

Create grio-api/learning/teach_engine.py:

Add endpoints: POST /api/v1/ai/teach/advance/, GET /api/v1/ai/teach/state/{session_id}/

Frontend: components/modes/TeachMode.tsx

2.3 Explore Mode Medium

Create grio-api/learning/explore_engine.py — student Q&A within topic, RAG-scoped. Off-topic questions get polite redirects.

Add endpoint: POST /api/v1/ai/explore/ask/

Frontend: components/modes/ExploreMode.tsx

2.4 Practice Mode Medium

Create grio-api/learning/practice_engine.py:

Endpoints: POST .../practice/next-question/, POST .../practice/submit-answer/, GET .../practice/mastery/{topic_id}/

Frontend: components/modes/PracticeMode.tsx

2.5 Mode System Update Small


Phase 3: Real-time & Classroom

Goal: WebSocket for classroom sync, teacher control, server-side sessions, media storage.

3.1 Django Channels + WebSocket Large

Create ai_engine/consumers.pyClassroomConsumer:

Create ai_engine/routing.pyws/classroom/<session_id>/

Switch from Gunicorn to Daphne in Dockerfile

3.2 Teacher Classroom Control Medium

Add REST endpoints for teacher actions:

These endpoints also broadcast via WebSocket.

3.3 Server-Side Session State Medium

Create ai_engine/session_manager.py:

Remove localStorage session storage from frontend AppContext.tsx

3.4 MinIO Media Storage Medium


Phase 4: Production Hardening

Goal: Monitoring, security, CI/CD, edge/offline preparation.

4.1 Monitoring Medium

4.2 Security Hardening Medium

Create grio_api/middleware/security.py:

4.3 CI/CD Pipeline Medium

4.4 Edge/Offline Preparation Large

4.5 Exam Prep Mode Stub Small


Critical Files (Most Modified Across Phases)

File Phases Role
grio-api/ai_engine/services.py1, 2Current AI service → RAG refactor
grio-api/ai_engine/models.py1, 2, 4New models + field additions
grio-api/grio_api/settings.py1, 2, 3, 4All infrastructure config
grio-api/docker-compose.yml1, 2, 3, 4Redis, Qdrant, MinIO, Celery, monitoring
grio/components/AiLessonEngine.tsx2Decompose into per-mode components
grio/services/api.ts1, 2, 3Versioning, pagination, WebSocket, offline
grio/lib/types.ts2, 3New modes, WebSocket events
grio/app/classroom/page.tsx2, 3New modes, WebSocket, teacher controls

Migration Strategy


Verification Criteria

Phase 1: pytest passes, all existing endpoints return same responses, Redis ping succeeds, Celery worker starts.

Phase 2: Index curriculum → query Qdrant returns chunks. Teach mode steps advance correctly. Explore/Practice return RAG-grounded responses. Feature flag toggles between legacy and RAG AI.

Phase 3: WebSocket connects, teacher advance broadcasts to student. Session survives page refresh (Redis). Files upload to MinIO.

Phase 4: /metrics endpoint returns Prometheus data. Prompt injection attempts blocked. CI pipeline green. Offline pack generates valid JSON.


Document Control

VersionDateAuthorChange
1.0Mar 24, 2026Claude CodeInitial development roadmap and implementation plan

This document outlines the phased implementation plan for expanding the existing GRIO codebase toward the full architecture described in documents 01–06.