An ELIZA-inspired chatbot implemented as a standalone, serverless web application using Elm.
Inspired by Joseph Weizenbaum’s classic 1966 ELIZA program, this implementation extends the original concept with fuzzy keyword matching, intelligent clause limiting, response repetition avoidance, and a modern chat UI.
Features
- ELIZA-inspired conversation engine – keyword-weighted pattern matching and response generation, inspired by the original Weizenbaum algorithm
- Fuzzy keyword matching – tolerates common typos (edit distance ≤ 1)
- Intelligent wildcard capture – limits captured text to the first meaningful clause, preventing nonsensical reflections in multi-sentence input
- Response repetition avoidance – tracks the last 8 responses to avoid repeating itself
- Multi-language support – English and German out of the box, easily extensible
- Personalized sessions – users enter their name and select a language before chatting; Eliza addresses them by name
- Serverless – runs entirely in the browser, no backend required
Try it out: Eliza.elm
Source code on GitHub.