⚠️ LEGACY V1 DOCUMENT – NOT CANONICAL FOR V2 This describes the original 20-phase plan. For the current architecture and phases, see:
VoiceAssist Development Phases
Overview
This document breaks down VoiceAssist development into self-contained phases, each designed to be completed by Claude Code in a single continuous session (3-6 hours of focused work).
Development Approach
- Local-First: All development happens on MacBook Pro
- Incremental: Each phase builds on previous phases
- Self-Contained: Clear entry/exit criteria for each phase
- Testable: Every phase includes verification steps
- Documented: Update docs as you build
Phase Prerequisites
Before starting any phase, Claude Code should:
- Read all documentation in
~/VoiceAssist/docs/ - Check current status of the project
- Verify prerequisites for the phase are met
- Review what was completed in previous phases
Phase Structure
Each phase document includes:
- Goal: What this phase accomplishes
- Prerequisites: What must exist before starting
- Entry Checklist: Verify before beginning
- Tasks: Step-by-step implementation guide
- Testing: How to verify success
- Documentation Updates: What docs to update
- Exit Checklist: What should exist when done
- Next Phase: What comes next
Phase Overview
Foundation Phases (1-3)
Phase 1: Local Development Environment (~4 hours)
- Install all dependencies on MacBook Pro
- Set up local databases (PostgreSQL, Redis, Qdrant)
- Create project structure
- Basic FastAPI app with health check
Phase 2: Database Schema & Models (~3 hours)
- Define SQLAlchemy models
- Create migrations with Alembic
- Set up pgvector extension
- Create Qdrant collections
Phase 3: Authentication System (~4 hours)
- JWT authentication
- User registration/login
- API key management
- Protected endpoints
AI Integration Phases (4-5)
Phase 4: Local LLM Integration (~3 hours)
- Ollama setup and configuration
- LLM service wrapper
- Basic chat endpoint
- Test local inference
Phase 5: OpenAI Realtime API (~5 hours)
- WebSocket endpoint for voice
- OpenAI Realtime API proxy
- Audio streaming setup
- Voice conversation testing
File System & Privacy Phases (6-7)
Phase 6: File System Access & Privacy (~5 hours)
- File indexing service
- Privacy classifier implementation
- Local vector search
- File query endpoints
Phase 7: macOS System Integrations (~6 hours)
- Calendar access (EventKit/AppleScript)
- Email integration
- Reminders and Notes
- Test all integrations
Medical Knowledge Base Phases (8-11)
Phase 8: PDF Processing Pipeline (~5 hours)
- PDF upload endpoint
- Text extraction (PyPDF2, pdfplumber)
- OCR integration (Tesseract)
- Chunking strategy implementation
Phase 9: Embedding & Vector Storage (~4 hours)
- Embedding generation (OpenAI)
- Store in Qdrant with metadata
- Batch processing
- Test retrieval
Phase 10: RAG System Implementation (~5 hours)
- Semantic search
- Context assembly
- Citation generation
- Medical query endpoint with sources
Phase 11: PubMed Integration (~4 hours)
- PubMed API client
- Search and download
- Journal article processing
- Integration with RAG system
Frontend Phases (12-14)
Phase 12: Web App - Core Chat Interface (~5 hours)
- React + TypeScript + Vite setup
- Chat UI components
- Message streaming
- WebSocket connection
- File upload
Phase 13: Web App - Voice Interface (~4 hours)
- Microphone input setup
- Web Audio API integration
- Voice controls and visualization
- Audio playback
Phase 14: Web App - History & Settings (~3 hours)
- Conversation history
- Search functionality
- User settings page
- Export conversations
Admin Panel Phases (15-16)
Phase 15: Admin Panel - Dashboard (~4 hours)
- React setup with Tremor
- System overview dashboard
- Real-time metrics
- Service status indicators
Phase 16: Admin Panel - Knowledge Base UI (~4 hours)
- Document upload interface
- Document management table
- Indexing controls
- Analytics views
External Integrations Phase (17)
Phase 17: External Service Integrations (~5 hours)
- Nextcloud WebDAV integration
- OpenEvidence API (if available)
- Clinical guidelines scrapers
- Web search integration
Testing & Polish Phases (18-19)
Phase 18: Integration Testing & Bug Fixes (~6 hours)
- Write integration tests
- End-to-end testing
- Bug fixes and refinements
- Performance optimization
Phase 19: Documentation Site (~4 hours)
- Next.js + MDX setup
- Content creation
- Search functionality
- Deploy locally
Deployment Phase (20)
Phase 20: Ubuntu Deployment (~5 hours)
- Create deployment script
- Ubuntu-specific configuration
- Production environment setup
- Deployment testing
Total Estimated Time
- 20 Phases × ~4.5 hours average = ~90 hours
- Working 4 hours/day = ~23 days
- Working on weekends = ~1 month of development
Phase Status Tracking
Create a PHASE_STATUS.md file to track progress:
# Phase Completion Status - [x] Phase 1: Local Development Environment - Completed 2024-11-20 - [x] Phase 2: Database Schema & Models - Completed 2024-11-21 - [ ] Phase 3: Authentication System - In Progress - [ ] Phase 4: Local LLM Integration - Not Started ...
Starting a Phase
When starting a new phase:
cd ~/VoiceAssist # Read the phase document cat docs/phases/PHASE_XX_NAME.md # Check prerequisites # Begin implementation # Test thoroughly # Update documentation # Mark phase as complete in PHASE_STATUS.md
Phase Dependencies
Phase 1 (Environment)
↓
Phase 2 (Database)
↓
Phase 3 (Auth)
↓
Phase 4 (Local LLM) ──┐
Phase 5 (OpenAI) ├─→ Phase 12 (Web Chat)
Phase 6 (Files) │ ↓
Phase 7 (Integrations)┘ Phase 13 (Voice)
↓ ↓
Phase 8 (PDF) Phase 14 (History)
↓ ↓
Phase 9 (Embeddings) Phase 15 (Admin)
↓ ↓
Phase 10 (RAG) Phase 16 (Admin KB)
↓
Phase 11 (PubMed)
↓
Phase 17 (External)
↓
Phase 18 (Testing)
↓
Phase 19 (Docs Site)
↓
Phase 20 (Deploy)
Critical Success Factors
- Complete one phase before starting the next
- Test thoroughly at each phase
- Update documentation as you go
- Commit code after each phase
- Verify all exit criteria before moving on
Working with Claude Code
Each phase document is designed to be given to Claude Code as a prompt:
"Please read ~/VoiceAssist/docs/phases/PHASE_03_AUTHENTICATION.md
and implement this phase. Check the prerequisites, verify the entry
checklist, complete all tasks, run tests, update documentation,
and verify exit criteria."
Claude Code will:
- Read the phase instructions
- Check what already exists
- Implement the required features
- Write tests
- Update relevant documentation
- Verify completion criteria
Phase Document Location
All phase documents are in: ~/VoiceAssist/docs/phases/
PHASE_01_LOCAL_ENVIRONMENT.mdPHASE_02_DATABASE_SCHEMA.mdPHASE_03_AUTHENTICATION.md- ... (all 20 phases)
Next Steps
- Review this document
- Read
LOCAL_DEVELOPMENT.mdfor local setup details - Start with Phase 1
- Work through phases sequentially
- Track progress in
PHASE_STATUS.md