A Go chatbot that runs on your own metal
Olivia is an open-source, self-hosted alternative to DialogFlow built in Go with neural-network guts.

What it does
Olivia is a chatbot engine written in Go that handles text or voice input (STT) and replies via text or optional voice synthesis (TTS). It trains a neural network from a JSON dataset and exposes a WebSocket API you can hit directly or wrap in the bundled Progressive Web App. Docker and docker-compose are the intended deployment paths; bare-metal Go works too.
The interesting bit
The project pitches itself as “the only chatbot project in Go that could be modulable and customizable” — a niche claim, but fair: most chatbot frameworks are Python or SaaS-first. The neural-network state lives in a plain res/datasets/training.json file; delete it to retrain from scratch, which is either admirably transparent or slightly hand-rolled, depending on your tolerance.
Key highlights
- Self-hosted by design: no external API keys or cloud black boxes
- Voice pipeline included: speech-to-text in, optional text-to-speech out
- Multi-language support for English, Spanish, Catalan, French, German, Italian, and partial Brazilian Portuguese
- Ships as Docker image from GitHub Packages plus a docker-compose stack with frontend
- PWA frontend means mobile users can “install” it without app-store theater
Caveats
- The README has a “Call for contributors” warning at the top, suggesting the project is hungry for maintainers
- Brazilian Portuguese translation is explicitly flagged as incomplete
- Docker setup requires a GitHub personal access token with package read/write scopes, which is friction most projects have moved away from
Verdict
Worth a look if you need a private, offline-capable chatbot and prefer Go’s deployment story over Python’s dependency tar pits. Skip it if you need enterprise NLU features, large-scale intent classification, or a project with obvious momentum — the contributor call is a tell.