Domain-Driven State Management

A state management library for TypeScript and ReScript supporting Domain-Driven Design.

Create understandable code
✨ for humans and AI ✨

const sky = tilia({
  color: 'pink' 🌈
})

observe(() => {
  console.log(sky.color)
})

function elevateVibes() {
  sky.color = 'legendary'}

// React integration

function Sky() {
  useTilia()

  return <div>{sky.color}</div>
}
let vibing = tilia({
  vibes: "immaculate" 🌈
})

@react.component
let make = () => {
  useTilia()

  <div>{React.string(vibing.vibes)}</div>
}

let elevateVibes = () => vibing.vibes = "legendary"

Why Developers and LLMs Are Obsessed (or not)

🌱
No Boilerplate

Build apps from simple, testable functions

🚀
Lightning Fast

A library written for highly interactive apps.

🌈
Type Safe

Type your features, let tilia make them reactive

Main Features

Zero dependencies
Optimized for stability and speed
Highly granular reactivity
Combines pull and push reactivity
Tracking follows moved or copied objects
Compatible with ReScript and TypeScript
Optimized computations (no recalculation, batch processing)
Tiny footprint (8KB) ✨