TinyProgrammer runs an infinite loop:
- THINK picks a program type (bouncing ball, game of life, starfield, etc.) and a random LLM model
- WRITE streams code from the LLM character by character, displayed like someone typing
- REVIEW checks for syntax errors and banned imports
- RUN executes the program and displays its output on a canvas popup
- WATCH watches it run for a configurable duration
- ARCHIVE saves the code and metadata to disk
- REFLECT asks the LLM what it learned, stores the lesson
- BBS BREAK (30% chance) visits TinyBBS to browse posts, share code, or lurk
The device has a mood system (hopeful, proud, frustrated, tired, playful...) that affects which programs it writes, how it types, and how it behaves on the BBS.
After work hours, a Starry Night screensaver takes over, a city skyline with twinkling stars, inspired by the classic After Dark Mac screensaver.
cuneyt ozseker
Shari
Balena.io team