Skip to content

#0c0c11Nadir’s own ground

Building blocks for interfaces that hold up.

18.1 : 1 · AAA

Backgrounds, sections, components and templates — each one runs on my own site today. The plan is to pull every piece out into standalone products you can buy and ship.

12.7 : 1 · AAA
Browse the catalogueBackgrounds · Sections · Components

Choose a light

Nadir · Beam

Live, not screenshots

More in this light.

Every piece's colour is measured, so the nearest to your light come first — and each preview is the real piece running, under your pointer.

How it's built

The standard every creation is held to.

  • Degrades honestly

    A server-rendered CSS floor renders first — no JavaScript, no WebGL, or a blocked context still shows the real thing, never a blank box.

  • Every state designed

    Loading, empty, error, disabled, long content — each is a real design, not just the happy path.

  • Reduced motion, complete

    Prefers-reduced-motion freezes to one composed frame instead of a slower version of the same animation.

  • Self-contained

    Each piece ships as a component, its shader and a README — nothing to install, and it runs once you drop it in.

FAQ

Questions worth answering honestly.

Nothing below is promised that isn't already real, or clearly marked as planned.

Fardin Omor Afnan

Can't find your answer?

Email directly and I'll get back to you.

Email me

Every background runs a WebGL surface over a server-rendered CSS floor, so no JavaScript, no WebGL, or a blocked context still gets you the real thing, not a blank box. Every state — loading, empty, error, disabled, long content — is designed, not just the happy path. Reduced motion freezes to one composed frame rather than degrading. And once a piece is extracted, there's no package to install: it's self-contained and readable, paste it in and it works.

Start with a background.

The backgrounds are the most finished corner of the catalogue. See one running, then take it into your own project.

Browse backgrounds