Hackathon III: Reusable Intelligence and Cloud-Native Mastery
π Skills are the Product - This project demonstrates Skills-Driven Development with MCP Code Execution pattern.
An intelligent tutoring system powered by OpenAI agents that provides personalized Python programming education through conversation. Built entirely using reusable AI Skills that work across Claude Code, Goose, and OpenAI Codex.
EmberLearn demonstrates the complete Hackathon III tech stack:
| Layer | Technology | Status |
|---|---|---|
| Skills Library | 7+ MCP Code Execution Skills | β Complete |
| Frontend | Next.js 15 + Monaco Editor + Glass Morphism | β Complete |
| Backend | FastAPI + OpenAI Agents SDK + Dapr | β Complete |
| Infrastructure | Kubernetes + Kafka + Kong | β Configured |
| Documentation | Docusaurus + AGENTS.md | β Complete |
7 reusable Skills with MCP Code Execution pattern:
| Skill | Purpose | Token Efficiency |
|---|---|---|
agents-md-gen |
Generate AGENTS.md files | ~100 tokens |
kafka-k8s-setup |
Deploy Kafka on Kubernetes | ~100 tokens |
postgres-k8s-setup |
Deploy PostgreSQL on Kubernetes | ~100 tokens |
fastapi-dapr-agent |
Create FastAPI + Dapr + OpenAI Agent services | ~100 tokens |
mcp-code-execution |
Implement MCP with code execution pattern | ~100 tokens |
nextjs-k8s-deploy |
Deploy Next.js apps to Kubernetes | ~100 tokens |
docusaurus-deploy |
Deploy documentation sites | ~100 tokens |
Token Efficiency: 80-98% reduction vs direct MCP integration
- Triage Agent - Intelligently routes your questions to the best specialist
- Concepts Agent - Explains Python concepts with real-world analogies and code examples
- Code Review Agent - Analyzes code for correctness, PEP 8 compliance, and efficiency
- Debug Agent - Helps identify and fix errors with guided hints
- Exercise Agent - Generates coding challenges matched to your skill level
- Progress Agent - Tracks your mastery scores and learning streaks
- Real-time conversation with AI agents
- Quick action buttons for common queries
- Message history with beautiful animations
- Dark/light theme support (localStorage)
- Fully responsive design
- JWT-based authentication with RS256 signing
- Secure password hashing with bcrypt
- User registration and login
- Token refresh mechanism
- Mastery score calculation (exercise 40%, quizzes 30%, code quality 20%, consistency 10%)
- Completed exercises tracking
- Learning streaks
- Struggle detection (5 trigger types)
- Progress analytics
- 5-second timeout enforcement
- 50MB memory limit
- Network access blocked
- Filesystem access blocked
- Python standard library only (MVP)
- Python 3.11+
- Node.js 18+
- npm or pnpm
- (Optional) OpenAI API key
- (For K8s deployment) Minikube, Helm, kubectl
chmod +x setup.sh start.sh test-stack.sh
./setup.sh./start.shNavigate to http://localhost:3000 and start learning!
./test-stack.shβββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β SKILLS LIBRARY β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
β β SKILL.md β β scripts/ β β REFERENCE.mdβ β
β β (~100 tok) ββ β (0 tokens) ββ β (on-demand) β β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
β β
β Token Efficiency: 80-98% reduction vs direct MCP β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β EMBERLEARN APPLICATION β
β βββββββββββββββββββ ββββββββββββββββββββββββββββββββββββ
β β Frontend β β Backend ββ
β β (Next.js 15) β β βββββββββββ βββββββββββ ββ
β β + Monaco βββββΊβ β Triage β βConcepts β ββ
β β + Glass UI β β β Agent β β Agent β ββ
β βββββββββββββββββββ β βββββββββββ βββββββββββ ββ
β β βββββββββββ βββββββββββ ββ
β β β Debug β βExercise β ββ
β β β Agent β β Agent β ββ
β β βββββββββββ βββββββββββ ββ
β β βββββββββββ βββββββββββ ββ
β β βProgress β β Code β ββ
β β β Agent β β Review β ββ
β β βββββββββββ βββββββββββ ββ
β ββββββββββββββββββββββββββββββββββββ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β INFRASTRUCTURE (K8s) β
β βββββββββββ βββββββββββ βββββββββββ βββββββββββ β
β β Kafka β βPostgreSQLβ β Dapr β β Kong β β
β β (events)β β (data) β β (mesh) β β (gateway)β β
β βββββββββββ βββββββββββ βββββββββββ βββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
| Document | Description |
|---|---|
| docs/docs/skills-guide.md | Skills development guide |
| docs/docs/architecture.md | System architecture |
| docs/docs/api-reference.md | API documentation |
| docs/docs/evaluation.md | Hackathon evaluation criteria |
| AGENTS.md | Agent guidance for AI development |
| backend/README.md | Backend API documentation |
- Swagger UI: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc
| Layer | Technology |
|---|---|
| Frontend | Next.js 15+, Tailwind CSS, Shadcn/ui, Monaco Editor, Framer Motion |
| Backend | FastAPI 0.110+, SQLAlchemy async, Structlog, OpenAI Agents SDK |
| Database | PostgreSQL (prod) / SQLite (dev), Alembic migrations |
| Auth | JWT with HS256, bcrypt password hashing |
| Infrastructure | Kubernetes, Kafka, Dapr, Kong API Gateway |
Create backend/.env:
DEBUG=True
DATABASE_URL=sqlite:///./app.db
JWT_SECRET_KEY=your-secret-key-here
OPENAI_API_KEY=sk-your-api-key
CORS_ORIGINS=http://localhost:3000,http://localhost:3001Create frontend/.env.local:
NEXT_PUBLIC_API_URL=http://localhost:8000cd backend
# Format code
black app main.py
# Lint
ruff check .
# Type checking
mypy app main.py
# Tests (planned)
pytestcd frontend
# Format code
npm run format
# Lint
npm run lint
# Type check
npm run type-check
# Build
npm run buildcd backend
pytest tests/cd backend
pytest tests/integration/./test-stack.sh| Category | Endpoint | Description |
|---|---|---|
| Auth | POST /api/auth/register |
Register new user |
POST /api/auth/login |
Login user | |
GET /api/auth/me |
Get current user | |
| Agents | POST /api/chat |
Chat (auto-routes via triage) |
POST /api/triage |
Route query to agent | |
POST /api/concepts |
Concepts agent | |
POST /api/code_review |
Code review agent | |
POST /api/debug |
Debug agent | |
POST /api/exercise |
Exercise agent | |
POST /api/progress |
Progress agent | |
| System | GET /health |
Health check |
GET /docs |
Swagger UI |
| Issue | Solution |
|---|---|
| Backend won't start | Check port 8000: lsof -i :8000, kill process if needed |
| Frontend won't start | Clear node_modules: rm -rf frontend/node_modules && npm install |
| CORS errors | Check backend/.env CORS_ORIGINS and frontend/.env.local API_URL |
| OpenAI errors | Verify API key in backend/.env, agents work in demo mode without key |
EmberLearn/
βββ .claude/skills/ # π PRIMARY DELIVERABLE - Reusable Skills
β βββ agents-md-gen/ # Generate AGENTS.md files
β βββ kafka-k8s-setup/ # Deploy Kafka on K8s
β βββ postgres-k8s-setup/ # Deploy PostgreSQL on K8s
β βββ fastapi-dapr-agent/ # Create FastAPI + Dapr agents
β βββ mcp-code-execution/ # MCP Code Execution pattern
β βββ nextjs-k8s-deploy/ # Deploy Next.js to K8s
β βββ nextjs-production-gen/ # Generate Next.js apps
β βββ docusaurus-deploy/ # Deploy documentation
βββ backend/ # FastAPI backend
β βββ app/ # Core application
β βββ triage_agent/ # Query routing agent
β βββ concepts_agent/ # Python concepts agent
β βββ code_review_agent/ # Code analysis agent
β βββ debug_agent/ # Error debugging agent
β βββ exercise_agent/ # Exercise generation agent
β βββ progress_agent/ # Progress tracking agent
β βββ sandbox/ # Code execution sandbox
β βββ shared/ # Shared utilities
β βββ database/ # Database models & migrations
βββ frontend/ # Next.js 15 frontend
β βββ app/ # App Router pages
β βββ components/ # UI components
β βββ lib/ # Utilities & API client
βββ k8s/ # Kubernetes manifests
β βββ agents/ # Agent deployments
β βββ dapr/ # Dapr configurations
β βββ kong/ # API Gateway
β βββ frontend/ # Frontend deployment
βββ docs/ # Docusaurus documentation
β βββ docs/ # Documentation content
βββ history/prompts/ # Prompt History Records
βββ specs/ # Spec-Kit Plus artifacts
βββ AGENTS.md # AI agent guidance
βββ design-system.json # Design tokens
βββ setup.sh # Setup script
βββ start.sh # Start script
βββ test-stack.sh # Test script
Copy .claude/skills/ to a separate repository for submission:
- 7+ reusable Skills with MCP Code Execution pattern
- Each Skill tested with Claude Code AND Goose
- Token efficiency: 80-98% reduction vs direct MCP
- Contains both
.claude/skills/AND application code - AI-powered Python tutoring platform
- 6 agents fully functional
- Infrastructure configured for K8s deployment
| Criterion | Weight | Status |
|---|---|---|
| Skills Autonomy | 15% | β Single prompt β deployment |
| Token Efficiency | 10% | β 80-98% reduction |
| Cross-Agent Compatibility | 5% | β Claude Code + Goose |
| Architecture | 20% | β Event-driven, Dapr, K8s |
| MCP Integration | 10% | β Code execution pattern |
| Documentation | 10% | β Docusaurus + AGENTS.md |
| Spec-Kit Plus Usage | 15% | β PHRs + specs |
| EmberLearn Completion | 15% | β 6 agents + frontend |
https://forms.gle/Mrhf9XZsuXN4rWJf7
Built with β€οΈ using Skills-Driven Development for Hackathon III: Reusable Intelligence and Cloud-Native Mastery.