Type a sentence and watch a simulated robot face react with a matching emotional expression.
Embed the pure Python emotion engine into your own robot or hardware project.
Drive a physical LED dot matrix or servo controlled face from a Raspberry Pi.
Give different robots distinct personalities by changing their starting chemical baseline.
| smithandrewjohn/kindalive | helpmeeadice/bandori-pet-rev | hkust-c4g/domainshuttle | |
|---|---|---|---|
| Stars | 156 | 156 | 156 |
| Language | Python | Python | Python |
| Setup difficulty | moderate | moderate | hard |
| Complexity | 3/5 | 3/5 | 4/5 |
| Audience | developer | general | researcher |
Figures from each repo's GitHub metadata at analysis time.
Core library has zero dependencies and runs offline, but the LLM interpreter needs either a Claude API key or a local model server.
Kindalive is a Python project that gives a robot emotions by simulating body chemistry instead of using a simple label like happy or sad. Inside the system, a robot keeps track of the levels of eight simulated chemicals such as dopamine, cortisol, and oxytocin, and its emotional state is worked out from those levels rather than being set directly. You type in a sentence, such as you won the lottery or the cat is missing and a storm is coming, and a language model, either Claude in the cloud or a local model through something like Ollama, turns that sentence into chemical impulses. Those impulses feed into a neurochemical engine that tracks how the chemicals rise, decay, and interact with each other over time. The result is shown on a retro looking LED dot matrix robot face that changes expression to match the mix of chemicals, with the chemical levels displayed next to it. Each of the eight chemicals has its own speed of change: adrenaline fades within minutes for a quick burst of excitement, while serotonin shifts over hours to create a longer lasting mood. From these chemical levels the system also computes eight named emotions, such as happiness, anger, and anxiety, and twelve facial muscle movements based on a facial expression naming system, which directly drive the LED face. Each robot can be given a different starting chemistry, so a cheerful robot might start with higher serotonin and dopamine, while a calmer one starts with higher GABA. The core library is written in pure Python with no dependencies and can be embedded into your own robot project, while optional extras add a web dashboard, the Claude backend, or support for other OpenAI compatible models. There is also a command line tool for one off tests, and example code for driving real hardware like an eight by eight LED matrix or a servo controlled animatronic face, both of which can run on a Raspberry Pi.
Gives a robot emotions by simulating body chemistry, then shows the result as changing expressions on an LED or physical robot face.
Mainly Python. The stack also includes Python, Claude API, Ollama.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Don't trust strangers blindly. Verify against the repo.