Inspiration
Every family has stories worth passing down — but a tale that moves a grandparent puts a 7-year-old to sleep. We wanted to fix that. One story should be able to reach every generation.
What it does
EchoWise takes any story — a memory, a letter, a book passage — and adapts it for any audience age (5–80). It rewrites the vocabulary, tone, and structure to match that age group while preserving the emotional core. Then it narrates it back using an age-matched ElevenLabs voice.
How we built it
- Next.js (App Router) for the full-stack framework
- Groq (Llama 3.3 70B) for a two-step AI pipeline: first extract the emotional core, then rewrite for the target age
- ElevenLabs (
eleven_multilingual_v2) for age-matched narration - pdf-parse for uploading story PDFs
- GSAP for polished UI animations
- localStorage for story history and saved entries
Challenges we ran into
pdf-parsev2 switched to ESM, breaking Next.js bundling — fixed withserverExternalPackagesandcreateRequire- Getting Groq to preserve emotional nuance while drastically changing reading level required careful two-step prompting
- GSAP entrance animations conflicting with React re-renders on interactive elements
Accomplishments that we're proud of
The two-step Groq pipeline genuinely works — the same story about loss reads like a fairy tale for a 6-year-old and like literary fiction for a 45-year-old, while the emotional truth stays identical.
What we learned
Age-adaptive writing is less about vocabulary and more about what you choose to explain — children need concrete metaphors, seniors need space for reflection. Teaching that to an LLM through prompt design was the core challenge.
What's next for EchoWise
- Side-by-side comparison view (original vs adapted)
- Voice cloning so families can narrate in a loved one's actual voice
- Export to audiobook / shareable link
- Multi-generational batch: adapt one story for all ages at once
Log in or sign up for Devpost to join the conversation.