Skip to main content
· Tags:

Leveraging AI to speed up UI documentation in Storybook

Marcin Krasowski
Chief Architect @ O2S

The silent debt of undocumented components sooner or later occurs in many development projects. What begins as a few simple UI elements inevitably grows into a complex ecosystem of specialized components, each with their own variants, states, and quirks. Without proper documentation, even the most elegant component library becomes a labyrinth that team members must navigate through tribal knowledge and scattered comments.

However, the tedious work of documenting dozens of components - a task that would typically consume days or weeks of developer time - can be transformed into an efficient, semi-automated process using AI-assisted tooling. This is the story of how we at Open Self Service turned our documentation debt into a comprehensive component library in a fraction of the expected time, and we hope that it can help you as well in your own projects.

· Tags:

Ensuring high frontend performance in composable Next.js apps

Marcin Krasowski
Chief Architect @ O2S

In today's web development landscape, composable architectures are gaining popularity for their flexibility and scalability. However, this approach introduces unique performance challenges. In this article, we will explore strategies and best practices for ensuring high frontend performance in composable applications, using Open Self Service as a practical example.

lighthouse score.png

· Tags:

Rethinking frontend architecture - from enterprise pain points to composable frontends you can use too

Jan Jagoda
Technical Product Owner @ O2S

Over the past few years, we’ve worked on many large-scale solutions. E-commerce applications, customer support portals, B2B service hubs - all combining content, integrations (PIM, search, e-commerce, ERP, IAM, custom APIs) and user-facing functionality, where delivering strong user and customer experience has always been a key priority.

Many of those platforms were built on top of enterprise products. These provided headless backend APIs and, in some cases, their own frontend layer as well.

Usually in practice, the frontend quality was rarely good enough.

o2s-arch-article-front.png

· Tags:

O2S Release 1.2.0

Marcin Krasowski
Chief Architect @ O2S

o2s-1.2.0-header.png

We're excited to announce Release 1.2.0 of Open Self Service, featuring a major architectural improvement in how we handle blocks. This release focuses on making the platform more modular, maintainable, and developer-friendly. Let's explore what's new!

· Tags:

O2S Release 1.1.0

Marcin Krasowski
Chief Architect @ O2S

o2s-1.1.0-header.png

In this release, we're bringing significant updates to help you get the most out of Open Self Service. From new features like knowledge base search to a refined authentication process, every enhancement is designed to empower your development workflows while streamlining user experiences. Let’s dive in!

· Tags:

Open Self Service 1.0 is here!

Marcin Krasowski
Chief Architect @ O2S

o2s-1.0.0-header.png

We’re thrilled to officially announce the release of O2S 1.0! This marks a major milestone in our journey, and we couldn’t be more excited to share it with our users.

This post provides a summary of all the new features, improvements, and changes that have been added to O2S since its initial release. From UI enhancements and feature updates to integrations and security improvements, we’ve worked hard to ensure O2S delivers the best possible experience. Read on to see what’s new!

· Tags:

Building composable frontends with Strapi and Next.js

Marcin Krasowski
Chief Architect @ O2S

We’re building a frontend-first framework for composable customer portals – Open Self Service. To support dynamic content, reusable UI blocks, and flexible layouts, we needed a CMS that gives developers control over structure while staying accessible to business users.

That’s where Strapi comes in. In O2S, we use it not just for managing page content, but also for defining layout templates, page structures, and component configurations. This approach helps us find the right balance between flexibility for editors and consistency in the frontend.