Build a browser extension that enables voice-based interaction with Claude AI, creating a conversational interface similar to Siri or Google Assistant.
- Voice Input: User speaks into the extension
- Processing: Speech is transcribed to text and sent to Claude API
- Voice Output: Claude's text response is converted to speech and played back conversationally
- User speaks into the extension
- Speech gets transcribed to text (Speech-to-Text)
- Text gets sent to Claude's API
- Claude's response comes back as text
- Text gets converted to speech (Text-to-Speech)
- Speech plays back to user
- Phase 1: Browser extension (starting point)
- Phase 2: Expand to other formats (desktop app, mobile app, web app)
Option: Browser's Web Speech API (chosen for MVP)
- Performance: Pretty solid for English, comparable to Siri/Google Assistant
- Speed: Real-time, very fast
- Pros: Free, built-in, no additional API needed
- Cons:
- Only works reliably in Chrome/Edge (Firefox support is spotty)
- Requires internet connection
- Can be inconsistent with accents or background noise
- Google powers it (privacy considerations)
Option: Browser's Web Speech Synthesis API (for MVP, plan to upgrade)
- Performance: Robotic and unnatural sounding
- Speed: Instant, no lag
- Pros: Free, built-in, no additional API needed
- Cons:
- Voices vary wildly by OS/browser
- Not very conversational or human-like
- Can sound monotone, especially for longer responses
Future upgrade options:
- ElevenLabs API
- OpenAI's TTS API
Start with free browser APIs to get working prototype, then upgrade TTS later for better conversational feel.
- Extension UI (popup with mic button) - ~30 mins
- Web Speech API integration for recording - ~1 hour
- Claude API integration for processing - ~30 mins
- TTS integration for playback - ~30 mins
- Error handling and polish - ~1-2 hours
Estimated Time:
- Experienced with JS/extensions: 2-3 hours
- Newer to extensions: 5-8 hours
- Handling speech recognition failures
- Managing Claude API response times
- Implementing playback controls (stop/pause)
- Error handling for network issues
- Making Claude responses more conversational (may need to adjust prompts)
- Challenge: Claude tends to give detailed responses, while Siri/Google Assistant are short and punchy
- Potential solutions:
- Prompt Claude to give shorter, more conversational responses
- Implement interrupt/stop functionality for long responses
- Primary target: Chrome/Edge (best Web Speech API support)
- Firefox: Limited support, may need fallback
- Set up browser extension boilerplate
- Implement basic UI with mic button
- Wire up speech-to-text
- Integrate Claude API
- Add text-to-speech playback
- Test and refine
- Plan TTS upgrade for better voice quality