Funes is an event sourcing meta-framework designed specifically for Ruby on Rails applications. It addresses the complexity of implementing event-sourced systems by introducing a concise mental model built around three core concepts: events, streams, and projections. By providing deep conceptual compression, Funes aims to make event sourcing a first-class citizen within Rails, allowing developers to progressively adopt its patterns without departing from familiar Rails conventions.
The framework defines an event as an immutable record of a fact, validated upon entry and forming the permanent history from which application state is derived. Streams serve as the write interface for individual entities, aggregating related events in the event log and managing concurrent writes. Projections transform the immutable log of events into usable application state, supporting both in-memory (virtual) and persisted forms for fast reads. Funes automates the handling of event replay, ordering, and concurrency within projections.
A distinctive feature of Funes is its treatment of time as a manipulable dimension in event-sourced systems. It tracks two parallel timelines: when an event occurred in business terms and when it was recorded by the system. This bi-temporal approach enables the reconstruction of past states, supports auditing requirements, and allows for retroactive corrections without erasing previous data. The framework also facilitates projecting future scenarios by running interpretations against speculative timelines, making it suitable for domains requiring auditability and forward-looking computations such as banking, finance, and accounting.
Funes is built on top of existing Rails components and is intended to integrate smoothly with established Rails workflows. Its internal domain-specific language (DSL) abstracts away much of the underlying plumbing—such as persistence and materialization—so developers can focus on business logic. The framework includes testing helpers and conventions that mirror the declarative nature of its projections, simplifying the process of verifying time-dependent logic. Funes is particularly suited for developers seeking to implement event sourcing in Rails, especially in industries where auditability and historical traceability are essential.
In the Frameworks & SDKs space, Funes takes a focused approach. It focuses on implementing event sourcing in Rails applications without complex boilerplate or custom infrastructure. Funes is an open-source project aimed at ruby on Rails developers. The project is open source (MIT). It runs on the web and the command line.
Funes first shipped in 2026. The project is developed in the open on GitHub with 10 stars and 53 commits in the last 90 days. Across PulseGate's embedding index, Funes has few near neighbours, marking it as relatively distinct. Among its 5 catalogued features are event sourcing, rails integration, and projections.
Latest indexed changes and source events
Other apps tracked under the same category.