Hindsight: Type-Safe Event Sourcing Documentation

Welcome to Hindsight, a type-safe event sourcing system implemented in Haskell. Hindsight provides strong compile-time guarantees for event handling, versioning, and consistency in event-driven applications with multiple storage backends.

Haskell License

Overview

Hindsight provides type-safe event sourcing with:

  • Compile-time event versioning and automatic upgrades

  • Multiple storage backends (Memory, Filesystem, PostgreSQL)

  • Backend-agnostic projections for building read models

  • Real-time event subscriptions with pattern matching

All with strong event ordering guarantees, multi-stream consistency features and a polished API.

Hindsight is currently experimental, and bugs are to be expected. Bug reports, critics, suggestions are all welcome on our issue tracker.

Quick Start

Learning: Check out the Tutorials for a step-by-step introduction. Visit the Hindsight example repository for a quick demonstration.

Using Hindsight in my project: See Installation.

Contributing: For development setup, see Development Guide.

Documentation Contents

Development

Indices and tables