A magical door opening system with witch voice authentication that integrates with Amazon Ring doorbell.
When someone rings the doorbell, the system responds with a witch voice asking "Passwort?" (Password?). The visitor's spoken response is transcribed using speech-to-text, matched against configured passwords using fuzzy matching, and grants access if the password is correct.
- π§ββοΈ Witch voice text-to-speech (ElevenLabs)
- π€ Speech-to-text transcription (OpenAI Whisper)
- π Fuzzy password matching (handles typos and pronunciation variations)
- π Full tracing and monitoring (Langfuse)
- πͺ Amazon Ring doorbell integration
- π Secure password validation with retry logic
# Create virtual environment
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txtCopy .env.example to .env and fill in your API keys:
cp .env.example .envRequired API keys:
- ElevenLabs: For text-to-speech (witch voice)
- OpenAI: For Whisper speech-to-text
- Langfuse: For tracing and monitoring
- Ring: Your Ring account credentials
# Development mode with auto-reload
python src/main.py
# Or with uvicorn directly
uvicorn src.main:app --reloadThe API will be available at http://localhost:8000
API documentation: http://localhost:8000/docs
python -m src.services.tts_service "Passwort?"python -m src.services.stt_service path/to/audio.mp3python -m src.services.password_servicepython -m src.services.tracing_serviceβ Project setup and structure β Configuration management β Text-to-speech service β Speech-to-text service β Password matching with fuzzy logic β Tracing and monitoring setup β³ Ring API integration (in progress) β³ Doorbell workflow orchestration β³ Webhook endpoints
See SPECS.md and PLAN.md for detailed documentation.