Past meetup
pastRetrospective notes.
Live showcase. Components are built on the design-system-v2 branch. Not yet migrated across the site — a later pass will codemod the call sites.
variants = default, secondary, outline, accent, status-upcoming, status-live, status-past
variants = default, secondary, outline, ghost, neutral, light · sizes = sm, default, lg
variants = default, subtle, external · auto-detects http(s) URLs
props = title, description, kicker, count, variant · slot = ctaRow
kicker label
Description text goes here to show default variant spacing.
archive
12 entries
default kicker
muted kicker
accent kicker
Use <CodeInline> for inline code like bun run build.
cols = 2, 3, 4, auto · gap = sm, default, lg
ratio = even, wide-left, wide-right · align = center, start
Text column.
Image or content column.
gap = sm, default, lg, xl · align = start, center, end, stretch
sizes = sm, default, lg · props = label, description, error
This field is required.
We'll never share this.
Wraps label, description, control, and error.
Something went wrong.
variants = info, warning, success, note
status = upcoming, live, past
upcoming · Workshop at Serviceplan
Banner body content goes here.
past event · Past event
Banner body content goes here.
Multiple live projects generating traction and revenue.
50+ international awards across digital, product, and innovation.
Partnerships built on consistent delivery.
Hands-on session with the product team.
Retrospective notes.
variants = shortcut, affiliate
Bring your own OpenAI/Anthropic key.
We host the LLM.
variant = slim | full · merges UpdateCardSlim + TimelineCard. Rendering below uses mock data.
Live preview skipped here — UpdateCard requires a valid TimelineEntry from the content collection, which depends on front-matter rules. See src/components/cards/UpdateCard.astro. Will be shown on /updates after migration.
Not urgent. No call sites block them. Build when the need is real.
multi-line input
input with leading icon + clear
boolean control
dropdown select
tabbed content switcher (line/pill)
AiNews has its own .app-tablist impl
modal for confirms
hover hint
loading placeholder
transient form feedback
ImageGrid + Lightbox combined
home + labs hero
full-width CTA band
homepage projects grid
homepage tools teaser
adopt ToolCard in a later pass
homepage updates list
adopt UpdateCard slim variant
services grid
consider merging with FeatureCard grid
testimonials section (island)
homepage briefing tabs
double opt-in form
port internal button to <Button>
obfuscated email copy
auto-scrolling awards
taxonomy filters
adopt Kicker + Tag variants
Components exist. The site still uses raw Tailwind patterns — nothing was migrated in this pass. Next: codemod the 25+ page-headers, 19+ sumr-nav call sites, etc. per T1-T14 in the plan.
Work on design-system-v2. Four commits: audit/plan, primitives+layout, navigation+forms+feedback, card family, utility extras. Merge after migration-pass PR review.
docs/plans/2026-04-17-design-system-v2.md.