Loading repository data…
Loading repository data…
xiaochong / repository
HiKid - 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.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
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.
🍎 Currently macOS only. Windows and Linux versions are planned — contributions welcome!
# 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:unpack
For 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!
dev is the active development branchmain is the stable branch for merging PRsnpm run lint and npm run typecheck before submittingHiKid 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!
MIT