Inspiration
We were drawn to the hackathon's Connect track and the premise of living in an increasingly fragmented society. We started with a provocation: strangers need strange moments together.
We landed on the lighter—a humble object that naturally travels between people. Lighters get borrowed, lost, stolen, and passed around. They already move through communities. What if one could carry something more than flame?
We also drew from critical design and "appropriate technology" thinking: instead of another app or chatbot, we wanted something tangible, something you hold, something that feels a little ceremonial. The flip-top gesture becomes a threshold—opening it means you're ready to be vulnerable.
What it does
Closer to the Fire is a handheld device disguised as a flip-top lighter. Here's the experience:
Open the lid — The device speaks a reflective question aloud (e.g., "Are you missing anyone right now? Do you think they're missing you too?")
Hold to record — Press and hold the button to record your spoken answer
Hear a connection — The device finds and plays back a semantically similar answer from someone else who encountered the lighter before you
Press again — Hear more anonymous answers to the same question
Close the lid — Reset and receive a new question next time
The lighter also functions as an actual lighter—it's a real object that belongs in the world.
As the device travels through a community, it accumulates intimate reflections, building an anonymous tapestry of shared human experience.
How we built it
Hardware:
- SEED XIAO ESP32S3 Sense (built-in PDM microphone)
- Custom 3D-printed enclosure inspired by classic flip-top lighters
- Lid sensor, momentary buttons, NeoPixel LED for feedback
- PWM audio output to a small speaker
- Serial communication to a "computer-in-a-box" running the backend
Embedded Software:
- Multi-node "microservice" architecture using Zenoh pub/sub messaging
- State machine orchestrating the interaction flow (idle → listening → processing → speaking)
- Speech-to-text via Faster Whisper
- Text-to-speech via Piper TTS
- Real-time serial protocol for audio streaming and hardware events
Backend:
- Lightweight Flask API with Socket.IO for real-time updates
- SQLite database storing questions and community answers
- Semantic similarity powered by Sentence Transformers (all-MiniLM-L6-v2)
- Answers encoded as vectors; cosine similarity finds the most resonant match
Data Collection:
- We seeded the database by sending a Google Form with reflective questions to our own communities before the hackathon
Web Interface:
- React + TypeScript frontend showing all questions and answers
- Real-time updates as new answers flow in from the device
Challenges we ran into
- Audio I/O on microcontrollers: Getting clean audio capture and playback on the ESP32 required careful buffering, PWM tuning, and an RC low-pass filter to smooth the output
- State machine complexity: Coordinating button presses, speech recognition, API calls, and audio playback across multiple threads required a robust pub/sub architecture
- Latency: Balancing transcription speed with accuracy—we tuned Whisper parameters to keep the interaction feeling responsive
- Physical design: Making the enclosure feel like an actual lighter while housing electronics, a speaker, and a microphone
Accomplishments that we're proud of
- It works as a lighter — The device genuinely sparks flame. It belongs in the world as a real object, not just a prototype.
- The moment of connection — Hearing a stranger's vulnerable answer that echoes your own is genuinely moving. We tested it on ourselves and got chills.
- Robust architecture — The multi-node system is modular and extensible. Each component (serial, STT, TTS, API, state machine) runs independently and communicates via pub/sub.
- End-to-end in a weekend — Hardware, firmware, embedded backend, API, semantic search, and a web dashboard—all integrated and demoing live.
What we learned
- Intimacy in anonymity: Sometimes we're more comfortable confiding in strangers we may never meet again. The lighter creates permission to be vulnerable.
- Objects carry meaning: A flip-top gesture, a warm LED, the weight in your hand—these details matter. Interaction design extends beyond screens.
- Semantic similarity is powerful: Finding answers that resonate rather than match keywords creates a feeling of being understood.
What's next for Closer to the Fire
- Content moderation: Implement filtering to reject harmful or abusive language before it enters the community pool
- Multiple responses: Let users tap to hear additional similar answers, not just the closest match
- Community insights: Aggregate anonymized patterns to help communities understand shared struggles and desires—then address them
- Deployable fleet: Build multiple lighters and release them into specific communities (dorms, co-working spaces, neighborhoods) to study how they travel and what emerges
- Ritual design: Explore other "threshold" interactions—what else could the flame ignite?
Built With
- 3dprinting
- arduino
- esp32
- fasterwhisper
- flask
- piper
- pipertts
- python
- react
- socket.io
- sqlite
- typescript
- vite
- whisper
- zenoh
Log in or sign up for Devpost to join the conversation.