Drawing 02.11, ai application
Christmas Story Card
Guided questions become a personal card with a story written for the family and read aloud in a chosen voice, shared at its own link or exported as a PDF.
| No. | Part | What it does here |
|---|---|---|
| 1 | Browser | Answers the guided questions, uploads photos, and plays the finished card. |
| 2 | Next.js on Vercel | Pages, the shareable card, and Stripe Checkout with a webhook that grants credits. |
| 3 | Cloud Functions | Writes the questions and the story, makes the narration, and exports PDFs, behind a Firebase token. |
| 4 | OpenAI | Writes the guided questions and the story from the answers. |
| 5 | ElevenLabs | Reads the story aloud in the chosen voice. |
| 6 | Firebase Storage | Family photos and the narration audio. |
| 7 | Firestore | Cards, stories, users, and plan credits. |
Why it exists
I wanted to send my family something more meaningful than a generic card, so I built a way to write a personal story from a few answers, narrate it, and share it as a card.
How it is built
The pages and the shareable card run on Vercel; the heavy work runs in Firebase functions behind the signed-in user's token. OpenAI writes the guided questions and then the story from the answers, ElevenLabs reads it aloud in the chosen voice, and the audio is stored with the card's photos.
Stripe Checkout sells credits and subscriptions, and its webhook writes the buyer's plan to Firestore, which sets how many rewrites, narrations, and PDF exports a card gets. The PDF export runs a headless browser in a function that is allowed nine minutes.
What it does
- Guided questions that become a written story
- Narration in a chosen voice
- A shareable link for every card, and PDF export
- Credits and subscriptions through Stripe
Plates
