๐ŸŽˆ HiKid

April 21, 2026 ยท View on GitHub

English | ็ฎ€ไฝ“ไธญๆ–‡

๐ŸŽˆ HiKid

Hi! I'm your AI English Pal. Let's talk!

Electron React TypeScript


๐ŸŒŸ 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 https://github.com/xiaochong/hi-kid.git
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
ComponentRole
SoXAudio recording, playback, format conversion, and analysis
kitten-tts-serverLocal text-to-speech (TTS), streams PCM over SSE
asr-serverLocal automatic speech recognition (ASR), based on Qwen3-ASR-0.6B
OllamaLocal 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!

  • dev is the active development branch
  • main is the stable branch for merging PRs
  • Please run npm run lint and npm run typecheck before submitting

๐Ÿ™ Acknowledgments

HiKid stands on the shoulders of giants:

ProjectPurpose
ElectronCross-platform desktop app framework
ReactUI building
ViteFast build tool
@mariozechner/pi-agent-coreAgent orchestration and event streaming framework
kitten-tts-serverLocal speech synthesis engine
Qwen3-ASR-0.6BLocal speech recognition model
OllamaLocal LLM runtime
animal-island-uiCute UI components

And to all the developers who indirectly depend on them โ€” thank you for making the open-source world so wonderful!

โš ๏ธ Disclaimer

  • 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.

๐Ÿ“„ License

MIT


Made with โค๏ธ for kids around the world