Kyle Kesterson
Case study · Hybrid physical-digital play

Campfire

Voice recognition with IBM Watson, LIFX smart bulbs and speakers layered over a physical children’s book. Screen-free, start to finish.

RoleCo-Founder & CEO
Dates2014–2017
PartnersLIFX · St. Jude · IBM Watson · Amazon Alexa
01

What it was

A bedtime story that lit the room. A parent read a physical picture book aloud; the app listened, followed along in the text, and cued the room, light colour, sound effects, ambience and score, on the spoken word.

It came out of watching kids put down books to pick up screens. So there is no screen in the experience: the device sat face-down on the nightstand, doing the listening.

Signal flow

One word = to mic and bulb.

01 Mic Audio Queue Services
22 kHz mono PCM
02 WebSocket continuous stream
whole session
03 Watson STT transcripts only
no timing
04 Script alignment two-level Levenshtein
adaptive threshold
05 LIFX over LAN UDP :56700
16-bit HSBK
06 Layered audio AVAudioPlayer
fx · ambience · score

mic → PCM over WebSocket → Watson STT → fuzzy script alignment → UDP packets to the bulbs + layered audio, authored in the browser, performed in the living room.

A father and daughter reading The World In A Second under coloured light
OUR INTENT Two or three reads in, the lights stop being the novel event and the book becomes the hero.
02

How it was built

a · voice capture

The iOS app captured the reader’s voice as raw PCM, Audio Queue Services, 22 kHz mono, and streamed it over a WebSocket to IBM Watson Speech-to-Text, running in continuous mode for the whole reading session.

b · script alignment

Watson only returned transcripts, the real trick was following along in the story. Every incoming hypothesis was fuzzy-matched against the script using two-level Levenshtein distance: word-sequence edit distance, where each word substitution costs its own character-level edit distance. Add an adaptive confidence threshold and a search biased around where the reader should be, and it survives paraphrasing, skipped words and STT errors.

c · lights

LIFX smart bulbs driven over the raw LAN protocol, no cloud, no SDK. The UDP binary protocol was hand-rolled in Swift on BSD sockets: broadcast discovery on port 56700, bulbs tracked by MAC, colour cues sent as 16-bit HSBK packets with fade durations rendered by the bulb firmware. Local network meant the lights hit on the spoken word, not a cloud round-trip later.

d · sound

Sound effects and looping musical score beds played as layered channels via AVAudioPlayer, all synced to the same story timeline.

GeekWire · August 2016 New ‘Campfire’ app uses physical books and smart bulbs to create a ‘magical’ reading experience for kids Contemporaneous confirmation of the Watson speech recognition, the connected bulbs and speakers, and the creator tool, written the year it shipped.
03

The authoring tool

Stories were authored in a web tool, an AngularJS app on Node, Express and MongoDB, deployed on Heroku with assets on S3.

Authors laid out trigger lines, light tracks and sound channels on a timeline, then published to a marketplace the iOS app pulled from. Scoring a book was the slow, skilled work; the tool existed to make that work possible for someone who was not an engineer.

FROM CONSUMERS TO CREATORS

Seven-year-olds scored and published their own story experiences.

A few dozen experiences, authored by children, light, sound effects, ambience and music laid underneath their own words, triggered on their own sentences. The tool was simple enough that the kids who were meant to be the audience became the makers instead.

Campfire product overview: iOS login, library, book details and active states, plus the web Story Builder and Story Library
The whole system Four iOS states, login, library, book details, active session, over the two web tools: Story Builder for scoring a book, Story Library for publishing it. One product, two audiences: the family reading and the author writing.
04

What broke

Recognition was a main driver of the product, and recognition is fragile. Thick accents, a speech impediment, or a noisy room and we could not clear a confident enough threshold to fire a trigger. On a weak connection you dropped to manual mode, tapping cues instead of speaking them.

The rule I work by now: when the magic depends on a recognition threshold, the manual path ships as a first-class mode on day one, not as a fallback to apologise for.

A real test session A real home, a real reading.
05 · What kids did with it

Three things happened that we did not design for.

01

After two or three reads, the effects went into the background, and the kids started inventing.

First pass they were in awe: the lights changing, the realism of the sounds. Then the experience receded and the story came forward. That is when they got imaginative, vocalising what else might be happening on the page, off the edges of the book.

02

Kids with ADHD and kids on the spectrum went still and stayed with the story.

Not just quiet, but enraptured. The room did the work of holding attention that a parent otherwise has to do alone.

03

It made some parents cry the first time they saw it.

That is the outcome I would put above every number on this page.

The Campfire hub and tablet on a nightstand beside the book
The hardware, in place Hub, tablet, book. Everything the room needed, sitting where it actually sat.
06 · Outcome
~40,000

Families

Dozens

Stories scored by kids

LIFX, Alexa

Hardware partners

St. Jude

Children’s Research Hospital

07

What I’d do differently

Fewer retail conversations, more grassroots activation, and hire college students to pump out experiences instead of gating the library behind our own authoring time.

And if done today, I would rebuild trigger design with AI doing the heavy lifting. The slow part was scoring a book cue by cue; that work is now largely machine-assistable, which changes the economics of the whole library.

Next: Freak'n Genius