xiaochong/hi-kid

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.

TypeScript

1,162

62 commits

updated Apr 24, 2026

See the code

README

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

ai
english-learning
kids-education
local-ai
offline-ai
speaking-practice
voice-chat

xiaochong/hi-kid

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.

TypeScript

1,162

62 commits

updated Apr 24, 2026

See the code

README

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

ai
english-learning
kids-education
local-ai
offline-ai
speaking-practice
voice-chat

Significant stargazers

Junhao Zou

163 followers · starred May 2026

lakatos

13 followers · starred Jun 2026