Skip to content

Drift

Photography Portfolio Pro Agent-ready i18n-ready HTML

An image-led photography portfolio with counter-moving gallery columns, focused project stories, optional editorial writing, and carefully tuned light and dark modes.

$49

Editions: Astro (source), HTML (plain files, no build).

Read the Drift docs Lifetime updates Personal & client use
All-Access Pass

One payment for Drift and everything else - all 33 themes, every future release, and the Astro visual builder included.

$1469 $199 one-time
Get the All-Access Pass
A closer look

See Drift in action

Every page and section is part of the download. Use these as launch-day templates - keep the structure, swap the copy.

Counter-moving portfolio gallery
Permanent multi-image project page
Optional editorial blog
Image-backed contact page
14
Static routes
2 / 3 / 4
Gallery columns
Light/Dark
Theme
Astro 7
+ TypeScript

Drift is a restrained portfolio for photographers and image-led creative practices. Its homepage arranges work into infinite counter-moving lanes, with two, three, and four-column layouts on wide screens and responsive reductions for smaller viewports. Each image opens an accessible preview and links to a permanent project page where Markdown copy and any number of additional photographs form a quiet editorial sequence. A native About panel, image-backed contact page, and optional Markdown blog expand the site without competing with the work. GSAP powers the gallery and subtle viewport reveals, while Lenis smooths document pages; both respect reduced-motion preferences and preserve useful no-JavaScript output. Identity, interface copy, motion, form providers, and visual settings live in site.ts, while project and article prose stays in Astro Content Collections. Light and dark modes, locale-aware route scaffolding, and included AGENTS.md and CLAUDE.md files make the source straightforward to adapt.

Best Fit For

  • Photographers with project-based portfolios
  • Architecture and editorial image makers
  • Creative studios that lead with visual work
  • Artists who want an optional journal beside their portfolio

Full Page Set

Every page is real and editable - no placeholders, no "coming soon" stubs.

Home
About Panel
Contact
Blog
3 Blog Articles
8 Project Pages

8 Sections Included

Every section is a ready-to-use Astro component. Add it to any page, customize via config, or remove what you don't need.

Counter-motion Gallery
Infinite image lanes with selectable two, three, or four-column layouts and restrained first-load motion
Project Preview
Full-screen project dialog with image, discipline, location, description, and permanent-page link
Project Detail
Editorial project pages with metadata, Markdown prose, and an arbitrary stacked multi-image gallery
About Panel
Native modal biography with accessible focus handling and editable studio availability copy
Optional Blog
Markdown article index and detail pages that can be disabled from site configuration
Contact
Image-backed inquiry page with an honest demo state and configurable external form providers
Floating Dock
Compact navigation, gallery column controls, and persistent appearance switch
Document Motion
GSAP viewport reveals and Lenis scrolling with reduced-motion and no-JavaScript fallbacks

What's Included

Responsive two, three, and four-column counter-motion gallery
Accessible full-screen project previews with permanent project URLs
Project pages with Markdown copy and arbitrary multi-image galleries
Optional Markdown blog with listing and article routes
Image-backed contact page with demo, Formspree, FormSubmit, Netlify, and custom provider modes
Persistent light and dark appearances with tuned image-label contrast
GSAP gallery motion and viewport reveals with Lenis on document pages
Reduced-motion, keyboard, semantic-index, and no-JavaScript fallbacks
Editable identity, interface copy, motion, links, and form settings in site.ts
Locale-aware configuration and mirrored route scaffolding
AGENTS.md, CLAUDE.md, and focused customization documentation included
Local photography assets with no remote image dependency

Movement that serves the photographs

Counter-moving columns give the homepage a distinct rhythm without turning it into a slideshow. Visitors can switch between two, three, and four columns on wide screens, while a semantic project index and reduced-motion fallback keep the work accessible.

Projects that continue beyond the preview

Every gallery item has a focused full-screen preview and a permanent project page. Add as many supporting photographs as the story needs, alongside project metadata and optional Markdown prose, with a quiet stacked layout and viewport reveals.

A portfolio with room to publish

The optional blog includes an editorial index and readable article pages powered by Astro Content Collections. Disable one setting to remove its navigation and routes when the work should stand alone.

Clear controls for customization

Brand identity, navigation, labels, colors, motion, contact settings, and localized interface copy live in site.ts. Project and article content remains in Markdown, and the included agent guides explain where each kind of edit belongs.

Tech Stack

Astro 7 TypeScript GSAP Lenis Responsive SEO Ready

Config-Driven Setup

Drift keeps identity, navigation labels, colors, motion, gallery behavior, contact settings, and localized interface copy insrc/config/site.ts. Project and article prose stays in Markdown content collections.

site.ts
// src/config/site.ts
export const siteConfig = {
  identity: { name: "Drift®", url: "https://example.com", ... },
  theme:    { default: "dark", palette: { dark: {...}, light: {...} } },
  motion:   { reveal: { enabled: true, duration: 520, distance: 12 } },
  gallery:  {
    defaultColumns: 3,
    slowerSpeedRatio: 0.5,
    middleColumnSpeedRatio: 0.75,
    intro: { enabled: true, duration: 820 },
  },
  blog: { enabled: true, navLabel: "Blog", ... },
  navigation: { workLabel: "Work", aboutLabel: "About", ... },
  about: { eyebrow: "...", heading: "...", body: "..." },
  contact: { background: {...}, form: { provider: "demo", ... }, fields: [...] },
  projectPage: { backLabel: "All work", detailsLabel: "Project details", ... },
} as const;
Agent-ready

Built to be edited by AI

Drift ships an AGENTS.md and a CLAUDE.md at the project root. Claude Code, Cursor, Copilot, and Codex read them the moment you open the folder.

So your agent starts knowing which file to edit, which design decisions are deliberate, and which parts of the theme break quietly if touched. You get the right change on the first pass instead of a confident guess.

  • A task map. Every common request routed to the exact file, so no time is spent exploring.
  • Design invariants. The decisions that make the theme worth buying, marked do-not-touch.
  • The traps. The specific things that break this theme silently, written down.
  • A done checklist. What to build, what to scroll, what to verify before claiming success.
AGENTS.md
# Drift agent guide

- site.ts owns UI copy, links, form fields, gallery settings,
  theme labels, identity, and SEO.
- src/content/projects/ owns project metadata and images.
- src/content/blog/ owns article frontmatter and Markdown prose.
- Keep canonical routes and locale mirrors together.
- blog.enabled hides its dock link and removes blog routes.
- Keep the form in honest demo mode until a provider is set.
- Preserve dark/light modes, focus, reduced motion,
  and the aerolaunch.app credit.

Before completion run npm run check, npm test, and npm run build.

Excerpt. The full file ships with the theme.

HTML

The same design as plain HTML

No Astro, no npm, no build step. Unzip the folder, open index.html straight from your disk and it works. Every page is a plain .html file you edit in any editor, the styling lives in one readable CSS file with the colours at the top, and an optional Tailwind folder is there if you want utility classes back. Deploy it to any static host: Netlify, Cloudflare Pages, GitHub Pages or plain cPanel.

Full documentation, ready before you buy

Browse the install guide, the site.ts reference, provider setup, deploy instructions, and the Drift-specific page - all live now.