--- title: Tiny Army emoji: ⚔️ colorFrom: red colorTo: yellow sdk: docker app_port: 7860 pinned: true license: mit short_description: Tiny Army — fighters write their own true legends tags: - track:wood - sponsor:nvidia - sponsor:openbmb - achievement:offbrand - achievement:welltuned - achievement:fieldnotes --- # ⚔️ Tiny Army **Build Small Hackathon — Thousand Token Wood.** *Every fighter writes its own legend — and the legend is true.* Recruit AI heroes conjured from nothing: a small LLM writes each one's name, persona and battle-cry, a diffusion model paints its portrait, and a voice model gives it a voice. They roam a real-time map and fight; you **forge brand-new skills just by describing them**; they level up and recount their battles in first person — and because each unit's learned "soul" actually drives how it fights, the war diary is *true*. The AI isn't decoration: it's load-bearing, from the sub-megabyte brain that picks every move to the words it speaks. - **▶ Demo video:** https://www.youtube.com/watch?v=gqo7S259zqk - **📣 Social post:** https://www.linkedin.com/feed/update/urn:li:activity:7472190937620951040/ - **🤗 Space:** https://huggingface.co/spaces/build-small-hackathon/tiny-army ## The load-bearing AI (every model < 32B) - **OpenBMB CPM family, end to end:** **VoxCPM** designs + clones each hero's voice; **MiniCPM5** drives in-character chat and is a Skill-Forge coding option. - **Tactics ("soul"):** a **< 1 MB ONNX policy net** running in the browser — genuinely tiny, fully load-bearing (it decides how every unit fights, and that's what the diary recounts). - **Personas / war diaries:** CohereLabs **tiny-aya**. - **Portraits:** FLUX.2 **Klein-4B** + a published **weiner LoRA** (`polats/weiner-klein-lora`). - **Skill Forge (text → a real, usable skill):** **NVIDIA Nemotron**, JetBrains Mellum, and BLS Mini-Code. - **Music / cinematic title theme:** **ACE-Step**. - **Frontend:** a custom **Pixi.js** game + cinematic intro served by **FastAPI**, with a mounted **Gradio** barracks for hero creation. ## Hackathon entry - **track:wood** — Thousand Token Wood (whimsical, AI-native). - **sponsor:nvidia** — Skill Forge uses NVIDIA **Nemotron**. - **sponsor:openbmb** — OpenBMB CPM family: **VoxCPM** voices + **MiniCPM5** chat/coding. - **achievement:offbrand** — a custom Pixi.js game UI, well past stock Gradio. - **achievement:welltuned** — ships a published fine-tune, `polats/weiner-klein-lora`. - **achievement:fieldnotes** — write-up of what we built and learned (see the social post above). ## Running locally `docker build` + run, or `python app.py` (port 7860). The model sidecars (Tiny Aya, Klein, VoxCPM, ACE-Step) can run on the hosted ZeroGPU Spaces or locally via `./run_sidecars.sh` — see `docs/local-sidecars.md`.