English | 简体中文
Hi! I'm your AI English Pal. Let's talk!
HiKid is a completely free, forever free open-source desktop app designed for kids in non-English-speaking countries to practice English speaking and listening.
Say "Hello" into the microphone, and it will chat with you in English, tell stories, and play word games — all completely offline. All data and AI run locally on your machine, nothing is uploaded to the cloud.
- 🗣️ Just start talking — no typing needed, speak directly and the AI understands
- 🧠 Smart and patient — talk about anything, it doesn't matter if you speak slowly or simply
- 🎨 Looks like a cartoon — cute interface that kids will love
- 🔒 Privacy safe — conversations, voice, and models all run locally
- 🌏 Works without internet — recording, recognition, synthesis, and dialogue all run through a local pipeline
🍎 Currently macOS only. Windows and Linux versions are planned — contributions welcome!
- macOS 12.0+ (Apple Silicon / Intel)
- Node.js >= 20
- npm
# 1. Clone the repo
git clone https://github.com/xiaochong/hi-kid.git
cd hi-kid
# 2. Install dependencies
npm install# Start dev server with hot reload
npm run dev
# Type check
npm run typecheck
# Format code
npm run format# All platforms
npm run build
# macOS
npm run build:mac
# Unpacked output (no installer)
npm run build:unpackFor detailed external dependency installation (SoX, ASR/TTS servers, model files, etc.), see INSTALL.md.
HiKid's voice conversation runs through a complete local pipeline:
User speaks → SoX(rec) recording + VAD detection ──→ ASR server speech-to-text
↓
SoX(play) plays PCM audio ←─ TTS server speech synthesis ←─ LLM generates reply
| Component | Role |
|---|---|
| SoX | Audio recording, playback, format conversion, and analysis |
| kitten-tts-server | Local text-to-speech (TTS), streams PCM over SSE |
| asr-server | Local automatic speech recognition (ASR), based on Qwen3-ASR-0.6B |
| Ollama | Local large language model, default qwen3:0.6b |
Project structure:
src/
├── main/ # Electron main process
├── preload/ # Preload scripts (IPC bridge)
└── renderer/ # React renderer process
Issues and PRs are welcome!
devis the active development branchmainis the stable branch for merging PRs- Please run
npm run lintandnpm run typecheckbefore submitting
HiKid stands on the shoulders of giants:
| Project | Purpose |
|---|---|
| Electron | Cross-platform desktop app framework |
| React | UI building |
| Vite | Fast build tool |
| @mariozechner/pi-agent-core | Agent orchestration and event streaming framework |
| kitten-tts-server | Local speech synthesis engine |
| Qwen3-ASR-0.6B | Local speech recognition model |
| Ollama | Local LLM runtime |
| animal-island-ui | Cute UI components |
And to all the developers who indirectly depend on them — thank you for making the open-source world so wonderful!
- This project is for personal learning, research, and non-commercial demonstration only. Commercial use, resale, or profit-making in any form is prohibited.
- The UI component library animal-island-ui used by this project draws visual design inspiration from classic game styles, but all materials and styles are for design reference only and do not constitute copying or infringement of the original works.
MIT
Made with ❤️ for kids around the world

