xiaochong/hi-kid
xiaochong/hi-kidHiKid - Your AI English Pal. A desktop app built with React and TypeScript, targeting children in non-English-speaking countries who want to practice English speaking and listening.
From the README
English | 简体中文
🎈 HiKid
Hi! I'm your AI English Pal. Let's talk!
🌟 What is this?
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!
🚀 Quick Start
Requirements
- macOS 12.0+ (Apple Silicon / Intel)
- Node.js >= 20
- npm
Install
# 1. Clone the repo
git clone
cd hi-kid
# 2. Install dependencies
npm install
Development
# Start dev server with hot reload
npm run dev
# Type check
npm run typecheck
# Format code
npm run format
Build
# All platforms
npm run build
# macOS
npm run build:mac
# Unpacked output (no installer)
npm run build:unpack
For detailed external dependency installation (SoX, ASR/TTS servers, model files, etc.), see INSTALL.md.
🏗️ Architecture
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
🤝 Contributing
Issues and PRs are welcome!
devis the active development branchmainis the stable branch for merging PRs- Please run
npm run lintandnpm run typecheckbefore submitting
🙏 Acknowledgments
HiKid stands on the shoulders of giants:
| Project