← Ideas
Project Thread
Eulogy Companion: Honor Lives with Collected Memories
Help grieving families gather stories, photos, and tributes from community members into a single meaningful keepsake.
# Eulogy Companion: Honor Lives with Collected Memories ## The Problem When someone in a community passes away, dozens of people hold precious memories—the neighbor who remembers their generous snow shoveling, the coworker who knew their terrible puns, the childhood friend with stories the family never heard. But these memories stay scattered and unshared because people don't know how to reach grieving families, feel awkward interrupting their mourning, or simply don't have a channel. Meanwhile, families receive generic sympathy cards when what they really need is a fuller picture of the life their loved one lived outside their home. ## Who Uses It **Memorial Coordinators** — A family member, funeral director, or close friend who creates the memorial page and decides when to compile the keepsake. They need something simple to set up during an already overwhelming time. **Memory Contributors** — Neighbors, former colleagues, congregation members, old classmates who want to honor the deceased but lack a direct line to the family. They need permission and a gentle prompt to share. **Grieving Families** — Spouses, children, siblings who will receive the compiled memories. They need something beautiful that arrives after the funeral chaos subsides, when the real loneliness sets in. **Local Funeral Homes & Churches** — Organizations that could offer this as a service enhancement, creating memorial pages on behalf of families they serve. ## Core Features 1. **Simple Memorial Page Creation** — A coordinator enters the deceased's name, dates, a photo, and a brief prompt ("Share a memory of Dad—anything from a funny story to a quiet kindness"). This generates a unique shareable link with no login required for contributors. 2. **Multi-Format Memory Submission** — Contributors can add written memories (with optional word count guide), upload photos with captions, or record a voice note directly in the browser. Each submission includes the contributor's name and their relationship to the deceased. 3. **Gentle Theme Tagging** — Contributors optionally tag their memory: "Funny moment," "Act of kindness," "Work or career," "Childhood & youth," "Faith & wisdom," "Just a small thing." This helps organize the final keepsake without requiring effort from grieving coordinators. 4. **Moderation Queue** — Coordinators see submissions before they go live, with one-click approve/request-edit/archive. Protects families from inappropriate content while keeping the process lightweight. 5. **Living Memorial Wall** — Approved memories appear on a public-facing page (if family chooses) where visitors can read and add their own. Works for both immediate post-death gathering and ongoing remembrance. 6. **Keepsake Export** — One click generates a formatted PDF booklet organized by theme, ready for home printing or professional print service. Includes cover page, table of contents, and all photos at print resolution. Also exports as a single shareable webpage for digital keepsakes. 7. **Timed Delivery Option** — Coordinator can schedule the compiled keepsake to be emailed to family members on a future date—perhaps 3 months after the funeral when support has faded but grief hasn't. ## WellSpr.ing Integration Points **`ask_ody` (MCP tool)** — Primary integration. When contributors feel stuck ("I want to share something but don't know how to start"), Ody can offer gentle prompts: "What's a small moment with [name] that stuck with you?" or "How did [name] make ordinary days better?" Also helps coordinators write the initial memorial prompt if they're struggling with words during grief. **`get_local_news` (MCP tool)** — Optional enhancement: surface any local news mentions of the deceased (community awards, event participation, letters to editor) that contributors might reference or families might want included. **`get_businesses` (MCP tool)** — If the deceased owned or was strongly associated with a local business, pull that context to help frame their community role and prompt relevant memories from customers. **`search_civic_services` (MCP tool)** — Help coordinators find local grief support services, funeral planning resources, or estate assistance to display as a helpful sidebar. **`get_notable_persons` (REST: GET /api/notable-persons)** — If the deceased was a recognized community figure, pull existing biographical context that might help prompt richer memories. **`get_geo_portals` (REST: GET /api/geo/portals)** — Display relevant local community resources on the memorial page footer, connecting grieving families with neighborhood support. **Future: Covenant Commerce** — *Roadmap: not yet live.* Eventually, local florists or meal-train services could be integrated so contributors could send tangible support alongside memories. Would use federated merchant APIs when available. ## Data Model ``` MEMORIALS ├── id (uuid) ├── deceased_name (string) ├── birth_date (date, optional) ├── death_date (date, optional) ├── photo_url (string, optional) ├── prompt_text (string) — "Share a memory of..." ├── coordinator_email (string) ├── coordinator_name (string) ├── is_public (boolean) — show wall publicly or keep private ├── share_slug (string, unique) — for URL like /remember/john-martinez ├── created_at (timestamp) └── scheduled_delivery_date (date, optional) MEMORIES ├── id (uuid) ├── memorial_id (foreign key) ├── contributor_name (string) ├── relationship (string) — "Neighbor," "Coworker," etc. ├── memory_text (text, optional) ├── photo_urls (array of strings, optional) ├── voice_note_url (string, optional) ├── theme_tag (enum) — funny, kindness, work, childhood, faith, small_thing ├── status (enum) — pending, approved, archived ├── submitted_at (timestamp) └── approved_at (timestamp, optional) KEEPSAKES ├── id (uuid) ├── memorial_id (foreign key) ├── format (enum) — pdf, webpage ├── file_url (string) ├── generated_at (timestamp) └── delivered_to (array of emails, optional) ``` ## Vibe Coding Prompt to Get Started Paste this into Claude or Replit Agent: ``` Build a memorial memory collection app called "Eulogy Companion" using Next.js 14 with App Router, TypeScript, Tailwind CSS, and SQLite (via Prisma) for simple deployment. The aesthetic should be warm, dignified, and calm—think soft grays, cream backgrounds, serif headings, generous whitespace. No dark patterns, no urgency. FIRST MILESTONE — Memorial Creation Flow: 1. Landing page explaining the concept with a "Create a Memorial" button 2. Simple form: deceased's name, optional photo upload (to local storage for MVP), optional dates, a text prompt field pre-filled with "Share a memory of [name]—a funny story, a kindness, or just a small moment that stayed with you", coordinator email 3. On submit, generate a unique slug and show the shareable link: /remember/[slug] 4. The public memorial page displays the photo, name, dates, and prompt, with a form below for contributors to add: their name, relationship dropdown, memory text area, optional photo upload, theme tag radio buttons (Funny moment, Act of kindness, Work life, Childhood, Faith & wisdom, Small thing) 5. Submitted memories go to a /manage/[slug] page (protected by coordinator email magic link) showing pending submissions with Approve/Archive buttons 6. Approved memories appear on the public page in a gentle card layout grouped by theme For Ody integration, add a small "Need help finding words?"
◎

This is your project thread with Ody.
Ask questions, share screenshots, talk through the build.
Anyone with this link can join the conversation.

Paste screenshots or upload images/PDFs · Shift+Enter for new line