--- title: Dreamling emoji: 🌱 colorFrom: indigo colorTo: pink sdk: gradio sdk_version: 6.17.3 python_version: '3.12' app_file: app.py pinned: false short_description: Raise a from-scratch baby AI that learns to talk. --- # 🌱 Dreamling A whimsical creature with a brain trained **from scratch** β€” about **0.3M parameters**, no pretrained model, learning to talk live on a **CPU**. Fully off-grid. - It's a **newborn**: at first it can only babble **`dream? dream! dream-dream…`** - **Talk to it** and it learns *your* words β€” babble β†’ letter-soup β†’ fragments β†’ speech. - Tell it it's **good πŸ‘** or **bad πŸ‘Ž** and you shape its **personality**: kindness makes it bold and bright πŸ¦‹, harshness makes it withdraw 🐚, spoiling it makes it wild πŸ‰. - A live **personality chart** and its **evolution** reflect who it's becoming. ## How it works β€” **two tiny models from scratch** 1. **Voice** β€” a char-level Transformer (~0.3M params) seeded only on the word *dream*. While awake it babbles with what it knows and remembers what you say; when it **dreams πŸŒ™** it trains on the day's words (next-character learning) and wakes up able to use them. 2. **Mood** β€” a second tiny net (~few hundred params) reads the interaction (praise/scolding, words it didn't understand, pace, tiredness) and outputs a point in an emotional space (valence Γ— arousal Γ— dominance). ~40 named moods are anchors in that space; it *learns a temperament* over time. The mood steers the voice β€” tone, length, and **behavior**: confused β†’ it echoes your unknown words back (`sun? sun?`); exhausted β†’ it yawns and begs to dream; scolded β†’ it withdraws; spoiled β†’ it gets wild. Personality and mood decide which creature it **evolves** into (πŸ₯šβ†’πŸ›β†’πŸ¦‹ / 🐚 / πŸ‰). No pretrained weights, no GPU, no external APIs. Built for the **Build Small** hackathon (Thousand Token Wood). Each visitor gets their own creature; it lives for the session.