Together with a number of other engineers I worked on a next-generation memorial and end-of-life information platform. The existing product had gained a firm place in its market over the years, but no longer fully matched current thinking in the industry and in grief support.
My role operated on two levels. Substantively: setting up the architecture that integrates this renewed product into the rest of the client's application landscape, without duplicate truths and with clear responsibilities per system. Advisory: guarding the direction towards management, so that technical decisions plug into the broader product strategy and the agreed frames.
On the front-end the platform runs on Nuxt 3 with Vue 3 and Tailwind CSS, for an experience that feels calm, readable and respectful — boundary conditions that weigh much more heavily here than in an average product. On the backend sits Laravel 11 with PHP 8.2 and Keycloak for identity, alongside existing Java and Kotlin components that we hook in through clear contracts.
For mailing and campaigns we lean on a specialised campaign mailer, so we have per-message visibility into delivery, opens and bounces and can roll out new templates without a release. Analytics runs through Matomo, with a deliberate emphasis on privacy and data restraint that is non-negotiable in this sector.
On projects like this 'done' is less a moment and more a direction. We invested a lot in delivering meaningful value per release rather than waiting for one big bang — an approach that in a busy application landscape with stakeholders on multiple sides is, in practice, the only workable one.
What I value about this engagement is exactly that combination: technology where it matters, plus a role that makes sure tech and organisation reinforce each other instead of operating in parallel lines.
Outcomes
- Architecture that fits the renewed product into an existing landscape without duplicate truths
- Two tracks served at once: technical direction and advice towards management
- Working value per release instead of one large delivery