Polylith is a software architecture that applies functional thinking at the system scale. It helps you to build simple, maintainable, testable, and scalable backend services.
18-minute introduction, by Joakim Tengstrand

Where to begin?

  • If you'd prefer to start with a high-level technical overview of the architecture, then skip straight to Polylith in a Nutshell.

  • If you learn faster with audio/visual presentations, then you can start by watching the videos.

  • If you want to jump straight into some code, then head over to the Polylith RealWorld example app.

  • If you're feeling concerned about how a new architecture might affect your deployment setup, then read Transitioning to Polylith.

  • If you prefer to start from the beginning, and take things at your own pace, then you're already in exactly the right place - just keep reading.

A brief introduction

Polylith is an architecture that has been inspired by the simplicity and composability of functions.

We asked ourselves the question "what would a system look like if we could build it with high-level blocks that share the properties of functions?".

It turned out that the answer looks a lot like LEGO®:

LEGO® is a trademark of the LEGO Group of companies which does not sponsor, authorize or endorse this site.

If you join us on this journey, then you'll discover how Polylith structures code to help us develop faster and communicate our ideas better. By the end, you'll understand how to combine building blocks into services:

We hope you'll agree that Polylith makes building services and systems almost as fun as playing with LEGO®!

Let's start with a high-level tecnhical explanation of the Polylith architecture.