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) ✨