Skip to main content

017. Use front end and Crowdin to generate SES email templates

Date: 2025-09-18

Status

Accepted

Context

Our initial approach used Jinja to generate dynamic, styled HTML email notifications to be sent through AWS Simple Email Service (SES). While Jinja met the technical requirements for templating and logic, it limited the ability of non-developers to update content efficiently.

As our communication needs expanded we needed a solution to provide: * Support for appropriate UKSA and NSpOC branding * Dynamic content logic * Accessibility for business analysts or developers maintaining templates * Compatibility with existing Python-based services

Decision

We will use Crowdin, a string management platform that centralises text used across emails, to manage email templates. This method will decouple text editing from code and reduce the deployment overhead as content changes no longer require code releases. The templates themselves will be created using type script and managed in the front-end repository - keeping consistency with the rest of the service.

Consequences

Email notification templates written in React like the front-end application and with keys translated in Crowdin will support dynamic content and logic. Business analysts can edit the copy in email templates without developer involvement. A centralised repository for all strings ensures consistency across emails and platforms.

This page was last reviewed on 18 September 2025. It needs to be reviewed again on 18 September 2026 .
This page was set to be reviewed before 18 September 2026. This might mean the content is out of date.