Framework for building composable customer self-service portals.
Open Self Service is an open-source development kit that simplifies the creation of self-service frontend applications by integrating multiple headless APIs into a scalable frontend. Its flexibility allows for many customizations and lets you build various types of composable frontends.
- Composable β In short: API-agnostic. Compose customer experience by combining multiple "backend capabilities" into seamless, fully decoupled frontend.
- Next.js Frontend Starter β Robust Next.js-based frontend including basic customer portal pages and content management capabilities.
- API Harmonization Server β Integration layer for data aggregation, orchestration and normalization. Provides vendor lock-in safeness and better maintainability.
- TypeScript SDK β Easily interact with the Harmonization Server in the frontend app or any web, mobile, other TS-based apps.
- Pre-built Integrations β Ready integrations so that you can set up your solution faster.
- Extensibility β Customize UI components, add new pages, add new API integrations, adapt to your needs.
Check out the full documentation to get started.
To set up a new O2S project, use the create-o2s-app starter and follow the installation steps in the documentation.
npx create-o2s-app my-project
cd my-project
npm run devTo start all services in development mode, use:
npm run devTo run individual components:
cd apps/api-harmonization && npm run dev  # Start API Harmonization Server
cd apps/frontend && npm run dev  # Start Next.js FrontendFor more details, check the Running the project guide.
O2S follows a monorepo structure using Turborepo for managing apps and internal packages.
/apps
  /frontend             # Next.js frontend
  /api-harmonization    # API Harmonization Server (NestJS)
/packages
  /ui    # UI component library (shadcn/ui, Tailwind)For a detailed breakdown, visit Project structure.
O2S includes pre-built integrations and allows you to extend functionality as needed.
| Integration type/area | Status | 
|---|---|
| CMS | β
 StrapiCMS - available π Contentful - in progress | 
| IAM | β
 Auth.js - available β Keycloak - available (not part of O2S, contact us for details) | 
| Cache | β Redis - available | 
| Search | β Algolia - available | 
| CRM | β
 SurveyJS - ticket submission handling π other CRM solutions - planned | 
| ERP | β
 Medusa - via Medusa plugin adding ERP-like features π SAP S/4HANA - In progress (not part of O2S, contact us for details) | 
| Commerce | π Medusa - in progress (basic product information, other areas TBD) | 
- Fully composable β Integrate multiple backend services and build your solution by combining their capabilities.
- Headless & API-first β Integrate multiple services seamlessly.
- Future-proof β Build backend-agnostic customer portals. Swap backends without breaking the frontend.
- Modern stack β Built with Next.js, shadcn/ui, TypeScript, NestJS.
We welcome contributions! If youβd like to contribute, please check the Contribution Guide.
- Website: openselfservice.com
- LinkedIn: /company/open-self-service/
- Twitter/X: @openselfservice
- Discord: Join our community
- GitHub Discussions: Join the conversation
Open Self Service is open-source software licensed under the MIT License.
O2S is maintained as an open-source project by hycom.digital - a Polish tech company that delivers enterprise digital self-service and e-commerce solutions.

