Revive a 2006 Nabaztag rabbit as a talking voice assistant for kids

Stéphane B., not a Python developer, used Claude Code to bring a dead 2006 Nabaztag:tag back to life on a Synology NAS as a Claude Haiku voice assistant the author's daughters talk to every day.

Done withClaude CodeinDockerAWS· Nov 11, 2026

What they did

Stéphane B. had a Nabaztag:tag, the Wi-Fi rabbit from 2006 that went silent when its maker's servers shut down, sitting in a cupboard for over ten years. The goal was to make it talk again. Starting from the open-source ClaraVnk/nabaztag project, a Home Assistant module that emulates the old Violet platform, the author worked in conversation with Claude Code to make it run on its own without Home Assistant. Claude Code read the 2006 firmware source, adapted the Python server that speaks the rabbit's XMPP protocol, added a voice chain (Amazon Transcribe for speech to text, Claude Haiku 4.5 on Amazon Bedrock for answers, Amazon Polly for the voices), deployed it in a Docker container on a Synology DS224+ over SSH, read the logs and fixed bugs. The finished rabbit, Nabi, answers spoken questions, gives the weather with clothing tips, speaks the hour, sets voice reminders and, when a small RFID rabbit is placed in front of it, tells the next episode of a serial story Claude writes from summaries of earlier ones.

How it went

It works: a question gets an answer in about 2.5 to 4 seconds, and the rabbit now chats with the author's daughters daily. Problems were each fixed in one correction, often within the hour. Local Whisper on the NAS took 30 to 90 seconds per question because the CPU lacks AVX, so it moved to Transcribe at about half a second. Polly spelled out "Brr", the first word of each answer was clipped, multi-voice stories cut each other off until episodes were merged into one audio file, and the talking clock told the kids to get to school on a public holiday until the date context said so. The author says the human part was mostly testing, listening and deciding.

Worth knowing

The rabbit only plays certain audio formats (22 kHz MP3 here) and some old firmware animations never stop unless told to. The model invented a saying of the day on the first try, so the server now fetches the real one from Wikipedia and the model only explains it. The post is in French.

Try it

With Claude Code· 8 parts to fill in

Help me bring my old [connected device model] back to life now that its maker's cloud is gone. Start from the open-source server in [repository] and the device's protocol notes or firmware source in [folder]. Get the server running in Docker on my [NAS or home server], reachable from the device, then add a voice loop: send recorded audio to [speech-to-text service], pass the text to [LLM] with a short persona and the current date, time and [local context], and convert the answer to audio with [text-to-speech service] in the format the device can play. Deploy over SSH and read the logs after each test. Stop and ask me before changing anything on the device itself or adding a paid cloud service.

Square brackets are the parts to fill in. The prompt is ours; the story is theirs.

Where they said it

Related