Design concept “Contact Sheet”: a white gallery canvas, serif display type, numbered photo frames with crop marks and one red grease-pencil accent — built for lookbook-style fashion brands.
What's Inside
- 8 pages: Home, Brand, Collections, Lookbook, Journal, Journal post, Membership, Contact
- Motion that feels designed, not decorative: shared-layout transitions, a fan-out card deck, scroll-stacked cards, a self-drawing red “selected” circle, staggered reveals and smooth page transitions
- All copy lives in one file (content.js). Change the text, keep the design
- Design tokens at the top of one CSS file: one accent colour, three fonts (Instrument Serif, Inter, JetBrains Mono — all open-licensed)
- Working contact form: paste a Formspree, Getform or Basin endpoint and it sends
- Fully responsive, checked at 320, 390, 768 and 1440 px
- English demo content, plus a Korean content file
- Plain CSS and JavaScript — no Tailwind or TypeScript setup to learn
What You Get
- Full source code (React 18 + Vite 5 + Framer Motion 11)
- README with setup, editing and deploy guides (Netlify, Vercel, Cloudflare Pages)
- License file
Requirements
Node.js 18 or newer. Basic comfort with editing a JavaScript file.
Licenses
- Personal — 1 website (yours or one client's)
- Commercial — unlimited websites, for one person
- Agency — unlimited websites for your whole team, plus 6 months of priority email support
Reselling or redistributing the template itself is not allowed.
The brand, people and text in the demo are fictional. No photos are included. Every image slot is a numbered contact-sheet frame with a drawn garment silhouette, so the site looks finished before you add your own — add one image line per item to swap in a photo.




