Goal: Simple text command processing without database, images, or complex features
- ✅ Telegram bot that responds to text commands
- ✅ Parse natural language calendar commands like:
- "create event for 7pm called Tennis"
- "add meeting tomorrow at 3pm with John"
- "schedule lunch at 12:30pm"
- ✅ Basic LLM integration (OpenAI/Anthropic) to parse text
- ✅ Google Calendar integration to create events
- ✅ Simple command validation and error handling
- ✅ In-memory storage (no database)
- ✅ Basic timezone handling (Asia/Jerusalem)
- NestJS + TypeScript
- Telegram Bot API
- OpenAI/Anthropic for text parsing
- Google Calendar API
- Simple file-based config
- No Redis, PostgreSQL, or S3
/start- Connect Google Calendar/help- Show available commands- Text messages: Natural language event creation
Goal: Add image OCR and basic persistence
- ✅ Google Cloud Vision OCR for schedule images
- ✅ PostgreSQL + Prisma for data persistence
- ✅ Basic file storage (local filesystem)
- ✅ User preferences storage
- ✅ Event deduplication
- ✅ Preview mode before committing
- Google Cloud Vision API
- PostgreSQL + Prisma
- Local file storage
Goal: Full feature set as described in prompt
- ✅ Redis + BullMQ for background processing
- ✅ S3-compatible storage (Hetzner)
- ✅ Voice message support (Whisper STT)
- ✅ Location enrichment (Google Maps Places)
- ✅ Advanced user rules and filtering
- ✅ Undo functionality
- ✅ Conflict detection and resolution
- ✅ Advanced Telegram keyboards and UI
- Redis + BullMQ
- Whisper STT
- Google Maps Places API
- S3-compatible storage
- Advanced Telegram Bot features
Goal: Production deployment and monitoring
- ✅ Docker containerization
- ✅ Sentry logging and monitoring
- ✅ API rate limiting and security
- ✅ Comprehensive testing suite
- ✅ CI/CD pipeline
- ✅ Performance optimization
- ✅ Multi-user support and scaling
- Docker + Docker Compose
- Sentry monitoring
- nginx reverse proxy
- CI/CD pipeline
- Load testing tools
- Set up basic NestJS project structure
- Create Telegram bot integration for text commands
- Implement basic LLM parsing for text prompts
- Add Google Calendar integration
- Create environment configuration
- Test with simple commands like "create event for 7pm called Tennis"
- Bot responds to text messages
- Can parse "create event for 7pm called Tennis"
- Successfully creates event in Google Calendar
- Handles basic errors gracefully
- Works without database or external storage