This is a submission for Weekend Challenge: Generosity Edition A donated washer can reach its next home with everything it needs — except the one thing a manufacturer manual cannot contain: what happened to this specific machine.
The person who repaired it knows what was replaced, what was tested, how this unit should be started, and what was packed with it.
The recipient usually does not.
That gap is what HANDOFF carries.
Give the appliance.
Pass on the know-how.
HANDOFF lets a refurbisher speak once, then turns that short, item-specific explanation into a bilingual voice-and-text handoff that stays with the appliance through one durable QR tag.
The volunteer already has the knowledge in their head.
Speaking for 20 seconds is cheaper and more natural than writing custom instructions, translating them, formatting them, and printing them.
And the recipient should not need an account, an app, or an English-first interface just to understand the thing they were given.
What I Built HANDOFF is an object-specific knowledge handoff for donated and refurbished equipment.
A refurbisher records a short voice note about the actual appliance in front of them.
HANDOFF then: cleans the real recording with ElevenLabs Voice Isolation creates an English ↔ Spanish voice handoff with ElevenLabs Dubbing v2 retrieves readable source and translated text persists the completed media gives the handoff one durable ID generates a printable QR tag that travels with the appliance What the recipient gets The recipient sees their language first.
For the verified English → Spanish sample: Español — Recipient English — Original They can play the recipient-language voice, read the same handoff as text, and switch both audio and text back to the original together.
If the audio cannot load, the readable handoff remains available.
Scan.
Listen or read.
The technician workflow is deliberately small: record → clean + dub → attach No recipient profile.
No manual translation step.
No long form.
Why this belongs in a generosity challenge Generosity does not end when an object changes hands.
A volunteer may spend time repairing, testing, cleaning, and preparing an appliance.
Helping the next person understand that specific object is part of the gift too.
A real nonprofit workflow made this problem concrete for me.
Tech Aid for Refugees repairs donated household appliances for refugee families, and its volunteer program also recruits translators for intake and deliveries.
HANDOFF is not affiliated with or endorsed by Tech Aid for Refugees.
Their workflow simply made the design gap tangible: the appliance and language support can be part of the same act of giving.
The distinction that shaped the product A manual is model-specific.
HANDOFF is object-specific.
A general translator can translate words.
HANDOFF captures the knowledge of the person who prepared this appliance, turns that real spoken handoff into a clearer recipient-language voice plus readable text, and attaches the result to the object itself.
Most translation tools end at a screen.
HANDOFF's output has somewhere physical to go.
The donated object becomes the index: scan this washer, and you get the knowledge for this washer — not a handbook collection, search result, or generic model response.
Demo Live app: https://handoff-gszdzr3pf-michael-neangs-projects.vercel.app Verified completed HANDOFF: https://handoff-gszdzr3pf-michael-neangs-projects.vercel.app/sample Printable sample tag: https://handoff-gszdzr3pf-michael-neangs-projects.vercel.app/sample/tag 50-second demo The verified sample was genuinely processed through the ElevenLabs pipeline during development.
It remains available at so judges can reliably experience the complete recipient flow even if the live API workspace is temporarily out of generation quota.
A real quota failure during testing also changed the product: HANDOFF now preserves the creator's recording, avoids a useless retry loop, and routes evaluators to a verified ElevenLabs-generated handoff and printable tag instead of presenting a dead end.
Code mneang / handoff HANDOFF Give the appliance.
Pass on the know-how.
HANDOFF turns a refurbisher's short spoken explanation into an item-specific, bilingual voice-and-text handoff that travels with a donated appliance through a QR tag.
Built for the DEV Weekend Challenge: Generosity Edition Prize category: Best Use of ElevenLabs A manufacturer manual knows the model.
HANDOFF knows this specific repaired object.
Demo Live app: https://handoff-gszdzr3pf-michael-neangs-projects.vercel.app/ Verified recipient experience: https://handoff-gszdzr3pf-michael-neangs-projects.vercel.app/sample Verified printable tag: https://handoff-gszdzr3pf-michael-neangs-projects.vercel.app/sample/tag 50-second demo: https://youtu.be/WfHnvo8pUgk The verified sample was genuinely processed through the ElevenLabs pipeline and remains available for reliable evaluation if live API quota is temporarily unavailable.
Why HANDOFF When a donated or refurbished appliance changes hands, the appliance travels — but the repairer's knowledge often does not.
The person who prepared the item may know what was replaced, what was tested, how this particular unit should be started, or what accessories are packed with it.
That information can disappear at delivery… View on GitHub How I Built It I used Next.js 16, React 19, TypeScript, Tailwind CSS, ElevenLabs, Vercel, Vercel Blob, and QRCode.
The most important technical constraint was not an API constraint.
It was a physical-world constraint: A QR tag may stay with an appliance long after the AI request that created it is finished.
That requirement shaped the architecture.
ElevenLabs is the transformation layer ElevenLabs is not an ornamental AI button in HANDOFF.
It does not simply read HANDOFF aloud.
It transforms the volunteer's original handoff itself.
Voice Isolation cleans the real recording.
Dubbing v2 carries that spoken handoff into the recipient's language.
The language-target transcript creates its readable counterpart.
Only after those outputs exist does HANDOFF persist them and create the QR that travels with the appliance.
Voice Isolation → clearer workshop recordings A repair volunteer may record beside tools, fans, loading areas, or other background noise.
HANDOFF sends the browser recording server-side through ElevenLabs Voice Isolation before further processing.
The API key stays server-side.
The result is a cleaner source recording for the handoff.
Dubbing v2 → a recipient-language voice, not just translated text The enhanced recording is sent to ElevenLabs Dubbing v2.
The prototype supports: English → Spanish Spanish → English HANDOFF polls the target language until the dub is complete, then retrieves the completed recipient-language audio.
The point is not merely to generate translated words.
The recipient gets a voice handoff derived from the actual explanation the refurbisher recorded.
Transcript → the same handoff remains readable HANDOFF also retrieves the language-target transcript and extracts both source and translated text.
So one short act of speaking becomes: cleaner source voice → recipient-language voice + readable bilingual handoff That is the accessibility decision I wanted to make structural rather than decorative.
The language controls expose their selected state to assistive technology, the active content carries the active language, keyboard focus remains visible, and an audio failure leaves the readable handoff available instead of blocking access.
I do not claim this solves every accessibility need.
It simply avoids forcing the handoff into one sensory modality.
The durable QR problem The first version of this idea could have ended with a QR code pointing directly at generated media.
That would have been fragile.
A physical tag should not depend on a temporary AI output URL.
So HANDOFF persists both the enhanced source audio and completed translated audio in Vercel Blob.
It then creates one manifest that binds the
