Back to themes

NovaShowcase

A premium Astro 7 portfolio theme for creative agencies, design studios and freelancers. Kinetic motion, buttery smooth scroll, 15 homepage sections, case studies, and full SEO — fully static and blazing fast.


Cost

Paid


Created by
Noel

Premium portfolio theme with cinematic motion

NovaShowcase is a premium Astro 7 portfolio theme built for creative agencies, design studios and freelancers who want a site that makes people stop scrolling. It pairs a spectral noir design system with a hand-built motion layer — all while staying fully static, fast, accessible and SEO-perfect.


 What's included

  • 15 homepage sections — Hero, featured work, manifesto, stats, services, team carousel, testimonials, horizontal reel, showcase reveal, ticker, CTA and more
  • 6 pages — Home, Work (index + case studies), Studio, Services, Contact, and a kinetic 404 page
  • File-based content — Markdown case studies with typed Zod schemas. No CMS required.
  • Spectacular motion — Powered by Motion + Lenis: preloader, split-text reveals, scroll-linked copy, magnetic buttons, wipe carousel, upflow gallery, animated counters, milestone timeline, cursor mask reveal, and feature orbit.
  • Editorial typography — Self-hosted variable fonts (Outfit, Plus Jakarta Sans, JetBrains Mono) via Fontsource.
  • SEO ready — Sitemap, RSS feed, robots.txt, llms.txt, Open Graph, Twitter cards, and JSON-LD structured data.
  • Accessible — Respects prefers-reduced-motion, keyboard-friendly navigation, focus states, skip link, and inert overlays.
  • Zero runtime framework — Ships as static HTML with prefetching enabled. Self-hosted assets, no stock photos, no CDNs.


Perfect for

Creative agencies · Design studios · Freelancers · Motion designers · Brand studios


Getting started 

After purchase, unzip the theme, run npm install, then npm run dev. Customize brand, navigation, and SEO from src/lib/site.ts. Edit homepage content in src/data/. Add case studies as Markdown files in src/content/work/. Restyle colors and typography via CSS variables in src/styles/global.css.