FocusCoach - AI Coaching with DISC Methodology
FocusCoach is a personalized coaching platform powered by artificial intelligence and the DISC personality profiling methodology, designed to help entrepreneurs (especially high-I profiles) prevent project abandonment.
Key Features
- Adaptive Coaching: Personalized sessions based on the user’s DISC profile
- FOCUS-SPRINT Framework: Proprietary methodology for sprint-based project management
- Parking Lot: Idea management system to avoid distractions
- DISC Gamification: Reward system adapted to the user’s personality profile
- Active Learning: The AI learns from interactions to improve recommendations
- Document OCR: Document processing with Mistral AI OCR
Technologies Used
- Backend: Python 3.12, FastAPI 0.115, Pydantic v2
- Frontend: Streamlit 1.41
- AI: OpenAI Assistants API, LangChain
- Database: SQLite + FTS5 (WAL mode)
- Architecture: Clean Architecture (5 layers), DI, Railway-Oriented Programming (returns)
- Quality: pytest + hypothesis, ruff, mypy –strict
- Deployment: Docker (2-stage build)
Architecture
Clean Architecture implementation with 5 layers and advanced patterns:
- Strategy Pattern for adapting coaching based on DISC profile
- Dependency Injection for service decoupling
- Railway-Oriented Programming (Result[T, E]) for error handling
- 28 experimental notebooks validating 8 MVPs before implementation
Achievements
- 46 tests passing with strict type checking (mypy –strict)
- 8 validated MVPs in notebooks before migration to production
- 5 architectural layers implemented with complete DI
Impact
FocusCoach addresses a common problem among entrepreneurs: project abandonment due to lack of focus and structure. By personalizing coaching according to DISC personality, the platform offers strategies that resonate with each user’s cognitive style.
This project combines knowledge from organizational psychology (DISC methodology), software engineering (Clean Architecture), and artificial intelligence (LLMs + RAG) to create an innovative personal productivity tool.