Socratic - Your AI Coding Conscience
Built With
Frontend (Desktop Application)
- Electron.js - Cross-platform desktop framework for building the native application
- Node.js - JavaScript runtime for the main process
- HTML5/CSS3 - Modern web technologies for the chat interface
- JavaScript (ES6+) - Client-side logic and IPC communication
- IPC (Inter-Process Communication) - Electron's messaging system between main and renderer processes
Backend (AI Service)
- Python 3.13 - Core backend language
- FastAPI - High-performance async web framework for RESTful API
- Uvicorn - Lightning-fast ASGI server
- Pydantic - Data validation and schema modeling
AI & Machine Learning
- Anthropic Claude API - Claude 3 Haiku model for intelligent tutoring
- Claude 3 Haiku - Fast, cost-effective LLM optimized for conversational AI
- Custom Socratic System Prompt - Professional teaching methodology implementation
- JSON Structured Outputs - Typed responses with classification metadata
Key Libraries & Dependencies
- anthropic (Python) - Official Anthropic SDK for Claude API integration
- python-dotenv - Environment variable management
- Chokidar - File system watching (disabled in current version)
- httpx - Async HTTP client for API calls
Architecture & Design Patterns
- RESTful API - Standard HTTP endpoints for code analysis
- Event-Driven Architecture - EventEmitter pattern for service communication
- Session State Management - In-memory tracking of tutoring sessions
- Observer Pattern - For monitoring user interactions
- Singleton Pattern - Service instances in backend
Development Tools
- npm - Package management for Node.js
- pip - Python package management
- Git - Version control
- Markdown - Documentation and LaTeX support
Deployment & Infrastructure
- localhost:8000 - Backend API server
- CORS middleware - Cross-origin resource sharing for security
- JSON API - Standardized data exchange format
Special Features
- Safe Console Wrapper - Custom EPIPE error prevention system
- Cursor-Style Sidebar - Modern chat interface design
- Real-time Classification - SYNTAX/LOGIC/CONCEPTUAL issue detection
- Adaptive Memory System - Tracks repeated mistakes and learning patterns
- Multi-Level Hint System - Progressive disclosure of guidance (3 levels)
Technology Highlights
Why Claude 3 Haiku?
- ⚡ Fast response times (~1-2 seconds)
- 💰 Cost-effective for educational applications
- 🧠 Excellent reasoning for Socratic questioning
- 📊 Structured outputs with JSON mode
Why Electron?
- 🖥️ Cross-platform (macOS, Windows, Linux)
- 🎨 Modern UI with web technologies
- 🔧 Native integrations (system tray, notifications)
- 💬 Cursor-style sidebar overlay capabilities
Why FastAPI?
- 🚀 Async/await for concurrent requests
- 📝 Auto-generated docs (Swagger/OpenAPI)
- ✅ Type safety with Pydantic
- ⚡ High performance (comparable to Node.js)
API Endpoints
POST /api/code_update # Main tutoring endpoint
POST /api/reset_session # Reset session memory
POST /api/set_tone # Change teaching personality
GET /health # Service health check
Tech Stack Summary
| Layer | Technology |
|---|---|
| Desktop UI | Electron.js, HTML/CSS/JS |
| Backend API | Python, FastAPI, Uvicorn |
| AI Model | Claude 3 Haiku (Anthropic) |
| Data Format | JSON, Pydantic schemas |
| Architecture | RESTful API + Event-driven |
| Runtime | Node.js + Python 3.13 |
Total Tech Stack: 15+ technologies integrated into a cohesive learning platform

Log in or sign up for Devpost to join the conversation.