lab · exploring

Cards on the grid, in practice

Real product layouts (dashboard, pricing, checkout, editorial, catalogue, settings, team, notifications, bento) that between them put every Card part, surface, slot, media placement and state on the modular grid.

frameworksastro
scenarioAnalytics dashboard

KPI tiles (stamp flanking the value via leading span=below, trend badge in heading-trailing), one tile tinted danger as an alarm, a revenue card with header and footer strips stepped one level below its peak body, and an accounts list of nested inner-radius cards on a peak parent. Rows of mixed height under flow=auto.

measuring…

Monthly recurring revenue

$84,210

+12.4%

Active workspaces

3,982

+4.1%

Net promoter score

61

+3

Logo churn

3.8%

+1.2pt

Revenue by channel

September 2026 · $84.2k total

Self-serve$38.7k · 46%
Sales-assisted$26.1k · 31%
Partners$12.6k · 15%
Marketplace$6.8k · 8%
Updated 4 minutes ago

Top accounts

By MRR

Northwind Traders

Northwind Traders

Enterprise

$6,400
Globex

Globex

Team

$2,150
Initech

Initech

Team

$1,980
scenarioPricing page

A pricing section: a centred Banner intro with a Monthly / Yearly segmented toggle, then three tiers. The featured tier is a whole-card primary fill (root feedback + emphasis + background) and a sparkle Stamp in eyebrow-leading (the slot does not render without eyebrow text, so every tier carries an eyebrow — which also keeps the prices on one line); tier names take the accent colour through passThrough.heading; the CTA is a full-width button in the plain footer slot. Cards stay equal height with the CTAs on one line.

measuring…

Pricing

Pay for the sites you ship

Global hosting and instant rollbacks on every plan.

Side projects

Hobby

A personal site in minutes

$0/ month
  • 1 site on pindoba.site
  • 10 GB bandwidth
  • Automatic HTTPS
  • Community forum

Most popular

Studio

For freelance client work

$18/ month
  • Everything in Hobby
  • 10 sites with custom domains
  • Preview links for every draft
  • Form submissions & analytics
  • Next-day email support

Teams of 10+

Agency

A workspace for every client

Custom
Volume pricing per seat
  • Everything in Studio
  • Unlimited sites and editors
  • Per-client roles & audit log
  • 99.95% uptime SLA
scenarioCheckout — shipping and payment picker

Option cards are the label (Card as="label" + interactive + active="checked"), with the pindoba Radio rendered label-less (as="span") in the banner leading slot and the method icon in heading-leading — no nested labels, native arrow-key groups, no JS for the selected state. Overnight is muted with a disabled Radio. The order summary re-totals when the delivery option changes.

measuring…

Delivery

To Helena Rocha · 14 Rua das Flores, Lisbon

Payment

Charged when your order ships

Order summary

3 items

Linen overshirt × 1$89.00
Canvas tote × 2$76.00
Subtotal$165.00
Delivery$9.90
Total$174.90
scenarioEditorial index

A magazine front page. Lead story with a start-column image beside a Most read list that fills the row; the cover story on a background image (header with its own translucent surface, no body, footer button — the footer keeps its top padding); a section of video-aspect tops with byline footers; opinion columns with end-column portraits; then photo of the week (bottom image), a podcast (inset square art) and a partner card whose contain-fit logo takes the free height (media passThrough) so its text sits at the bottom.

measuring…
Waterfall falling into a misty forest valley

Field notes

What a forest can teach a design system

On canopies, understoreys and layered surfaces.

A healthy forest is a stack of surfaces, each tuned to the light that reaches it. Interfaces work the same way — and the grid is the soil they grow in.

Helena RochaHelena Rocha · Sep 21
8 min read

This week

Most read

  1. 1CitiesThe night buses that keep Lisbon moving
  2. 2ScienceWhat a glacier remembers
  3. 3DesignWhy every map lies a little
  4. 4FoodFive a.m. at the fish market
  5. 5CultureThe last hand-set type shop in Porto
River bend at dusk

Cover story

Downstream: how one river rewired a city

A six-part series on water, maps and memory.

Part 1 of 6

Section

Science & nature

Reporting from the edges of the map.

Science

What a glacier remembers

Ice cores hold 800,000 years of weather. Reading them is a race against the melt.

Aiko TanakaAiko Tanaka
12 min

Nature

The quiet genius of moss

It was here before trees and will outlast us. Botanists are finally paying attention.

Tomás OrtegaTomás Ortega
7 min

Climate

Orchards on the move

Warmer winters are pushing apple growers uphill, one terrace at a time.

Lea FischerLea Fischer
9 min
Portrait of Marcus Webb

Opinion

Stop designing for the median user

Marcus Webb

Averages flatten the people who need our products most. Design for the edges instead.

Portrait of Priya Nair

Opinion

Slow software is a choice

Priya Nair

Every loading spinner is a decision somebody made. It is time we owned them.

Photo of the week

Above the tree line

Serra da Estrela, 06:12 · by Jonas Berg

Storm clouds over a mountain ridge
Podcast cover art

Podcast · Ep. 42

The sound of a city waking up

38 min · with Tomás Ortega

Astro logo

Partner

Built with Astro

This front page ships as static HTML, with islands only where it needs them.

scenarioProduct catalogue

A dense repeat grid (2 → 3 → 4 columns) of xs cards with square media, a Sale corner badge, stock strips as tinted footers (success / warning) and a sold-out item muted. Footers should line up across a row.

measuring…
Linen overshirt

Linen overshirt

$89

In stock
Sale
Merino crew

Merino crew

$64 · was $80

In stock
Canvas tote

Canvas tote

$38

Only 2 left
Trail runner

Trail runner

$140

Sold out
Wool beanie

Wool beanie

$29

In stock
Sale
Rain shell

Rain shell

$129 · was $160

Only 2 left
Cord trousers

Cord trousers

$95

In stock
Field watch

Field watch

$210

In stock
scenarioAccount settings

A settings page on the plain grid: a vertical Navigation beside a stack of cards. Every card follows one anatomy: stepped header (top-aligned stamp + title + subtitle), plain body, stepped footer action strip (status left, action right). Danger zone is the same structure in the danger palette: a filled primary header strip over a tinted footer strip. Sections use the card's own padding.

measuring…

Profile

How you appear across the workspace

Used for sign-in.

Last updated Sep 12

Notifications

Choose what reaches your inbox

Changes save automatically

Danger zone

These actions cannot be undone

Deleting the workspace removes 42 projects, 1,208 files and every member's access immediately.

Requires the owner role
scenarioTeam directory

Member cards 1 → 2 → 4 columns: avatar in header-leading (root align=center), a footer row with the presence badge (footer-leading) and the member's local time (footer-trailing) — the badge sat cramped at the end of the subheading, and in heading-trailing the corner menu painted over it (the corner reserves no space), a square corner overflow menu on radius=inner, interactive hover, and one member selected (the card you are viewing, drawn with a dashed border). The spotlight card is lg with a primary footer; it spans two columns and, from lg, two rows, so eight member cards fill a 2×2 block beside it and a full row below — no empty cells on desktop. Its header's peak fill matches the card's own surface, so the header still merges flush with the body (no doubled gap).

measuring…
Priya Nair

Teammate of the month

Priya Nair

Engineering Manager · Lisbon

Led the billing migration with zero downtime and mentored three new engineers through their first on-call.

Nominated by 9 people
Helena Rocha

Helena Rocha

Head of Design

online
14:02 WEST
Marcus Webb

Marcus Webb

Staff Engineer

away
09:02 EDT
Aiko Tanaka

Aiko Tanaka

Product Manager

online
22:02 JST
Tomás Ortega

Tomás Ortega

Data Analyst

offline
07:02 CST
Jonas Berg

Jonas Berg

Support Lead

away
15:02 CEST
Lea Fischer

Lea Fischer

Designer

offline
15:02 CEST
Sofia Almeida

Sofia Almeida

Frontend Engineer

online
10:02 BRT
Kwame Mensah

Kwame Mensah

Solutions Architect

away
13:02 GMT
scenarioNotification center

Header and footer surfaces as meaning: a stepped header for a comment, a filled hero header for onboarding, a stepped footer for a digest, tinted footers for success / warning / danger events, two header-only cards that must keep their full padding (the danger card spans two rows so they stack beside it), and every card stretches to fill its cell.

measuring…
Marcus Webb

Marcus Webb

Commented on “Billing v2” · 12m

Can we keep proration on by default? Finance flagged it in review.

Welcome to Northwind

Your workspace is ready.

Invite your team and import your first project.

Daily digest

284 events processed

3 deploys, 1 incident resolved, 12 new signups.

Payment received

Order #4,128

$1,240.00 from Globex via card.

Seat limit near

48 of 50 seats used

2 seats left — new invites pause at 50.

96%

Payment failed

Card ending 4242 declined

We'll retry in 3 days. Update your card to avoid interruption.

Maintenance window

Sunday 02:00–03:00 UTC · header-only card

New sign-in

Chrome on macOS · Lisbon, PT

scenarioLanding page bento

A fixed composition on flow="fields" (5-line fields): a media-background hero spanning two field rows, feature cards on mixed emphasis / feedback, a translucent card over media and a shadow ladder. Every item sets col + row at every breakpoint that moves it. The hero repeats rowSpan at md: with a plain rowSpan={2}, a breakpoint that sets row falls back to span 1 (Grid bug — the row path lacks the base-ward span fallback the line path has).

measuring…

New in 4.0

Ship interfaces that sit on the grid

Cards, banners and controls that share one raster.

12 ms

Median render, SSR

p95 under 40 ms on a cold edge worker.

Translucent

A frosted header over media

Accessible by default

WCAG 2.2 AA

Keyboard, focus and ARIA wired in core.

Four frameworks

Astro · Svelte · React · Vue

One headless core, four thin templates.

Beta: Flow

Node editor

Beta

Sockets, smart edges and auto layout.

scenarioLive status — runtime surface updates

reactive cards patched with updateCard(): the header and footer of the first card inherit the card's feedback and follow it; the second card's footer sets its own feedback, so it must NOT follow. Layout must not move while switching.

measuring…

api.northwind.dev

API gateway

us-east-1 · 3 regions

p95 latency184 ms
Error rate0.02%
Uptime · 30d99.98%
Inherits the card's feedback

jobs.northwind.dev

Background jobs

4 workers · autoscaling

Queue depth12
Oldest job4 s
Throughput1.2k / min
Footer pinned to neutral
scenarioSize ladder — one invoice, five sizes

The same invoice card at 2xs · xs · sm · md · lg across one row: header, content, footer and corner insets should scale together while every card still fills its field.

measuring…
Open

size="2xs"

INV-2026-0412

Due Oct 1

$1,240

Globex
Net 30
Open

size="xs"

INV-2026-0412

Due Oct 1

$1,240

Globex
Net 30
Open

size="sm"

INV-2026-0412

Due Oct 1

$1,240

Globex
Net 30
Open

size="md"

INV-2026-0412

Due Oct 1

$1,240

Globex
Net 30
Open

size="lg"

INV-2026-0412

Due Oct 1

$1,240

Globex
Net 30