Waitlist Open Graph Image Template
A waitlist card with a title, a waiting count stat, and a join pill.
A waitlist card with a title, a waiting count stat, and a join pill.
Every Open Graph image template is included with Basic and Pro. Pick a plan to copy the code, install with the CLI, and download the raw SVG.
Already purchased? Log in
Use the Waitlist template when momentum is the pitch. It leads with the product line, then makes a live waiting count the proof and closes with the join address in a solid pill. Wire the count to your database and every share advertises how many people are already in line, turning the card into quiet social proof.
This template is a metadata image route for the Next.js App Router. The file exports size, contentType, and alt values plus a default async function that returns an ImageResponse. When a page in the segment is shared, satori converts the JSX into an SVG document, the runtime rasterizes that SVG into a 1200 by 630 PNG, and Next.js serves the result and wires the og:image and twitter:image tags into the page head automatically. The count sits in a bordered stat column, so a rising number reads as a figure worth noting rather than body copy.
Install with the shadcn CLI using your Shadcn UI Blocks API key:
npx shadcn@latest add @shadcn-ui-blocks/og-image-waitlist
The file lands at app/opengraph-image.tsx, which makes it the site wide share card. To scope it to the landing page, move it into that route segment, for example app/waitlist/opengraph-image.tsx. You can also copy the code from this page straight into your project.
The card renders text with Inter, read from assets/fonts at your project root with node:fs so the font files never ship to the browser. Download the latin woff files for weights 400, 500, 600, and 700 from Fontsource and save them as assets/fonts/inter-latin-400-normal.woff and so on.
The content object holds the brand, the label chip, the title, the count, a countLabel, and the url. Wire count to your database so every share shows the live number; format it with a separator, since it prints as plain text. Keep the title short and punchy, since it renders very large across the middle of the card and needs room above the stat row. The countLabel is a good spot for a phrase like people waiting.
satori supports a focused subset of CSS: flexbox layout only, flat colors, and an explicit display: flex on any element with multiple children. Keep those rules in mind if you rework the layout.