Announcement Bar
Slim banner above the header for launches and availability. Static, accent-filled or scrolling, with an optional close button that can be remembered.
133 components, grouped by the part of a portfolio they're for. Open one for its examples, code, props and install command.
Sections, containers, grids, headers and footers.
Slim banner above the header for launches and availability. Static, accent-filled or scrolling, with an optional close button that can be remembered.
Six-column grid of spanning cards with labels, titles and full-bleed visuals, for about sections, stats and tool stacks.
The curtain footer: the page lifts away at the end to reveal the footer waiting underneath. Pure CSS sticky, with an optional lift-in effect.
Page section with container widths, vertical spacing and a composable header: eyebrow, title, description and actions.
Site footer with link columns, a small-print row and an optional giant wordmark that fills the full width.
Two-column page layout: a pinned intro with scrollspy navigation on the left and scrolling sections on the right.
Intros, statements, availability and location.
Status pill with a pulsing dot that says whether you're taking work, e.g. “Available for work” or “Booked until March”.
The main portfolio hero: eyebrow, display title, lead, actions, optional media and a bottom meta row, with a staggered CSS entrance. Stacked, split or centered.
Oversized typographic hero. Lines slide up from a mask, inline media pills widen on hover, and a labeled meta grid sits underneath.
A full-bleed hero over a muted, looping background video, with a legible scrim and a visible pause button; it shows the poster under reduced motion or Save-Data and rests while off screen.
Live clock for your city (“Lisbon 14:32 GMT+1”) with a day/night icon and an optional blinking colon.
“Based in Lisbon, Portugal” with a map pin, optional coordinates in mono and an optional link to a map.
Link-in-bio style card with avatar, name, role, location, status, bio, socials and a primary action. Vertical card or compact row.
“Scroll” indicator for full-height heroes: a moving line, a mouse with a rolling wheel or a bobbing arrow. Can link to the next section.
A large poster with a play button that follows the cursor; it opens your reel in a full-screen player (or plays it in place), with a duration label and a quiet coming-soon state.
Cycles words inside a headline with a slide-and-blur swap, in a slot as wide as the widest word so the line never reflows. Screen readers get one static sentence.
Bio, experience, timeline, skills and stats.
About-me block with a captioned portrait, prose that opens with a lead paragraph, a facts list and an optional sign-off.
Education, certifications, courses and awards as rows with a kind icon, issuer, date and an optional verify link.
Colophon-style credits: roles paired with the people behind them (optionally linked), as ruled columns, centered film credits or one compact inline line.
A dotted world map with pins for where you’re based, your clients or your travels, plus optional pulsing and connecting arcs. Pure SVG, no map library.
Work history as a hover-focus list, a vertical timeline that marks the current role, or compact résumé rows.
A /now page block listing what you're building, reading and learning, with an “updated” date. Card grid or divided list.
A pile of 3–5 photos that fans out on hover or keyboard focus. Click, tap or press Enter to send the top photo to the back.
A personal photo as a matted frame, tilted polaroid, arch or circle, with a subtle hover effect.
Numbered values or process steps (01, 02, 03…) as a card grid or divided rows with large numbers.
A handwritten SVG signature that writes itself, stroke by stroke, when it scrolls into view — the sign-off at the end of a bio or letter.
Skills grouped by discipline, as chips or level bars. Each skill can show a 1–5 level, years of use and an icon.
Headline numbers (years, projects, stars, awards) that count up as they scroll into view. Plain, divided or card layouts.
Milestones on a vertical or alternating rail with dates, icons or media, a current step, and dots that can fill as they scroll into view.
A /uses page: tools grouped by category, with logos or monogram tiles, short notes, favorites and optional links.
Project cards, grids, lists and long-form case studies.
Sortable table of every project (year, name, client, stack and link), grouped by year, with columns that collapse on small screens.
Comparison slider for redesigns. Drag, click or use the keyboard to wipe between two layers, horizontally or vertically.
Opening of a case study: back link, display title, summary, a ruled facts grid (client, role, timeline, live site) and a cover image.
Case study chapter with a sticky numbered label, styled prose, pull quotes, outcome metrics and figures that can span the label column.
A project’s palette for case studies: named swatches with hex and OKLCH values you click to copy, WCAG contrast labels, and grid, strip or proportional (by usage) layouts.
Browser, phone, laptop and window frames for screenshots, videos or artwork, drawn with theme tokens.
An endless canvas of project tiles you drag, flick, scroll or arrow around, the award-site signature. Without JavaScript it’s a plain grid.
A row of tall project panels: hover or focus one and it widens to show its title and details while the others fold into vertical labels. Stacks into an accordion on phones.
Images in a grid, masonry columns or a scrolling strip, with a lightbox you can use by keyboard, swipe or buttons.
Dense grid of side projects, experiments and toys, each with a status (live, WIP, archived), a small preview and a one-line meta row. Also renders as compact text rows.
Click-to-expand viewer for images, artwork and video: the thumbnail zooms into a full-screen view you browse with arrows, keys or swipes.
End-of-case-study pager: a large “next project” link whose cover widens on hover, as a full-width hero or a previous/next split.
EXIF-style caption for photographs and film stills (camera, lens, focal length, aperture, shutter, ISO, place and date) as a mono line, a spec grid or an overlay on the image.
Composable work card with media, meta, title, summary and tags, in card, minimal or overlay style. The whole card is one link.
Scroll-snap carousel for projects with mouse drag, arrow keys, previous/next buttons, a slide counter and a progress bar. No dependencies.
Responsive grid for project cards: even rows, staggered columns, or a featured first project that spans two columns.
Projects as large text rows, with a preview image that follows the cursor on desktop and thumbnails on mobile.
Scrollytelling for case studies and process write-ups: steps of text scroll past a sticky media panel that cross-fades to the active step's image.
Featured projects as large sticky cards that stack while you scroll. Each card shrinks and dims as the next one covers it.
A typeface showcase for case studies: a big “Aa”, the font’s name and foundry, its weights, the character set and a size ladder, all set in the project’s font.
Segmented grid / list / index switch with a sliding indicator, for choosing how a work section is laid out.
What you offer, how you work and common questions.
Accordion of questions and answers, as ruled lines or cards, with optional FAQPage JSON-LD for search engines.
Two to four offers side by side (audit, sprint, retainer) with a featured tier, prices that switch with a billing toggle, aligned sections and a footnote.
How-I-work timeline of numbered steps with heading, description and duration, joined by a line. Stacks on mobile, runs in a row on large screens, and can mark a current step.
Offer or pricing card with name, description, price, a checklist of what's included and a call to action. A featured variant highlights the offer you recommend.
Numbered list of services with big headings that expand to reveal details, deliverables, duration and price. Keyboard-accessible accordion.
Writing, talks, repos, reading and activity.
An inline player for podcast clips, music, voice reels and sound design: a play button, a seek slider over an optional precomputed waveform and the time, on a native audio element, with one track playing at a time.
An indie-web “sites I read” list: a monogram tile, site name, author, one line on why, the domain and when it last posted, as a list or a compact grid, with an OPML/RSS row.
Reading list as a shelf of standing covers that tilt on hover, or as a detailed list with status, rating and notes. Books without artwork get a generated cover.
A dated "what changed" log for a portfolio or product page: releases with version, date and optional permalink, and changes labelled Added, Changed or Fixed in words.
Code for case studies and developer portfolios: file tabs, a language label, copy, line numbers, highlighted and diff lines, and soft wrap. Plain text by default; bring your own highlighter.
GitHub-style activity heatmap: weeks by weekdays in five levels of the theme's accent, with month and weekday labels, a legend and a total. Scrolls to the latest weeks on small screens.
An inline link that shows a small card (cover, title, description, site) on hover or keyboard focus; Escape closes it. On touch screens it's just a link.
Podcast episodes, video interviews and livestreams you appeared on, with show artwork, date, duration and listen/watch links per platform, as rows or cards.
Email sign-up form with inline validation and loading, success and error states. Pill-shaped inline field, stacked form or titled card.
Music widget: album art, track and artist with an animated equalizer while playing, or “Last played” with a date or relative time. Card or one-line inline style.
Article card with cover, category, title, excerpt, date, reading time and author, in vertical, horizontal or large overlay styles.
Writing index for blogs and notes: compact dated rows, an archive grouped by year with a sticky year label, or detailed entries with excerpt and tags.
Shop card for courses, prints and templates: cover, badge, details, price with a compare-at discount and a call to action. The whole card is one link.
Article typography for blog posts and case studies: headings, lists, quotes, code, figures, tables and footnotes styled from your theme, with no typography plugin.
GitHub-style repository card with owner/name, description, language, stars, forks, last update and topics. The whole card is one link.
Tufte-style margin notes: numbered references in the text with the notes beside it on wide screens, and tap-to-expand inline notes on phones.
Talks, workshops and podcast appearances with event, location, date and links to slides or recordings. Future dates get an “Upcoming” badge.
Calls to action, forms, bookings and socials.
The next months at a glance, each marked open, limited or booked in words and a fill pattern, so clients see when you can start.
An “intro call” card with the host, meeting details and the next open slots as selectable chips. The button links to your scheduler with the chosen time.
A slim bar pinned to the bottom of the screen on phones that keeps “Email me” and “Book a call” one tap away once the hero has scrolled past, without covering the end of the page.
Closing section of a portfolio with a large invitation, availability, a copy-email button and actions. Centered, split, or under a scrolling “Let's talk” line.
Project inquiry form with name, email, company, budget and project-type chips and a message with a character count. Includes inline validation and sending, success and error states.
Your email as a button that copies it on click and briefly shows “Copied!”. Pill, ghost or display-size styles, with an optional mailto link.
Download-your-CV link as a button with a bouncing download icon, or a file card with type, size and last-updated date.
Profile links as icons, pills or text. Pass URLs and the brand icon and label are detected automatically.
Motion, texture and pointer effects. Each one respects reduced motion.
Slowly drifting gradient blobs in hues around your theme's highlight, used as a hero or card backdrop. Static under reduced motion.
Grid, dot, line, cross or diagonal background in pure CSS, colored from theme tokens, with edge fades and an optional highlight glow.
A rotating badge of text set around a circle (“Available for work · Available for work ·”) with a slot in the middle for an icon or link. Pauses on hover and keyboard focus; can speed up or reverse with scrolling.
A dot and trailing ring that follow the pointer, grow over links and buttons, and show a text label over elements with `data-cursor`. Page-wide or scoped to a container.
Film-grain noise overlay for the whole page or a single element, built from one cached SVG tile, with optional jitter and any blend mode.
A pinned section whose row of cards travels sideways as you scroll down, with a progress bar. On touch screens, small or short viewports, reduced motion and in print it's a native swipeable row with snap points.
Images that spawn along the cursor's path and fade out behind it, over a hero or section. Touch screens and reduced motion get a still collage instead.
Pulls a button or icon toward a nearby pointer and springs back when it leaves. An optional inner layer moves further for depth.
Endlessly scrolling row or column for client names, skills or testimonials, with edge fades, reverse direction, pause on hover or on demand and an optional scroll-velocity drive.
View Transitions helpers for any router: `startPageTransition()`, preset animations (fade, slide-up, curtain, zoom) and shared-element names. Instant with reduced motion or without browser support.
Scroll-linked depth: layers that drift slower or faster than the page, and media that glides inside its frame. One shared animation frame, paused offscreen, still with reduced motion and in print.
Intro screen with a 0–100 counter or cycling greetings, then a curtain lifts to reveal the page. Skippable with a click or any key, can show once per session, and skipped with reduced motion.
Fades, lifts and un-blurs elements as they scroll into view, one by one or staggered across a group. Respects reduced motion.
Text that decodes from random glyphs, left to right, on mount, when it scrolls into view or on hover. The layout never shifts.
A statement paragraph whose words light up one after another as the reader scrolls through it, tied to scroll position rather than played once.
A cover image or video that starts as an inset card and grows to full-bleed while the reader scrolls past it, for case-study openers and showreels.
Lenis-powered inertial scrolling for the page or a container, with smooth anchor links and a useLenis() hook. Off under reduced motion; touch stays native.
Card with a soft glow that follows the pointer and a brighter rim on its border. Wrap cards in a group so one pointer lights the borders across a grid.
Playful stickers and polaroids scattered over a section that visitors can pick up, drag, drop and nudge with the arrow keys, with a spring settle and a reset.
Splits a headline into words or characters that slide up from a mask, staggered, when it scrolls into view. The original text stays accessible.
3D card that tilts toward the pointer with a moving glare and parallax layers (`data-depth`), easing back when the pointer leaves. Off on touch and reduced motion.
Links, media, icons, tags and other small parts.
Text link with an animated underline and a nudging arrow, for the end of a teaser or a section action. Detects external URLs and opens them safely.
Dependency-free social/brand glyphs (GitHub, X, LinkedIn, Dribbble…) plus URL → brand detection.
Single- or multi-select pill chips with optional counts — for filtering projects, posts or tags by category. Arrow-key navigable.
Text that scales to exactly fill its container's width, for giant footer wordmarks and hero names. Each line fits on its own, with any font.
Deterministic SVG placeholder art from a seed string: product screenshots, landscapes and portraits, or abstract mesh, bauhaus, rings, waves and orb. Use it for covers, photos and avatars; it can take its colors from the theme.
A muted clip that plays while its card is hovered or focused with the keyboard, over a poster or artwork. Loads nothing until then, pauses off screen and in background tabs, and stays still on touch screens, with reduced motion or when saving data.
Keycaps and shortcut hints ("⌘K to search", "Press Esc") that show ⌘ or Ctrl for the visitor's platform and read as words to screen readers.
Hand-drawn highlights, underlines, circles, boxes and strikes for key words in a bio or headline, drawn on when they scroll into view.
Aspect-ratio frame for images, video or artwork, with blur-up loading, optional hover zoom and an optional caption.
Counts up to a number when it scrolls into view — locale-aware formatting, compact notation, prefix/suffix and zero layout shift.
A "Sound — On/Off" toggle button with equalizer bars for sites with ambient audio or UI sounds: off by default, remembered, and readable anywhere through `useSound()`.
Pill tags for skills, stacks and topics — outline, soft or solid, with optional links, leading dots or icons and counts.
Terminal window for developer portfolios. When it scrolls into view, commands type themselves out (in at most 5 seconds), output lines follow and a block cursor blinks at the end.
Small-print footer line with version, last-updated date, copyright and edition number, plus a colophon that credits typefaces and tools.
Social Proof 6
Testimonials, logos, press and awards.
Awards List
Awards table with award, organization, project and year per row, a “×3” count for repeat wins and an optional summary of totals.
Logo Cloud
Client logos or wordmarks as a bordered grid, a wrapping row or an endless marquee with a pause button. Muted by default, full color on hover.
Press List
Press mentions with publication, headline, kind and date, as divided rows or a card grid. Each linked item is a single link.
Social Post
A post from a social network as a card: author, handle, network icon, date, text with linked mentions, tags and URLs, optional media and reply/repost/like counts.
Testimonial Card
Client quote with author (avatar or initials), optional star rating and source link, shown as a card, a plain block or a large featured quote.
Testimonial Spotlight
One large quote at a time with prev/next, dots or author tabs, and optional autoplay that pauses on hover, focus and reduced motion.