ECS Rails screenshot

ECS Rails replaces one-table-per-model with one-table-per-component. Entities are lightweight identity rows; state and behaviour live in small, reusable components that you compose instead of inherit.

It stays idiomatic to Rails, so it reads like ordinary ActiveRecord code. It was inspired by Flecs and Casey Muratori’s talk “The Big OOPs”, and it’s published as the ecs_on_rails gem.

The live demo is a bulletin board built entirely from components. Anyone can post, and it wipes clean every hour.