Monthly challenges
A brief, a deadline, a rule
Every challenge publishes its constraints up front and its winner rule in code — no judging committee, no vibes. The rule is the boring one: every gate must pass, then the highest score wins. Ties break on submission id, which is the order entries arrived.
Open now · closes 2026-10-09
Calmest animated navigation
A navigation bar that animates on scroll without becoming the loudest thing on the page. Judged on restraint: we want motion people stop noticing.
Constraints
- Scroll-linked motion must respect prefers-reduced-motion.
- No layout shift on the first scroll event (CLS must stay flat).
- Keyboard focus must stay visible the whole way.
- Under 6 KB shipped, dependencies allowed only if you justify them.
Entries so far
None yet — the brief opened on 2026-09-08. We would rather print a zero than seed a fake leaderboard: the first entry that arrives through the submit flow appears here with its gate line.
Enter the challenge →Closed · 2026-08-03 → 2026-08-31
Build the best preloader
A load screen that makes waiting feel shorter: it has to hold attention for two to four seconds without lying about progress it cannot measure.
- Zero dependencies — no animation library, no spinner package.
- Under 4 KB shipped, CSS included.
- Honest progress only: no fake percentage that is really a timer.
- Reduced-motion path that still communicates waiting.
★ winnerSkeleton handoff loader
CH-109 · @monoflow
Swaps the spinner for the layout's own skeleton at 400 ms — the strongest honesty argument in the batch.
Uncertainty bar
CH-112 · @lena.dev
Never shows a percentage at all — a bar that admits it does not know.
Ink bleed preloader
CH-110 · @noir.studio
Three lines of CSS for the whole visual. Loses points only on the reduced-motion fallback.
Coin flip loader
CH-108 · @karina_ui
Genuinely lovely motion; the progress ring reads as measured but is actually a 3.2 s loop.
Typing prompt loader
CH-111 · @tttyping
Sandbox flagged a sessionStorage write used to remember the first visit.
Winner by rule: @monoflow at 94 with both gates clean. The entries are sample records from the demo queue, labelled here so the format is visible; real challenges would run the same function over real gate results.
Winners rail
Build the best preloader
Skeleton handoff loader
@monoflow · score 94
Swaps the spinner for the layout's own skeleton at 400 ms — the strongest honesty argument in the batch.
decided 2026-08-31