Case study
Digital legacy platform
A web app where people organise everything their loved ones will need: wills, funeral wishes, insurance, documents and the people to notify. I built core product areas end to end, on top of a real API.
- Role
- Product engineer (frontend)
- Scope
- Wills & codicils, funeral wishes, insurance, contacts, forms, design system
- Year
- 2026
Stack
- Angular
- TypeScript
- Signals
- Tailwind CSS
- REST API
- Design system
The challenge
Planning for the end of life is emotionally heavy and administratively dense. People fill in long, legal-sounding forms, with beneficiaries, executors and bank details, about topics they would rather avoid. The product had to feel calm and guided, while handling complex, linked data reliably on every screen size.
What I built
Wills and codicils
Record pages wired to the backend: create and edit records, attach documents, and link beneficiaries and executors from the user's contacts.
Funeral wishes
Question flows grouped by topic, where a single yes/no answer reveals or hides the follow-up questions, so people only see what applies to them.
Insurance and documents
One shared store powering the same insurance list in two different parts of the app, so a change made in one place shows up everywhere instantly.
Contacts and administration on mobile
Dense tables that turn into readable card lists on small screens, with filters moved into a bottom sheet.
App-wide form validation
A single validation layer for every form: IBAN, URL and date rules, clear inline messages and input guarding that stops invalid characters before they are typed.
Design system
Shared primitives and page patterns reused across features, the foundation behind Aura, the design system showcased in this portfolio.
Key decisions
01
Show only what applies
Instead of one long form, related questions live together in a card. A yes/no switch collapses the follow-ups, and the hidden fields stay mounted so an answer is never lost if someone changes their mind.
Try it
Ceremony
Type something, switch it off and on again: the answer is still there.
02
Prevent errors instead of reporting them
Validation runs as you type and blocks impossible input, like letters in an account number. Checks such as the IBAN checksum give feedback before submitting, in the user's language.
Try it
Try DE89 3704 0044 0532 0130 00, or type a wrong digit.
03
Mobile as a first-class layout
Tables don't shrink well. Below desktop widths the same records switch to a card list built for touch, instead of forcing horizontal scrolling.
Try it
Name Relation Email Role Laura Gómez Sister laura@example.com Executor Daniel Ortiz Friend dani@example.com Beneficiary Marta Ruiz Notary m.ruiz@example.com Advisor 04
Patterns, not one-off screens
Wills and codicils share the same structure, so I extracted it into reusable components - page intro, record grid, framed card, file drop zone - sized with container queries. Each new record type became faster to ship and consistent by default.
Outcome
Core areas of the product went from static screens to fully working, API-backed features, built on shared patterns and a single validation layer that made each new feature quicker to deliver and consistent across desktop and mobile.