A -
Frontend Development
Pixel-perfect implementations with Astro, React, and Tailwind. Performance budgets, accessibility, and responsive design baked in.
Docs
Scroll-synced list with sticky media
Live preview
Scroll through each capability — the preview stays pinned while the active item updates as you move down the list.
A -
Pixel-perfect implementations with Astro, React, and Tailwind. Performance budgets, accessibility, and responsive design baked in.
B -
High-converting landing pages and multi-page marketing sites. SEO-ready, CMS-connected, and easy for your team to update.
C -
Sanity, Contentful, or Markdown — structured content models, preview workflows, and editor-friendly Studio setups.
D -
Core Web Vitals optimization, semantic markup, structured data, and sitemaps. Sites that rank and load fast.
File: src/blocks/at-a-glance/AtAGlance02.astro
Scroll-synced list with a sticky media panel. As you scroll, the nearest item becomes active and the media updates.
Desktop: uses activeTrigger (viewport % where item centers activate).
Mobile: shared media is hidden; each item’s image reveals under its text when the section hits ~20% from the top of the viewport, then stays open once revealed (avoids layout jump).
blocks.ts → atAGlanceScroller)atAGlanceScroller: {
define: "alphabetical",
width: "wide",
imageBleed: false,
imagePosition: "left",
heading: "How it works",
subheading: "Scroll through each capability…",
stickyTop: 150,
activeTrigger: 60, // desktop only
items: [
{
image: "/images/hero.svg",
imageAlt: "Workspace",
meta: "Core skill",
title: "Frontend Development",
description: "Astro, React, and Tailwind…",
},
],
},
---
import AtAGlance02 from "@/blocks/at-a-glance/AtAGlance02.astro";
---
<AtAGlance02 />
Inline:
<AtAGlance02 activeTrigger={40} imagePosition="right" />
| Prop | Config key | Notes |
|---|---|---|
sectionId |
— | Default "at-a-glance-scroller" |
define |
atAGlanceScroller.define |
|
width |
atAGlanceScroller.width |
|
imageBleed |
atAGlanceScroller.imageBleed |
|
imagePosition |
atAGlanceScroller.imagePosition |
Desktop |
heading / subheading |
atAGlanceScroller.* |
|
stickyTop |
atAGlanceScroller.stickyTop |
|
activeTrigger |
atAGlanceScroller.activeTrigger |
Desktop viewport % (0–100) |
items |
atAGlanceScroller.items |
Same item shape as AtAGlance01 |
Also include: AtAGlanceLayout.astro. Returns null if items is empty.