Beautiful by default
A thoughtful design system with 18 hand-picked color palettes, typography scales, and spacing tokens. Your site looks premium from day one.
Premium website starter by myndlabs.tech
varsha is a premium Astro starter template with a polished design system, built-in docs, blog, and dark mode out of the box. Ship production-ready marketing sites, documentation portals, and personal pages in minutes instead of weeks.
npm create varsha@latest
Astro-based · TypeScript-ready · Zero-config dark mode · No lock-in, deploy anywhere
A production-ready starter with docs, blog, and a beautiful design system baked in.
Astro islands ship zero JS by default.
18 themes with system preference detection.
Content collections ready out of the box.
# features
varsha ships with a curated set of features that cover 90% of website projects out of the box. Focus on your content and product; the boring infrastructure is already done.
A thoughtful design system with 18 hand-picked color palettes, typography scales, and spacing tokens. Your site looks premium from day one.
Built on Astro's islands architecture. Ship near-zero JavaScript by default, with perfect Lighthouse scores and instant page loads.
Semantic HTML, keyboard navigation, ARIA attributes, and color contrast built into every component. WCAG 2.1 AA by default.
CSS custom properties power the entire theme system. Change two variables and re-skin your entire site in seconds.
Open Graph, Twitter cards, canonical URLs, sitemaps, and structured metadata all preconfigured. Just add your content.
18 themes (9 dark, 9 light) with system preference detection and a keyboard-accessible theme switcher. No extra setup.
Markdown/MDX blog with content collections, tags, RSS feed, syntax highlighting, and reading time estimates.
Full documentation site template with sidebar navigation, search, code blocks, and i18n support.
Built-in internationalization routing and content organization for multi-language sites from the start.
Dozens of pre-built components: hero sections, feature grids, pricing tables, callouts, code blocks, tabs, and more.
Full TypeScript support with strict types out of the box. Components, content collections, and APIs all fully typed.
Static output deploys to Vercel, Netlify, Cloudflare Pages, GitHub Pages, or any static host. Add an Astro adapter for SSR if needed.
# showcase
See what ships when you start with varsha. From personal sites to startup landing pages, the starter gets out of the way and lets your content and brand take center stage.
A founder landing page with personal brand, newsletter, and product links, built and launched in an afternoon.
The varsha documentation itself ships as part of the starter, demonstrating sidebar nav, search, and MDX content.
A full blog with MDX posts, tags, author pages, RSS, and syntax-highlighted code blocks ready for your first post.
# why varsha
Most starters give you a blank page and a build tool. varsha gives you a complete, production-grade foundation you can be proud to ship on day one. Stop configuring and start creating.
No webpack configs, no Tailwind setup debates, no dark mode hacks to reverse-engineer. Clone, install, run, and you have a beautiful site.
$ npm create varsha@latest
$ cd my-site && npm run dev
Write posts and docs in Markdown or MDX with Astro content collections. Type-safe frontmatter, automatic slugs, and fast builds.
---
title: "Hello World"
date: 2025-01-15
tags: [intro]
---
# Welcome to my blog...
No vendor lock-in, no SaaS dependency, no platform you can't leave. Static files deploy anywhere; your content lives in your repo as plain text.
$ npm run build
# output: ./dist/
# deploy to any static host
# why different
Starting from an empty folder means spending weeks on boilerplate before you write a single word of content. Starting with varsha means you spend those weeks on your product instead.
Dozens of components, layouts, and patterns ready to use.
Astro delivers static HTML with optional JS islands.
Docs, blog, components, i18n, SEO, and theming all integrated.
| What you get | From scratch | Basic theme | Heavy framework | varsha |
|---|---|---|---|---|
| Production-ready design system | — | limited | requires setup | ✓ |
| Dark mode with theme switcher | — | basic | requires setup | ✓ |
| Blog (MDX, RSS, tags) | — | some | plugin | ✓ |
| Documentation site template | — | — | plugin | ✓ |
| SEO & social metadata | — | partial | plugin | ✓ |
| Accessibility (WCAG AA) | your job | varies | varies | ✓ |
| i18n routing | — | — | plugin | ✓ |
| TypeScript throughout | optional | varies | ✓ | ✓ |
| Time to first deploy | weeks | days | days | minutes |
# what you get
Drop in pre-built components, create pages in Markdown or Astro, and customize with CSS variables. The starter is opinionated but never in your way.
Hero sections, feature grids, CTAs, pricing tables, testimonial cards, and more, all accessible and theme-aware.
Type-safe Markdown/MDX for blog posts and docs with automatic slugs, tags, and build-time validation.
18 palettes driven by CSS variables. Switch themes with a keystroke; add your own brand colors in minutes.
Add interactivity only where you need it with Astro's island architecture. Zero JS shipped for static content.
// src/pages/index.astro
---
import Hero from "../components/Hero.astro";
import Features from "../components/Features.astro";
import CTA from "../components/CTA.astro";
import { getCollection } from "astro:content";
const posts = await getCollection("blog");
---
<Layout title="My Site">
<Hero
eyebrow="Welcome"
title="Hello, world."
primaryCta={{ text: "Get started", href: "/docs/" }}
/>
<Features items={features} />
<CTA title="Start building today." />
</Layout>
# components & templates
Every component is accessible, theme-aware, and fully customizable. Browse all components or bring your own.
# start building
Skip the weeks of boilerplate. Clone the starter, customize your theme, write your first post, and deploy. Your audience is waiting.