lotus.dev

clean architecture, blooming from complex data

The philosophy

In Japanese tradition, the lotus blooms unblemished from muddy water — a quiet reminder that elegance is not the absence of complexity, but its careful resolution.

lotus.dev is a developer framework for transforming raw, tangled data into clean, composable structures. Each function is a petal: small, deliberate, opening at its appointed angle. Together they form something whole.

Three principles

The library is built on three quiet ideas, each one ma — the space between things — as much as the things themselves.

A small bloom

From muddy input — a list of mixed records — a single ordered structure emerges. Read it the way one reads a haiku.

import { bloom, petal, pond } from 'lotus'

const garden = pond(rawEntries)
  .filter(petal.isValid)
  .map(petal.normalize)
  .reduce(bloom.byCategory, {})

// → { quiet: [...], deep: [...], still: [...] }

Three lines. One transformation. The mud settles below.

To begin

Install the library with a single line. There is no scaffolding, no configuration ceremony.

$ npm install lotus

Then sit, breathe, and write your first pond().

Five petals

The library is divided into five small modules, arranged like the petals of a single flower.

pond the source — a quiet, immutable starting point
petal small, pure transformations on a single value
stem composition — the line connecting petal to root
bloom aggregation — the moment shape arrives
ripple observation — gentle feedback for what just happened

A note on slowness

This page is intentionally unhurried. The spacing is wide. The lines are long. The animations are slow. We believe coding, at its best, is a contemplative act.

If you have arrived here looking for benchmarks and badges, you may find the rest of the internet better suited. If you have arrived looking for a quiet place to think about data, return to the pond.