Building with Restraint

Architecture is the thoughtful making of space.

Software benefits from similar restraint. Establish a clear grid, reduce the palette, and let content carry the experience.

Principles

  • Fewer primitives
  • Honest typography
  • Space as structure
export function compose<T>(...fns: Array<(v: T) => T>) {
  return (initial: T) => fns.reduce((acc, fn) => fn(acc), initial);
}