-
-
Say it, it's done. Kanso shows what changed in your home the moment you speak
-
Names, numbers and emails are hidden on your own machine. Nothing needed the cloud.
-
Describe an automation in one sentence. Kanso builds it and runs it.
-
When something breaks, Kanso explains why and offers the fix
-
Link Alexa+ with a one-time code that only appears at home
Inspiration
I built Kanso because I was tired of my own voice assistant taking 5 seconds to turn on a light, only to follow it up with unwanted chatty filler. I believe I am not alone in this frustration. Users across all domains want reliable, instant and private control over their environments. They do not want a conversational AI that compromises their data, introduces cloud latency or wastes their time.
What it does
Kanso is a local-first AI extension platform. It processes voice commands on-device in under 200 milliseconds, stripping away cloud lag and conversational clutter. It gives users instant control over their smart homes, productivity tools, or any external API. It also lets users build custom automation tools just by speaking, completely bypassing complex coding interfaces.
How we built it
I built the core using a self-hosted Model Context Protocol (MCP) server running on Node.js 25 LTS for native TypeScript execution. I integrated Desert Ant Labs JavaScript models for local speech recognition and PII redaction. I used the Tavus Conversational Video Interface to render visual troubleshooting cards via Magic Canvas. I also have a voice code feature in which I connected AWS Bedrock to generate and hot-reload TypeScript extensions on the fly.
Challenges we ran into
Well, implementing strict OAuth 2.1 PKCE for Alexa+ was difficult because the CLI kept returning generic 401 errors without verbose logs which I had a fun time debugging 😅. Also, when adapting dynamic imports for Node 25 native TypeScript execution, I ran into some path error but after some path adjustments I got a hang of it. Also, syncing the React frontend with Tavus Magic Canvas tool calls required me to build a custom webhook listener to prevent UI race conditions.
Accomplishments that we're proud of
I am proud of achieving sub-200ms local voice processing which completely eliminates the frustrating cloud lag in which I dislike. I am also proud of the hot-reload extension engine in which a user can just speak a new tool into existence and seeing it execute instantly without a server restart was massive for me.
What we learned
I learned that latency destroys user trust. If a voice assistant takes more than 500 milliseconds users don't really use it like that or even abandon it entirely. I also learned that visual interfaces are vastly superior to verbal monologues for complex data. Finally, I learned that users do not want chatty AI companions to me, they just want fast, private and reliable tools.
What's next for Kanso
I plan to expand the domain-agnostic capabilities beyond smart homes into personal productivity and enterprise workflows. I also want to build a community marketplace where users can share and download the voice-generated MCP extensions they create.
Built With
- aws-bedrock
- aws-sdk
- chokidar
- desert-ant-labs
- javascript
- local-first-ai
- model-context-protocol-(mcp)
- node.js
- oauth-2.1
- privacy
- railway
- react
- tavus-api
- tavus-cvi
- typescript
- vercel
- vite
- webassembly
- zod

Log in or sign up for Devpost to join the conversation.