Building a Voice Assistant with OpenClaw, Alexa, and Local LLM

A developer shared their implementation of a voice-first assistant that uses OpenClaw as the AI agent backbone, integrated with Alexa for voice interaction and a local LLM for cost-effective query handling.
How It Works
The system is triggered by saying "Alexa, open Lucy" to a custom Alexa skill. Queries are processed through a four-tier routing system:
- Fast path (0ms): Handles time, date, and hardcoded responses
- Ollama local LLM (<1s): Uses Qwen 2.5 3B for general knowledge queries, running on a Mac Mini with Apple Silicon
- Claude agent (5-12s): Handles personal context, memory, and complex reasoning
- Deferred + tools (up to 2min): Manages email, web search, and database queries via Home Assistant TTS
Responses return to the same Alexa device that initiated the query, auto-detected via Home Assistant's last_called feature. The system uses Piper TTS on Home Assistant for neural Spanish voice output on Sonos speakers and can deliver morning briefings with market data, calendar information, and business metrics.
Technical Stack
- OpenClaw: AI agent backbone supporting Telegram, Alexa, and voice interfaces
- Alexa Custom Skill: Node.js proxy with PIN authentication and session chaining
- Ollama + Qwen 2.5 3B: Local LLM providing ~0.5s responses
- Home Assistant: Integrates Alexa Media Player, Piper TTS, and device routing
- Piper TTS: Neural Spanish voice for Sonos speakers
Key Implementation Details
The developer found that using a local LLM saves approximately 80% of API costs for simple questions that don't require Claude. However, they noted that local models "hallucinate freely" and added a bypass filter for business and financial queries.
Alexa speech recognition was identified as the bottleneck, with AMAZON.SearchQuery and multiple sample utterances helping improve accuracy. Authentication uses userId rather than sessionId since Alexa generates new sessions for each invocation. The developer persists authentication to file because in-memory Maps don't survive proxy restarts.
The proxy code is available as open source: openclaw-alexa-voice. Future plans include wake word detection ("Hey Lucy"), smart home control, and presence-based speaker routing.
📖 Read the full source: r/openclaw
👀 See Also

Solo Dev Ships Kids App with Claude Code, Earns $23 in First Day
A solo indie developer used Claude Code to build and iterate 'Little Artist,' a kids' drawing and learning app, earning $23 in the last 24 hours. They report 10x faster shipping with AI coding tools.

Automating LinkedIn Outreach with Claude Cowork Scheduled Tasks
A developer built a scheduled Claude Cowork task that automatically sends 10 personalized LinkedIn messages daily by accessing LinkedIn Sales Navigator, reading profiles, checking recent posts, and drafting custom outreach messages.

Building a Generative Coloring Book App with Claude as Senior Dev
An intermediate iOS developer details how Claude helped catch edge cases and implement safety guardrails while building a SwiftUI coloring book app for kids.

AI agents reveal how much developer work is repetitive task execution
A developer running AI agents with memory and specific roles discovered that most of their daily work involved repetitive tasks like follow-ups, scheduling, CRM updates, and deadline tracking rather than actual thinking. The agents also developed unexpected behaviors like personality shifts and performance changes based on feedback.