AI-Powered Adaptive Learning Platform
NeuroForge is an intelligent learning platform that combines an AI Mentor powered by Gemma 4 E4B (running locally via Ollama β no cloud API keys needed), a Knowledge Graph (Neo4j), cognitive profiling, and structured learning pathways to deliver personalized education experiences.
NeuroForge is built as a microservices architecture with 7 backend services, an API gateway, a local LLM server (Ollama), and a React frontend β all orchestrated via Docker Compose.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Frontend (React) β
β Dashboard β AI Mentor Chat β Concepts β Paths β
ββββββββββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββ
β
ββββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββ
β API Gateway (:8000) β
β Unified /api/v1/* routing + CORS β
ββββ¬βββββββ¬βββββββ¬βββββββ¬βββββββ¬βββββββ¬βββββββ¬ββββββββββββββββ
β β β β β β β
βΌ βΌ βΌ βΌ βΌ βΌ βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
βUser ββKnow- ββAI ββCogni-ββCont- ββLearn-ββ Neo4jβ
βSvc ββledge ββMentorββtive ββent ββing ββ Seed β
β:8001 ββGraph ββSvc ββProf. ββDeliv.ββPath ββRunnerβ
β ββ:8002 ββ:8003 ββ:8004 ββ:8005 ββ:8006 ββ β
ββββ¬ββββββββ¬ββββββββ¬ββββββββββββββββββββββββ¬ββββββββ¬ββββ
β β β β β
βΌ βΌ βΌ βΌ βΌ
ββββββββββββββββββββββββββββββ ββββββββββββββββ
βPostgrββNeo4j ββ Ollama β βPostgrββNeo4j β
β SQL ββ ββ Gemma 4 E4Bβ β SQL ββ β
ββββββββββββββββββββββββββββββ ββββββββββββββββ
| Service | Port | Description |
|---|---|---|
| API Gateway | 8000 | Unified entry point, routes to all services |
| User Service | 8001 | Registration, JWT auth, profile management |
| Knowledge Graph Service | 8002 | Concepts, skills, modules via Neo4j |
| AI Mentor Service | 8003 | LLM-powered tutoring (Gemma 4 E4B + KG context) |
| Cognitive Profiling Service | 8004 | Interaction logging, mock heatmaps |
| Content Delivery Service | 8005 | Learning module content (mock CDN) |
| Learning Pathway Service | 8006 | Path management, enrollment, progress |
| Ollama | 11434 | Local LLM server running Gemma 4 E4B |
| Frontend | 3000 | React SPA with dashboard, chat, browser |
The AI Mentor runs entirely locally using Google's Gemma 4 E4B model served by Ollama. No cloud API keys or external services required.
| Property | Value |
|---|---|
| Model | Gemma 4 E4B (gemma4:e4b) |
| Parameters | 4.5B effective (8B with embeddings) |
| Context Window | 128K tokens |
| Download Size | ~9 GB |
| Runtime | Ollama (CPU or GPU) |
GPU acceleration: Uncomment the
deploy.resourcesblock under theollamaservice indocker-compose.ymlif you have an NVIDIA GPU withnvidia-container-toolkitinstalled. The model runs on CPU by default β just slower.
- Docker & Docker Compose
- ~12 GB free disk space (for model download + containers)
- 16 GB+ RAM recommended
git clone https://github.com/BathSalt-2/NeuroForge-.git
cd NeuroForge-
cp .env.example .envNo API keys to configure β everything runs locally!
docker compose up --buildThis will:
- Start Neo4j, PostgreSQL, and Ollama
- Auto-pull the Gemma 4 E4B model into Ollama (~9 GB first run)
- Seed the Knowledge Graph with 8 concepts, 4 skills, 6 modules, and 40+ relationships
- Seed a demo user and learning path in PostgreSQL
- Start all 7 backend services + API Gateway
- Start the React frontend
β³ First run takes longer due to the ~9 GB model download. Subsequent starts are fast since the model is cached in the
ollama_datavolume.
| URL | What |
|---|---|
| http://localhost:3000 | Frontend UI |
| http://localhost:8000 | API Gateway |
| http://localhost:8000/docs | Gateway API docs (Swagger) |
| http://localhost:7474 | Neo4j Browser (neo4j / neuroforge_secret) |
| http://localhost:11434 | Ollama API |
- Dashboard β See stats, quick actions, and your learning profile
- AI Mentor β Ask "What is machine learning?" or "Explain neural networks"
- Concepts β Browse the knowledge graph, see prerequisites and related concepts
- Learning Paths β Enroll in "AI Foundations", complete modules, track progress
All endpoints are accessible through the API Gateway at http://localhost:8000/api/v1/.
POST /api/v1/users/register β Register a new user
POST /api/v1/users/login β Login, get JWT token
GET /api/v1/users/{user_id} β Get user profile
PUT /api/v1/users/{user_id} β Update profile
GET /api/v1/concepts β List concepts (filter by domain, difficulty)
GET /api/v1/concepts/{id} β Get concept details
GET /api/v1/concepts/{id}/prerequisites β Get prerequisites
GET /api/v1/concepts/{id}/related β Get related concepts
GET /api/v1/concepts/{id}/modules β Get teaching modules
GET /api/v1/skills β List skills
GET /api/v1/modules β List content modules
POST /api/v1/mentor/query β Send a question to the AI Mentor (Gemma 4 E4B)
GET /api/v1/mentor/history/{id} β Get conversation history
GET /api/v1/paths β List learning paths
GET /api/v1/paths/{path_id} β Get path details
POST /api/v1/users/{uid}/paths/{pid}/enroll β Enroll in a path
PUT /api/v1/users/{uid}/paths/{pid}/progress β Update progress
GET /api/v1/users/{uid}/paths/{pid}/enrollment β Get enrollment status
POST /api/v1/profiling/interactions β Log interaction event
GET /api/v1/profiling/users/{id}/summary β Get cognitive profile
GET /api/v1/profiling/users/{id}/heatmap β Get behavioral heatmap
GET /api/v1/content/{module_id} β Get module content (HTML, quiz data)
GET /api/v1/content β List all available content
NeuroForge-/
βββ docker-compose.yml # Full orchestration (incl. Ollama)
βββ .env.example # Environment template (no API keys)
βββ .gitignore
βββ frontend/ # React SPA
β βββ Dockerfile
β βββ package.json
β βββ public/index.html
β βββ src/
β βββ App.js # Router + layout
β βββ App.css # Global dark theme
β βββ pages/
β βββ Dashboard.js # Stats, actions, profile
β βββ MentorChat.js # AI chat with personas (Gemma 4 E4B)
β βββ ConceptBrowser.js # KG explorer
β βββ LearningPath.js # Path enrollment + progress
βββ services/
β βββ api_gateway/ # Unified API proxy
β βββ user_service/ # Auth + profiles (PostgreSQL)
β βββ knowledge_graph_service/ # Concepts, skills (Neo4j)
β βββ ai_mentor_service/ # Gemma 4 E4B + KG integration (Ollama)
β βββ cognitive_profiling_service/# Interaction logging (mock)
β βββ content_delivery_service/ # Module content (mock)
β βββ learning_pathway_service/ # Paths + progress (PostgreSQL)
βββ neo4j/seed/ # Graph seed script
β βββ Dockerfile
β βββ seed.py # 8 concepts, 4 skills, 6 modules, 40+ rels
βββ docs/ # Design documentation
βββ neuroforge_architecture.md
βββ neuroforge_api_design.md
βββ neuroforge_poc_definition.md
βββ neuroforge_neo4j_datamodel.md
βββ neuroforge_ai_mentor_scaffolding.md
βββ neuroforge_cognitive_profiling_design.md
βββ neuroforge_blockchain_credentialing_design.md
βββ neuroforge_security_privacy_framework.md
- β Full microservices architecture with Docker Compose
- β Local LLM β Gemma 4 E4B via Ollama (no cloud API keys)
- β Neo4j Knowledge Graph with 8 concepts, 4 skills, 6 modules, 40+ relationships
- β AI Mentor with KG context injection and 4 personas (Socratic, Coach, Expert, Adaptive)
- β User registration/auth with JWT
- β Learning pathway enrollment and progress tracking
- β Cognitive profiling interaction logging with mock heatmaps
- β React frontend with dark theme UI (Dashboard, Chat, Concept Browser, Paths)
- β API Gateway with unified routing
- π² Blockchain credentialing (Polygon PoS, ERC-721 NFT certificates)
- π² Real PyTorch models for cognitive profiling and behavioral heatmapping
- π² Vector database (ChromaDB/Weaviate) for AI Mentor long-term memory
- π² Content CDN integration and rich media delivery
- π² Real-time WebSocket support for live tutoring sessions
- π² RBAC with granular permissions
- π² GDPR/FERPA compliance module
- π² Assessment engine with adaptive question difficulty
- π² Production deployment (Kubernetes, CI/CD, monitoring)
- π² Fine-tune Gemma on domain-specific educational content
See LICENSE for details.