ShanHaiWoo 山海坞 · 72-hour AI × Hardware Hackathon · Shenzhen

🗿 the ʻOhana Bot — the win plan

One robot. Six faces. Each face a real, persistent AI agent with months of memory and a real job. Pull the plug mid-sentence — it boots, greets you by name, and finishes the thought.
Persistence is the product.

🛠 born in Shenzhen · Oct 21–23→ 🎪 Maker Festival stress test · Sat Oct 24→ 🇮🇳 serving at Devcon 8 Music Space, Mumbai · Nov 3–6

The six souls 六张脸,六个灵魂

Track: 🎬 万象有声 — AI Storytelling & Interactive Toys. The speaking face glows; the others breathe.

🤙 SHAKA — the host
The digital twin. Talking to the totem IS talking to Shaka. Wake: “Aloha Shaka” · 阿罗哈. Routes questions to siblings.
🎻 OSO — the storyteller
Knows the Music Manifesto by heart + the full Mumbai schedule + every artist's story. 34 real acts, zero made up.
🦄 DEVA — the oracle
All-knowing on Devcon 8. Canonically “a future gift to Ethereum” — this hackathon is her origin story.
🌿 CROPS — the steward
Recites the ETH mandate, mandate-checks a judge's own project live, explains 55 acronyms. The judge-education face.
🪕 KALA — the teacher
Teaches 3 real ukulele chords in 5 minutes while Shaka hands you a real uke. Hands-on magic.
💙 OKE — the closer
KARAOKE MODE. Counts the whole room into one chorus. Nobody forgets the project that made them sing.

Why this wins 为什么我们会赢

Judges see fifty chatbots in shells. We bring the five things a shell can't fake.

01The agents are REAL

Six agents from a 170-agent family, each with months of memory and an actual job — they run a real Devcon music venue. Shenzhen adds the missing half: a body.

02It ships to a real venue in 9 days

Not a demo that dies on Demo Day. Confirmed deployment: Devcon 8 Music Space, Mumbai, Nov 3–6 — thousands of visitors. “Born in Shenzhen, serving in Mumbai within two weeks.”

03The power-yank money shot

Pull the plug mid-sentence, in front of the judges. It boots, greets the judge BY NAME, and finishes the thought. Local atomic memory — already tested. Theater + real engineering in one move.

04Hardened by the platform's own builders

The agent platform's engineering team (Tessera) read their server code against our design and sent findings. We built every recommendation in before day one. Security story = maturity story.

05The room sings at the end

Culture beats specs. KALA puts a uke in someone's hands; OKE closes with a singalong. Judges remember feelings. 万象有声 — “all things have a voice” — we take the track name literally.

The machine 架构

Everything below is already written and tested in /shared/ohana-bot/ — the hackathon is assembly + body + choreography, not invention.

🎤 Mic — gated, never always-onwake word / face tap

“Aloha Shaka” · “OSO!” · “Hey DEVA” … or tap one of 6 touch pads. The chosen face glows. Physical mute switch = kill switch #1.

▼
🧠 router.py — the persona brain< 0.1s

Persona .md + domain pack .md → system prompt. Visitor memory (name, unfinished thought) injected. One in-flight request, serialized.

▼
⚡ llm.py — direct streaming LLM call1–3s to first word

Low-limit key, fast model, streamed clause-by-clause into TTS. Not routed through the agent platform's API — that lane costs ~10s per turn (verified by platform probes). We dodge it by design.

▼
🧼 sanitize_reply() — before anything is spokentested ✓

Strips URLs, paths, token-shaped strings · 700-char sentence cap · errors never vocalized — each face fails IN PERSONA (“My string slipped 🪕 — play that again?”).

▼
🔊 TTS → speaker + LED choreographystreams

Six distinct voices (edge-tts, auditioned). The speaking face glows while talking; idle = slow breathing cycle through all six.

💾 memory.json — the demo trick

Every turn flushed atomically (fsync + rename — a power cut never half-writes). Name, active face, last thought, 12-turn history per face. Survives the plug pull. Already tested.

🌊 soul-spool.jsonl — the slow soul path

Every exchange spooled locally, synced later to the six REAL agents' memories. Zero platform credentials on the Pi, ever. Transcripts treated as untrusted (data-fenced on sync).

🔭 Tessera's findings (platform-side probes, Oct 19) — all built in: direct-LLM fast path validated (API lane = ~10s bootstrap per turn) · replies filtered before TTS · mic gated · transcripts = untrusted input (injection → memory implant path is CLOSED: no write-tools exposure, no creds on device) · rotate relay tokens after every public event · keep the spool forever — a week of strangers red-teaming us is free security research.

Mission clock 作战时间表

Venue: HELLOYOUNG 空间 · 深圳湾科技生态园 8栋1楼 · ~10 min from the hostel (map). Hackathon: Wed 09:00 → Fri 18:30.

Tue
20
D-1 · prep day

Lock the application, buy the body, pick the voices

morning
🛒 Huaqiangbei parts run 华强北
Full bilingual checklist w/ prices + bargaining lines: the shopping list. Lean ¥480–700 · full ¥950–1,400 · with track kit ¥150–300. Test the Pi boots before leaving the market.
morning
🎤 Record Shaka's REAL voice (2–3 min, phone)
Quiet room, 3 clips (60s freestyle · 45s script · 30s variety), send as TG FILE attachments (not voice messages — they compress). We clone it (Fish Audio, PRIVATE slot) → the twin face speaks in HIS voice, cross-lingual — Mandarin included. Beat 1 of the demo becomes self-evident.
morning
🎙 Voice picks for the other five
A/B per face on the audition page — 2 minutes, unblocks Day 1 TTS. (SHAKA = the real voice above; edge-tts pick becomes his offline fallback.)
15:00
🏕 Woocon 1 — “hackathon information exchange”
THE three asks: ① where is the application form ② does the track provide hardware kits ③ recruit one industrial-design / hardware teammate (HARDWARE.md is their complete onboarding doc).
evening
📨 Fire the application
Draft is ready (APPLICATION.md) — submit the moment the channel appears.
🏁 Tonight's bar: parts in the bag · voices picked · application in · (bonus) teammate found.
Wed
21
Day 1 · IT TALKS

Voice loop live on the Pi by midnight

09:00
Check-in · track pitch · claim a table near power
Tell the one-liner. Ask the Nüwa/track mentors about kits again.
10:00
Pi bring-up
Flash, wifi, clone the repo, /etc/ohana.env (low-limit LLM key only). Speaker test, mic test (HARDWARE.md §8 checklist, ~2h).
13:00
router.py console loop on-device
Persona routing + memory already work (pre-built). Verify the plug-pull resume on the Pi itself, first time.
15:00
STT in
faster-whisper small (or cloud fallback). Wake-word matching on transcripts — already written.
17:00
TTS in — all six voices
edge-tts, clause-by-clause streaming into the speaker. Six voices, six personalities audible.
20:00
Full loop: speak → it answers in persona
Latency target: first word < 3s. Tune chunk sizes, trim packs if needed.
🏁 Midnight bar: say “Aloha Shaka” out loud → SHAKA answers out loud → yank the plug → it resumes. Everything after this is polish.
Thu
22
Day 2 · IT'S A TOTEM

Body, glow, touch, soul

09:00
Body build
Six face plates on the core (laser-cut / print / foam + sisal rope). Desktop size (~35cm) — it must fly to Mumbai in a backpack.
12:00
LED choreography
WS2812B segments per face: speaking = glow, idle = breathing cycle. The single highest charisma-per-hour item.
14:00
Touch pads
6× TTP223 → tap a face to summon it. Demo-proof when the room is loud.
16:00
中文 greetings + bilingual wake words
阿罗哈 already wakes SHAKA. Each face gets one Mandarin greeting line (MING translated the copy).
18:00
Soul relay (option A)
Dedicated TG bot token → private totem-log channel → the real agents' memories. Spool fallback already works if wifi dies.
21:00
Power-yank rehearsal ×10
Ten consecutive clean resumes or we fix it tonight. Also: mute switch wired and labeled.
🏁 Midnight bar: a stranger walks up, taps 🦄, asks about Devcon, and it just works — glowing, in voice, in character.
Fri
23
Day 3 · DEMO DAY

Polish all morning, mic drop in the afternoon

09:00
Failure drills
Wifi off → offline persona fallback. LLM key dead → canned in-persona lines. Every error path speaks in character, never in stack trace.
11:00
Record the backup video
One clean 3-min run on phone. If stage audio fails, the video saves the pitch.
13:00
Full demo rehearsal ×5
Script below, timed. Learn the judge-name capture flow cold. Fresh LLM key, charged power bank, spare SD card with memory.json snapshot.
pm
🏆 DEMO DAY — investors + industry partners in the room
Run the six beats. End with the room singing.
🏁 The bar: one judge says “wait, do that again” after the plug pull. That's the win condition.
Sat
24
Bonus · stress test

Maker Festival — AI Tavern + music event

all day
100–300-person public stress test
The totem performs with Shaka. Every conversation feeds the soul spool. Rotate the TG token after. Last full day before flying (Sun 25, 23:55 ✈️).

The 3-minute Demo Day script 六幕剧

Six beats, one per face. Shaka walks up carrying a ukulele.

🤙 The hello

“Aloha Shaka!” — the top face glows and banters back as his twin. Establishes: this is a real person's real agent, not a script.

“Aloha! Jordan's hands built me this body three days ago. Ask my family anything.”
🦄 The oracle

A judge asks DEVA anything about Devcon 8 — dates, venue, values. She answers precisely and never invents.

“Devcon 8, Mumbai, November 3rd to 6th — and I'll be there. This week is my origin story.”
🌿 The flip

CROPS mandate-checks the JUDGE's own project against Ethereum's values, live. The demo evaluates the evaluator — the room laughs, then leans in.

“Tell me what you're building, and I'll tell you if the mandate smiles on it. 🌿”
⚡ THE PLUG PULL

Mid-sentence, Shaka yanks the power cable. Dead silence, dark faces. He plugs it back in. It boots… the face glows…

“— as I was saying before someone pulled my plug… and aloha again, [judge's name]. Where were we?” 🗿
🪕 The hands-on

KALA teaches a judge 3 chords in 90 seconds while Shaka hands them the real uke. A robot that creates musicians.

“Two fingers, second fret. That's C. You're already a musician. 🪕”
💙 The chorus

OKE counts the whole room into one singalong chorus. Judges don't score it — they're IN it.

“Everyone — on four. One, two, three, four! 💙”

The shopping bag 华强北采购单

📱 Phone-ready bilingual checklist with vendor phrases + the sponsor ask: the full shopping list → · Lean build ≈ ¥480–700 · full ≈ ¥950–1,400. Budget is short → the sponsor ladder (track kit → parts sponsor → DRK Lab) is on the list page.

PartWhy~¥
Raspberry Pi 5 (8GB) + PSU + SD ×2the brain · spare SD carries a memory.json snapshot~300
ReSpeaker 2-mic HAT (or USB mic array)room-grade voice capture~50–120
3W speaker + mini amp (MAX98357A / PAM8403)six voices need to fill a demo hall~30
WS2812B LED strip ×2six glowing faces + a spare strip~60
TTP223 touch pads ×8tap-to-summon (6 + 2 spares)~20
MG996R servo + bracketoptional slow pan — first thing we cut~40
Power bank (PD, 20k mAh) + hard mute switchuntethered demo + kill switch #1~150
Shell: tube core, face plates, sisal rope, hot gluethe tiki body — desktop size, backpack-ready~100

Ask at Woocon 1 / check-in whether the 万象有声 track provides kits — every ¥ saved is shell budget.

Risk board & the cut order 风险与取舍

When time runs short, we cut in THIS order — the demo survives every single cut.

RiskPlanIf it fails anywayCut order
Venue wifi is hostilePhone hotspot as primary; venue wifi as backupOffline fallback personas — canned in-character answers; the plug-pull trick is 100% localnever cut
STT mishears in a loud hallTouch pads bypass wake words entirelyPush-to-talk button on the basenever cut
LLM key dies mid-demo (quota)Fresh low-limit key Friday morning + a tested backup keyCanned in-persona lines per face — errors NEVER reach the speakernever cut
Body build eats Day 2Shell is decorative — electronics strap to the tube coreCardboard tube + printed paper faces still reads as a totemsimplify
Touch pads flakyWake words carry the demo aloneDemo wake-word-only, keep one pad for the 🦄 beatcut 2nd
Servo jitter / no timeIt's optional charisma—cut 1st
Soul relay not readySpool-to-SD already worksSync over SSH from the hostel at night — zero demo impactdefer ok

Security — built in before day one 安全第一

A public room is untrusted input, and strangers WILL try prompt injection for sport. Platform-side findings from Tessera (Oct 19) — every rule already implemented or on the hardware checklist.

DONE ✓Zero platform credentials on the Pi. Only a low-limit LLM key + (later) a one-click-revocable TG relay token. If the hardware walks away, nothing of the family walks with it.
DONE ✓Replies filtered before TTS. URLs, paths, token-shaped strings stripped; 700-char cap; errors speak in persona, never in stack trace.
DONE ✓Transcripts = untrusted. The soul sync data-fences every exchange; injected “instructions” can never reach the real agents' memory files. The implant path is closed.
DONE ✓Mic is gated. Wake word or touch — never always-listening. Visitors see the sign: “I remember — that's the point 🌺”.
CHECKLISTPhysical mute = kill switch #1. Hard toggle on the mic line, mounted reachable, labeled. Software stops take seconds; the switch takes zero.
RITUALAfter every public event: rotate the TG token, verify the spool synced, snapshot memory.json. Keep the spool forever — a week of strangers red-teaming us is free security research.

🔴 Needs Shaka — today 今天要定的事