Skip to content
Kedgeworks
← All workFintechRe-platform

Migrating the external-facing websites off Umbraco and onto Storyblok, React and Astro.

We worked on the migration of Dojo's external-facing sites from Umbraco to a Storyblok, React and Astro stack.

Dojo / PaymentSense, in public figures
150,000+
UK businesses taking payments through Dojo
Crowdfund Insider, reporting Dojo's EMI-licence announcement
1.6 billion+
Card transactions Dojo processed in the UK, annually
Crowdfund Insider

These describe the client and the system, not our contribution. What we did is in the sections below.

The situation

Dojo sells card payment services to businesses in the UK. Its external-facing websites ran on Umbraco, and the project was to move them onto a stack built around Storyblok, React and Astro.

We came in at senior developer level on that migration and worked on it for five months.

The constraint

A large part of the project was the data migration and the transformation that came with it, done in real time.

The modules that came across had to stay fully dynamic and modular, and non-technical users had to be able to update the site without issue once they had. Content can survive a transformation structurally intact and still land in a shape nobody can edit, so how the modules arrive matters as much as whether the pages render.

What we did

We worked on the migration and transformation of the content, and on keeping the migrated modules dynamic and modular on the stack they were moving to.

React and Astro built the sites with TypeScript through them, and Storyblok was where the content was headed. Jest covered the tests, and Node sat underneath.

What we are not claiming

We can evidence the project, the stack it moved towards and the requirements it carried. We have no end state to report, so this page does not claim one.

It says nothing about how many sites were in scope, what the content team did before or after, what share of the migration was ours, or how long the wider programme ran. There is no figure attached to the engagement, which is why this page carries no number.

Stack
  • Storyblok
  • React
  • Astro
  • TypeScript
  • Node.js
  • Jest
  • GitHub
  • Umbraco
Related

Working on something similar?