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.
-
Stillness
Pure functions. No hidden state. The pond is undisturbed until you choose to disturb it.
-
Emergence
Compose small petals. Shape arrives without being forced.
-
Transparency
Every transformation is observable. Nothing is hidden in the mud.
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.