AI-Powered Learning Platform
Preserve Critical Thinking
An AI-powered learning platform that helps anyone think critically through complex problems using Socratic questioning. Integrated with Canvas LMS and multiple MCP servers for personalized assistance using course materials as RAG context.
canvas-mcp-cheatcode/
βββ backend/ # Node.js + Express + LangGraph + NVIDIA NIM
β βββ src/
β β βββ api/ # REST API server
β β βββ mcp/ # MCP server management
β β βββ tools/ # AI tools (Canvas, assignments, etc.)
β β βββ ...
β βββ package.json
β βββ README.md
β
βββ frontend/ # React + Vite (Lovable generated)
β βββ src/
β βββ package.json
β βββ README.md (To be added after Lovable build)
β
βββ package.json # Root monorepo scripts
βββ README.md # This file
- Node.js 18+
- npm or yarn
- NVIDIA API Key (Get one here)
- Canvas API Token (from your Canvas account)
git clone https://github.com/Brian-Two/nvidia-hacks.git
cd nvidia-hacksnpm run install:allcd backend
cp .env.example .env
# Edit .env and add your API keys:
# - NV_API_KEY (NVIDIA)
# - CANVAS_API_TOKEN (Canvas)# From root directory
npm run devThis runs:
- Backend: http://localhost:3001
- Frontend: http://localhost:5173
Technology Stack:
- Node.js + Express
- LangGraph (AI workflow)
- NVIDIA NIM (Llama 3.3 Nemotron)
- Canvas MCP Integration
- Multi-MCP Server Support
Features:
- β Socratic AI tutoring
- β Canvas LMS integration
- β Multiple MCP servers (GitHub, Google Drive, Notion, Slack)
- β RAG-powered assignment help
- β Streaming chat responses
- β Course material access
Documentation:
Quick Commands:
cd backend
npm run dev # Start with auto-reload
npm start # Production mode
npm run chat # CLI test modeTechnology Stack:
- React + TypeScript
- Vite
- Tailwind CSS
- Dark theme with emerald green + purple accents
Features:
- β Canvas connection onboarding
- β Assignment dashboard
- β AI chat workbench
- β MCP server management
- β Modern, sleek UI
Setup (After Lovable Build):
cd frontend
npm install
# Create .env file:
echo "VITE_API_URL=http://localhost:3001" > .env
npm run devDesign System:
- Background:
#0F1419(very dark) - Cards:
#1C1F26 - Primary:
#10B981(emerald green) - Accent:
#A855F7(purple) - Font: Inter
supports multiple MCP (Model Context Protocol) servers:
| Service | Type | Description |
|---|---|---|
| Canvas | canvas |
Learning Management System |
| GitHub | github |
Code repositories |
| Google Drive | google_drive |
Cloud storage & docs |
| Notion | notion |
Notes & knowledge base |
| Slack | slack |
Team communication |
| Custom | custom |
Any MCP-compatible server |
Users can connect multiple servers and the AI will automatically use them as tools.
- Backend README - Setup and usage
- API Documentation - Complete API reference
- MCP API - MCP server management
- Canvas Integration - Canvas details
- Frontend Integration - How to connect UI
- Quick Start - Get running fast
- Future Vision - Roadmap
- Lovable Prompt - UI build specifications
- Frontend README (after Lovable build)
Option 1: Root Scripts (Recommended)
# From nvidia-hacks/ directory
npm run dev # Run both servers
npm run dev:backend # Backend only
npm run dev:frontend # Frontend only
npm run install:all # Install all dependenciesOption 2: Separate Terminals
# Terminal 1 - Backend
cd backend
npm run dev
# Terminal 2 - Frontend
cd frontend
npm run devBackend Changes:
- Edit files in
backend/src/ - Server auto-reloads (using
--watch) - Test with
curlor Postman
Frontend Changes:
- Edit files in
frontend/src/ - Vite hot-reloads automatically
- See changes instantly in browser
# Health check
curl http://localhost:3001/health
# List assignments
curl http://localhost:3001/api/assignments
# Chat with AI
curl -X POST http://localhost:3001/api/chat \
-H "Content-Type: application/json" \
-d '{"message": "Explain entropy"}'
# List MCP servers
curl http://localhost:3001/api/mcp/servers- Open http://localhost:5173
- Connect Canvas account
- View assignments
- Chat with ASTAR
Environment Variables:
NODE_ENV=production
PORT=3001
NV_API_KEY=your_nvidia_key
CANVAS_API_TOKEN=your_canvas_token
FRONTEND_URL=https://your-frontend-domain.comDeploy Options:
- Railway
- Render
- Fly.io
- AWS/GCP/Azure
- Docker container
Environment Variables:
VITE_API_URL=https://your-backend-domain.comDeploy Options:
- Vercel
- Netlify
- Cloudflare Pages
- AWS Amplify
- AI asks questions instead of giving answers
- Guides critical thinking
- Helps understand fundamentals
- Active recall and elaboration
- Direct access to courses and assignments
- Pull course materials for context
- Track due dates and priorities
- Submission status
- Connect GitHub for code help
- Use Google Drive for research materials
- Access Notion notes
- Reference Slack discussions
- Custom integrations
- Uses actual course materials
- Grounds responses in what you've learned
- Cites sources from syllabus/lectures
- Prevents hallucination
- Dark theme optimized for focus
- ChatGPT-inspired chat interface
- Card-based assignment view
- Responsive design
- Runtime: Node.js 18+
- Framework: Express.js
- AI: LangGraph + NVIDIA NIM
- LLM: Llama 3.3 Nemotron 49B
- MCP: Canvas, GitHub, Google Drive, Notion, Slack
- Language: JavaScript (ES Modules)
- Framework: React 18
- Build Tool: Vite
- Styling: Tailwind CSS
- Language: TypeScript
- UI Components: Custom + shadcn/ui
- Active Recall: Retrieve information from memory
- Elaboration: Connect new knowledge to existing
- Interleaving: Mix different topics for deeper learning
- Spaced Repetition: Review at optimal intervals
- Metacognition: Think about your thinking
- Socratic Method: Questions lead to discovery
The AI never gives direct answers. It guides you to discover them yourself.
This project is open source! Contributions welcome.
- New MCP server integrations
- Enhanced RAG capabilities
- Study plan generation
- Mobile apps
- Additional AI models
- UI/UX improvements
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
- API Keys: Stored server-side, never exposed to frontend
- Canvas Data: Stays local, not sent to third parties
- User Privacy: No data collection or tracking
- Open Source: Full transparency of code
MIT License - See LICENSE file
- GitHub Issues: Report bugs or request features
- Documentation: See docs in
/backend/directory - API Status: Check
/healthendpoint
- Canvas integration
- Basic chat interface
- MCP server management
- Dark theme UI
- Study plan generation
- Spaced repetition system
- Progress tracking
- Mobile responsiveness
- Vector database RAG
- Multi-user support
- Study groups
- Instructor dashboard
See FUTURE_VISION.md for complete roadmap.
Built with:
- NVIDIA NIM - LLM inference
- LangGraph - AI workflow orchestration
- Canvas LMS - Learning management integration
- Lovable - Frontend development
- Repository: https://github.com/Brian-Two/nvidia-hacks
- Issues: https://github.com/Brian-Two/nvidia-hacks/issues
Made with β€οΈ to bring back critical thinking in learning