Hackathon Open Graph Image Template
A dark hackathon card with a dates chip, title, and prize stat.
A dark hackathon card with a dates chip, title, and prize stat.
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 Hackathon template for hackathon landing pages, registration flows, and the reminder posts that pull builders off the fence. It leads with the dates in the corner and the event name at display size, then closes on the prize pool set at stat weight so the reward is the last thing a scroller reads.
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 the hackathon page 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 prize and its label share a baseline, so a longer figure stays aligned with its caption.
Install with the shadcn CLI using your Shadcn UI Blocks API key:
npx shadcn@latest add @shadcn-ui-blocks/og-image-hackathon
The file lands at app/opengraph-image.tsx, which makes it the site wide share card. For a dedicated hackathon page, move it into that segment instead, for example app/hackathon/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 corner dates, the title, a one line description, the prize figure, the prizeLabel beside it, and the url pill. The prize renders at stat size, so keep it to a short round figure; long strings crowd the url pill on the same row. Write the dates with to rather than a dash to keep the copy clean. For a series of editions, wire params into the default export and feed each one its own dates and prize.
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.