ProjectsAboutSkillsContact

PROJECTS / WEB INTERFACES

Multilingual website with a page builder

A multilingual website editors can build from predefined sections.

Architecture · CMS · Technical leadership

React · Next.js · TypeScript · Sanity · Tailwind CSS · Storybook · Vercel

All projects

Desktop and mobile layouts · 1 / 2

AI reconstruction of a multilingual website in desktop and mobile layouts, with an image hero, project filters and project cards.

Freedom for editors. A consistent system.

Page document

Title / Address / Language

01

Hero banner

Text · image · action

02

Projects list

Entries · tags · load more

03

Configurable sections

Content · presentation settings

Sections → React components → Rendered page

01 / Challenge

Let the client manage content in multiple languages and assemble pages within the supplied design.

02 / Decision

Configurable Sanity sections map to React components in Next.js.

Decision

I structured Sanity content as linked documents and configurable sections. Next.js assembled those sections into pages, while translation links powered language navigation.

Illustrative page document with title, slug, language and an ordered section list mapped to rendered hero, projects and form sections.

03 / Outcome

Editors control page content and composition. The team shares an architecture.

Outcome

We launched the site and handed it over for the client to manage. The team had a shared development structure, and editors could control page content and section order.

A page builder from predefined sections

CONTENT → INTERFACE

Sanity document

Page content and ordered sections

Section type

A matching React component

Next.js page

Consistent design and behaviour

Editors choose sections, change their order, and edit their content. Components keep the interface consistent.

A page builder from predefined sections

I structured pages as a sequence of configurable sections. Each section had its own fields for text, images, cards, and presentation settings.

Editors could choose sections, change their order, and edit their content. Each page type had an appropriate set of available blocks.

In Next.js, each section type mapped to a React component. This separated content management from interface implementation: editors assembled pages from predefined elements, while components kept the design and behaviour consistent.

Connected languages. Independent content.

Language version A

Page address · content · sections

Translation links

Select content · build navigation

Language version B

Page address · content · sections

Language versions were stored as separate Sanity documents with links between translations. Each version could have its own content and page address.

Those links were used to select content and build the language switcher. Every language was available through a URL prefix; English also worked without a prefix.

Ready for the client to manage.

The client received a multilingual website with CMS controls for both page content and composition. The team had a shared architecture for developing and adding sections. My main contribution was the application architecture and content model, multilingual support, deployment, and technical leadership.

I was responsible for application architecture, Sanity configuration, multilingual support, and deployment. The other developer and I shared the work on sections and components roughly equally.

Next project

Corporate website with interactive components

AI reconstruction of a dark corporate website in desktop and mobile layouts, with a large serif hero and rounded project cards.
View case study →All projects

05 / CONTACT

Get in touch

Have a project, a technical challenge, or a collaboration in mind? Send me a message.

Message me on TelegramEmail me

  • Telegram
  • ·Email
  • ·LinkedIn
  • ·+380 99 257 86 23

Frontend Developer · React/Next.js and Shopify

Odesa, Ukraine

ProjectsAboutSkillsContact
TelegramEmailLinkedIn+380 99 257 86 23

© 2026 Vladyslav Osipov