Fully Managed Event Sourcing Platform

Serialized is a fully managed cloud-hosted platform. We provide APIs and tools for everything you need to build scalable systems and Microservices using CQRS and Event Sourcing.

For developers

Serialized is an API-first SaaS and you can use any language to build Event Sourcing applications using our API. We also provide high-level client libraries for select languages to make it even easier and faster to use.

Source your domain events to aggregates

    SerializedClientConfig config = SerializedClientConfig
    AggregateClient<TodoListState> todoListClient =
        aggregateClient("TodoList", TodoListState.class, config)
    Serialized Java client
    UUID todoListId = UUID.fromString("b19ab533-3e8d-44c1-a8ca-6ecb4ee3d1b2");
    TodoList todoList = new TodoList(new TodoListState());
    List<Event> events = todoList.createNew(todoListId, "My todolist");
    todoListClient.save(todoListId, events);
    Serialized Java client
    UUID todoListId = UUID.fromString("b19ab533-3e8d-44c1-a8ca-6ecb4ee3d1b2");
    UUID todoId = UUID.fromString("bea0a9fa-02de-42b1-8bfc-9a0a79f25777");
    String todoText = "Buy milk";
    todoListClient.update(todoListId, state -> {
    TodoList todoList = new TodoList(state);
        List<Event> events = todoList.addTodo(todoId, todoText);
        return events;
    Serialized Java client

Project your events into ready-made read models

    ProjectionClient projectionClient = ProjectionClient.projectionClient(config).build();
    Serialized Java client
    CompletedTodos completedTodos = projectionClient.query(list("completed-todos")
    completedTodos.stream().forEach(completedTodo -> {
        System.out.println("Completed: " + completedTodo.text);
    Serialized Java client

Trigger side-effects or create notifications using reactions

    ReactionClient reactionClient = ReactionClient.reactionClient(config).build();
                .text("The todo list ${event.data.name} was created!")
    Serialized Java client

Subscribe and process your event feeds

    FeedClient feedClient = FeedClient.feedClient(config).build();
    feedClient.feed("TodoList").subscribe(feedEntry -> {
        // Process entry
    Serialized Java client

Event sourcing

You wouldn't build your own database. You shouldn't build your own event store either.

Custom projections

Setup use-case specific projections to present your data in different ways.

Event reactions

Define reactions to build advanced business flows or trigger third-party services.


Because managing your own servers is such a waste of time.


Your business data is immediately presented on a dashboard.

Encrypted & safe

Client-side encryption makes sure your private data never gets in the wrong hands.

Serialized is built on modern and battle-proven technology