iolite/Nebula

Nebula

Replace the maze of services, queues, and repositories with a single data model that drives your entire application — from storage and processing to real-time frontend updates.

Built by Iolite for healthcare and beyond.

Entities

Lightweight IDs

carry components

Components

Typed JSON

schema-validated data

Systems

Reactive logic

query-driven processing

What is an entity-component system?

An entity-component system (ECS) separates identity from data. An entity is just an ID — a pointer. The actual data lives in components: typed, schema-validated JSON objects attached to that entity.

Instead of rigid tables with fixed columns, you compose entities by attaching whatever components they need. An Account entity might carry a Customer component, a DenialOpportunity component, and an AppealTimelyFiling component — each defined independently, each additive.

ENTITYAccountCustomerDenialOppQuery Matchhas('DenialOpp')has('Customer')SYSTEMDenialPriorityscores & routesmatching entitiesData lives on entitiesNebula routes matchesSystems process them

Systems declare interest in specific compositions of components, and Nebula routes matching entities to them automatically. No queues to manage, no endpoints to wire up. You describe the data shape you care about, and the platform handles the rest.

This pattern originated in game engines — but Nebula applies it to business applications, where the same principles of composability, real-time reactivity, and additive evolution solve real operational problems.