Back to themes

Seyko - Studio theme for Astro

Premium Astro theme for digital studios. Bilingual EN/ES, single typed config file, OKLCH tokens, full Schema.org. Built to feel custom, not template-y. Ships in an afternoon.


Cost

Paid


Created by
Randy

Seyko is a premium Astro theme built specifically for digital studios, agencies, and freelancers — not a SaaS landing template stretched to fit a portfolio.


Most marketplace themes optimize for breadth: one theme tries to fit a blog, a SaaS, a portfolio, and an e-commerce store all at once. The result always feels a little off. Seyko goes the other direction. Home, projects, services, MVP funnel, blog, and contact — opinionated, polished, ready to ship in an afternoon.



What you get


12 pages: home, about, services index and detail, MVP funnel, projects index and detail, articles index and post, FAQ, privacy, terms, 404, style guide.


55+ components organized around 5 primitives (Wordmark, SectionHeader, ImageFrame, Band, DarkBand) plus a full library of sections (Process, Testimonials, FAQ, Newsletter, Stats, TrustedBy), forms (Contact, Newsletter), and blog UI (BlogCard, TableOfContents, ReadingProgress, Breadcrumb, Pagination).


OKLCH design tokens — perceptually uniform color, predictable contrast across the whole site. Rebrand the accent by changing two CSS variables.


Bilingual EN/ES — real translations, locale-aware routing, hreflang, Schema.org in the correct inLanguage. Add a third language by copying one template file.


Studio-grade Schema.org JSON-LD — composed per page from helpers for Organization, WebSite, WebPage, BreadcrumbList, BlogPosting, Person, Service, FAQPage, ItemList, CreativeWork, and CaseStudy. XSS-safe injection out of the box.


MDX blog with table of contents, reading progress, post navigation, breadcrumbs, and Pagefind client-side search. Zero backend.


Cal.com / Calendly integration — set one URL in the config and every "Book a call" CTA points to it. Set it to undefined and they vanish cleanly.


Formspree / Web3Forms contact form with optional WhatsApp float button.


Optional analytics — Plausible, Umami, GA4, or Fathom. Omit the block to disable entirely.



What's premium about it


Every section uses container-query font sizing — the wordmark scales with its column, not the viewport. The accent palette is parameterized by hue + chroma, so a buyer can rebrand by writing two lines. Dark sections share a single DarkBand primitive, so the recipe stays consistent across 6 different places. The page composer owns the surface rhythm via Band wrappers — reorder sections without breaking the visual flow.


Bilingual support is real, not a placeholder. Locale-aware schemas, correct hreflang, the locale selector that hides itself when only one language is enabled, routing that treats LOCALES as the single source of truth.


The customization surface is intentionally tight. You touch four files to brand the theme: src/config/site.ts (everything: brand, SEO, i18n, contact, founder, socials, analytics, nav, feature toggles), .env (two optional env vars), src/data/*.ts (typed editorial content arrays), and src/i18n/locales/*.ts (UI strings). Components, layouts, and templates stay untouched — though they're all in src/components/ and src/layouts/ if you want to look.



Built with


Astro 6 · Tailwind v4 · TypeScript strict (noUncheckedIndexedAccess + exactOptionalPropertyTypes) · OKLCH tokens · MDX · Pagefind · Container Queries · Sharp



Accessibility


WCAG 2.2 AA. Semantic landmarks, focus rings, prefers-reduced-motion honored, ARIA on every interactive element. Tested with axe-core in CI.



License


Commercial — single license per end-user product. See LICENSE.md in the repository for the exact terms.