Depiction of a tranquil sea

I hacked together a small POC framework / boilerplate tonight which I’d like to share with you. But let’s first take a look at why and how this framework was born out of proven real world concepts and architecture.

Take for example Redux quite a while ago. Immutable states and centralized state management had such an impact that React added a useReducer hook to the core.

Ever since useReducer has been available I haven’t really found a need for Redux anymore. Pure reducers can be used in a similar fashion to Redux and Sagas can easily be implemented with useEffect . However; a few principles stuck with me that simply made life easier because it just works.

Hi, I’m Mo – a Senior Full-Stack Developer with 12+ years of experience. On this blog, I share insights into my work, exciting projects, and modern technologies like TypeScript, JavaScript, React, and GraphQL. You’ll find regular posts on clean code, frontend and full-stack best practices, agile software development, and sustainable architecture. Whether as a lead or team member, I focus on effective collaboration and pragmatic solutions. This blog is my space to share knowledge, reflect on new tech, and connect with others – from Freiburg or remotely. Take a look around and feel free to reach out!

Strapi and Next.js make a powerful duo for building modern, content-rich websites. With Strapi’s self-hosted headless CMS and Next.js’s flexibility (SSG, SSR, ISR), you get full control, speed, and scalability—ideal for localized apps, SEO-driven sites, or fast MVPs. In this first part of our walkthrough, we’ll show you how to set up your frontend with TypeScript, Tailwind, and i18n routing, laying the groundwork for a seamless integration with a Strapi backend.