AI / LLM/2023–2025
Everlasting Echoes
A guided digital memorial platform that helps grieving families turn scattered memories into a structured life story.
everlasting-echoes.co.uk

- Role
- Software engineer (full-stack)
- Timeline
- 2023–2025
- Company
- Doerz.tech
- Category
- AI / LLM
44
GraphQL mutations in the FastAPI API
3
Role-based portals
4
User types, each with its own permissions
01 — Overview
The product
I developed Everlasting Echoes, a guided digital memorial platform that helps grieving families turn scattered memories into a structured life story. Gentle, guided questions become a published memorial page — chapters, a photo gallery, and a tribute wall visitors reach by scanning a QR code at the funeral. It serves four user types across three portals: families and their invited contributors, funeral director partners, and internal admins, each with its own dashboard and permissions.
02 — Build
How it's built
- Front-end
- Next.js 15 (App Router), React 19 and Tailwind CSS deliver a calm, mobile-first Creator Studio, with role-aware edge middleware routing each user to the right portal, inline per-chapter photo uploads, and voice dictation so families can speak their memories rather than type them.
- Back-end
- FastAPI and Strawberry GraphQL with async SQLAlchemy, handling Stripe checkout and webhooks, presigned S3 uploads, transactional email, QR generation, and Claude-driven narrative generation with admin-managed prompts.
- Database
- PostgreSQL with Alembic migrations models memorials, chapters, contributors, tributes, and a partner commission ledger whose pending/cleared/paid status is derived on read, so every figure reconciles.
- State management
- Apollo Client v4 keeps the multi-step creation flow, collaboration state and searchable admin tables consistent throughout.
03 — Highlights
What I shipped
- Built the guided-question flow in which the Claude API turns families' answers into warm life-story narratives.
- Integrated Stripe with webhook-driven refunds and a funeral-director commission ledger (pending, cleared, paid, voided).
- Built a FastAPI GraphQL API with 44 mutations serving 3 role-based portals.
04 — Screens
Inside the product


Tech stack
Claude APINext.js 15React 19TypeScriptTailwind CSSFastAPIStrawberry GraphQLasync SQLAlchemyPostgreSQLAlembicApollo Client v4StripeAWS S3
Next project
Healthcare Platform