Back to feed

xiaochong/hi-kid

xiaochong/hi-kid
338
+41/day
51
TypeScript

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.

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!

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

| Project