Update README.md
Browse files
README.md
CHANGED
|
@@ -13,9 +13,12 @@ tags:
|
|
| 13 |
- build-small-hackathon
|
| 14 |
- thousand-token-wood
|
| 15 |
- tiny-titan
|
|
|
|
| 16 |
- off-brand
|
| 17 |
- best-agent
|
| 18 |
- best-demo
|
|
|
|
|
|
|
| 19 |
- simulation
|
| 20 |
- creative-writing
|
| 21 |
- gradio
|
|
@@ -29,6 +32,11 @@ tags:
|
|
| 29 |
|
| 30 |
Built for the **Build Small Hackathon 2026 — Thousand Token Wood** track.
|
| 31 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 32 |
---
|
| 33 |
|
| 34 |
## What is this?
|
|
@@ -51,27 +59,40 @@ Then a fifth **Narrator agent** writes a formal newspaper front page treating th
|
|
| 51 |
| Feature | Detail |
|
| 52 |
|---|---|
|
| 53 |
| 🗞️ **Animated Newspaper** | Paper drops in, headline types itself, ink fades in |
|
| 54 |
-
| 🔊 **Read Aloud** | Browser TTS reads today's front page |
|
| 55 |
-
| 🎵 **Sound Effects** | Paper/press sounds via Web Audio API |
|
| 56 |
| 🐿️ **Running Squirrel** | Occasionally sprints across the bottom of the screen |
|
| 57 |
| ⏳ **Loading Messages** | Rotating funny messages while the model runs |
|
| 58 |
| 📜 **Archive** | Browse every past front page |
|
| 59 |
-
| 🗣️ **Spread a Rumour** |
|
| 60 |
| 🎁 **Donate a Weird Object** | Items enter the creature economy |
|
| 61 |
| ⚖️ **Propose a Law** | Shift the legal framework of the Hollow |
|
| 62 |
| 🖼️ **Share as Image** | Download a PNG of today's front page |
|
| 63 |
| 🎮 **Konami Code** | `↑↑↓↓←→←→BA` — reveals all agent system prompts |
|
| 64 |
-
| 💾 **Persistent SQLite** | Civilisation remembers
|
| 65 |
|
| 66 |
---
|
| 67 |
|
| 68 |
## Model
|
| 69 |
|
| 70 |
-
- **Primary**: `Qwen/Qwen2.5-1.5B-Instruct` — 1.5B parameters
|
| 71 |
-
- **Fallback**: `Qwen/Qwen2.5-3B-Instruct` — 3B parameters
|
| 72 |
-
- **
|
| 73 |
-
-
|
| 74 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 75 |
|
| 76 |
---
|
| 77 |
|
|
@@ -80,23 +101,24 @@ Then a fifth **Narrator agent** writes a formal newspaper front page treating th
|
|
| 80 |
```
|
| 81 |
advance_day() ←── @spaces.GPU(duration=60)
|
| 82 |
│
|
| 83 |
-
├─ call_agent("fox",
|
| 84 |
-
├─ call_agent("badger",
|
| 85 |
-
├─ call_agent("squirrel",
|
| 86 |
-
└─ generate_newspaper(events_summary)
|
| 87 |
│
|
| 88 |
-
└─ Structured output:
|
|
|
|
| 89 |
```
|
| 90 |
|
| 91 |
-
Each agent has a 4-sentence system prompt defining their personality. The narrator uses a rigid output schema
|
| 92 |
|
| 93 |
-
Creature relationships drift based on event type (+5 trade, +7 invention,
|
| 94 |
|
| 95 |
---
|
| 96 |
|
| 97 |
## Persistent History
|
| 98 |
|
| 99 |
-
Everything is stored in **SQLite**: days, events, creature relationships, inventory, nudges. The newspaper prompt includes the last two published headlines
|
| 100 |
|
| 101 |
---
|
| 102 |
|
|
@@ -113,9 +135,9 @@ CREATE TABLE nudges (id, day_number, nudge_type, nudge_value);
|
|
| 113 |
|
| 114 |
## Easter Egg
|
| 115 |
|
| 116 |
-
Type the **Konami Code** while the app is focused:
|
| 117 |
|
| 118 |
-
A modal appears
|
| 119 |
|
| 120 |
---
|
| 121 |
|
|
|
|
| 13 |
- build-small-hackathon
|
| 14 |
- thousand-token-wood
|
| 15 |
- tiny-titan
|
| 16 |
+
- off-the-grid
|
| 17 |
- off-brand
|
| 18 |
- best-agent
|
| 19 |
- best-demo
|
| 20 |
+
- field-notes
|
| 21 |
+
- sharing-is-caring
|
| 22 |
- simulation
|
| 23 |
- creative-writing
|
| 24 |
- gradio
|
|
|
|
| 32 |
|
| 33 |
Built for the **Build Small Hackathon 2026 — Thousand Token Wood** track.
|
| 34 |
|
| 35 |
+
**Demo video:** https://youtu.be/UPDATE_THIS_LINK
|
| 36 |
+
**Social post:** https://x.com/iagained/status/2066384319929778645?s=20
|
| 37 |
+
**Blog post:** https://huggingface.co/blog/nishtha711/tiny-civilization
|
| 38 |
+
**Agent traces:** https://huggingface.co/datasets/build-small-hackathon/tiny-civilization-traces
|
| 39 |
+
|
| 40 |
---
|
| 41 |
|
| 42 |
## What is this?
|
|
|
|
| 59 |
| Feature | Detail |
|
| 60 |
|---|---|
|
| 61 |
| 🗞️ **Animated Newspaper** | Paper drops in, headline types itself, ink fades in |
|
| 62 |
+
| 🔊 **Read Aloud** | Browser TTS reads today's front page — no API needed |
|
| 63 |
+
| 🎵 **Sound Effects** | Paper/press sounds via Web Audio API (synthesised) |
|
| 64 |
| 🐿️ **Running Squirrel** | Occasionally sprints across the bottom of the screen |
|
| 65 |
| ⏳ **Loading Messages** | Rotating funny messages while the model runs |
|
| 66 |
| 📜 **Archive** | Browse every past front page |
|
| 67 |
+
| 🗣️ **Spread a Rumour** | Pick a creature + rumour type — affects the next day |
|
| 68 |
| 🎁 **Donate a Weird Object** | Items enter the creature economy |
|
| 69 |
| ⚖️ **Propose a Law** | Shift the legal framework of the Hollow |
|
| 70 |
| 🖼️ **Share as Image** | Download a PNG of today's front page |
|
| 71 |
| 🎮 **Konami Code** | `↑↑↓↓←→←→BA` — reveals all agent system prompts |
|
| 72 |
+
| 💾 **Persistent SQLite** | Civilisation remembers history across sessions |
|
| 73 |
|
| 74 |
---
|
| 75 |
|
| 76 |
## Model
|
| 77 |
|
| 78 |
+
- **Primary**: `Qwen/Qwen2.5-1.5B-Instruct` — **1.5B parameters** ≤ 4B → 🐜 Tiny Titan
|
| 79 |
+
- **Fallback**: `Qwen/Qwen2.5-3B-Instruct` — 3B parameters, also ≤ 4B
|
| 80 |
+
- Runs **100% locally** via ZeroGPU — zero external AI APIs 🔌
|
| 81 |
+
- ~520 tokens per day across 4 inference calls (~15 seconds on T4)
|
| 82 |
+
|
| 83 |
+
---
|
| 84 |
+
|
| 85 |
+
## Badge Claims
|
| 86 |
+
|
| 87 |
+
| Badge | Qualification |
|
| 88 |
+
|---|---|
|
| 89 |
+
| 🐜 **Tiny Titan** | Qwen2.5-1.5B = 1.5B params, well under the 4B cap |
|
| 90 |
+
| 🔌 **Off the Grid** | No cloud AI APIs — model runs locally on ZeroGPU |
|
| 91 |
+
| 🎨 **Off-Brand** | Fully custom newspaper UI: UnifrakturMaguntia font, two-column CSS layout, CSS keyframe animations, Web Audio API sounds — zero default Gradio styling visible |
|
| 92 |
+
| 🤖 **Best Agent** | 5 independent agents: Fox, Badger, Squirrel, Mole (distinct system prompts + relationship scores), plus Narrator |
|
| 93 |
+
| 🎬 **Best Demo** | Demo video + social post + working Space |
|
| 94 |
+
| 📡 **Sharing is Caring** | Agent traces exported at [HF Dataset](https://huggingface.co/datasets/build-small-hackathon/tiny-civilization-traces) |
|
| 95 |
+
| 📓 **Field Notes** | Blog post at [HF Blog](https://huggingface.co/blog/nishtha711/tiny-civilization) |
|
| 96 |
|
| 97 |
---
|
| 98 |
|
|
|
|
| 101 |
```
|
| 102 |
advance_day() ←── @spaces.GPU(duration=60)
|
| 103 |
│
|
| 104 |
+
├─ call_agent("fox", situation_prompt) → ~80 tokens
|
| 105 |
+
├─ call_agent("badger", situation_prompt) → ~80 tokens
|
| 106 |
+
├─ call_agent("squirrel", situation_prompt) → ~80 tokens
|
| 107 |
+
└─ generate_newspaper(events_summary) → ~280 tokens
|
| 108 |
│
|
| 109 |
+
└─ Structured output:
|
| 110 |
+
HEADLINE / article / WEATHER / FOX / BADGER / SQUIRREL / MOLE
|
| 111 |
```
|
| 112 |
|
| 113 |
+
Each agent has a 4-sentence system prompt defining their personality. The narrator uses a rigid output schema with a worked example (few-shot) so the 1.5B model follows the format ~90% of the time, with graceful fallbacks for the rest.
|
| 114 |
|
| 115 |
+
Creature relationships drift based on event type (+5 trade, +7 invention, −4 gossip, −10 feud) and feed back into future agent prompts — emergent character dynamics over time.
|
| 116 |
|
| 117 |
---
|
| 118 |
|
| 119 |
## Persistent History
|
| 120 |
|
| 121 |
+
Everything is stored in **SQLite**: days, events, creature relationships, inventory, nudges. The newspaper prompt includes the last two published headlines so the model writes *"In a development reminiscent of last Tuesday's acorn scandal..."* — history actually matters.
|
| 122 |
|
| 123 |
---
|
| 124 |
|
|
|
|
| 135 |
|
| 136 |
## Easter Egg
|
| 137 |
|
| 138 |
+
Type the **Konami Code** while the app is focused: `↑ ↑ ↓ ↓ ← → ← → B A`
|
| 139 |
|
| 140 |
+
A modal appears with all five raw system prompts — the behind-the-scenes look at what drives the simulation. Only the woodland elite know this.
|
| 141 |
|
| 142 |
---
|
| 143 |
|