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

Built With

Share this project:

Updates