← All projects
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
The public site: memorial page, the digital biography, and the guided process.
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

The family dashboard: a memorial in progress and the memorials you've been invited to contribute to.
The family dashboard: a memorial in progress and the memorials you've been invited to contribute to.
The admin portal: user management with activity totals and a searchable member directory.
The admin portal: user management with activity totals and a searchable member directory.
Tech stack
Claude APINext.js 15React 19TypeScriptTailwind CSSFastAPIStrawberry GraphQLasync SQLAlchemyPostgreSQLAlembicApollo Client v4StripeAWS S3
Next project
Healthcare Platform