Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
An Astro 7 and Tailwind CSS v4 static site template for small businesses, with services, reviews, blog, and Netlify Forms.

Free multipage Bootstrap 5 and HTML5 charity website template for nonprofits, donation drives, and community outreach programs.
Small Business Starter is an Astro 7 and Tailwind CSS v4 website template for small businesses, contractors, and local service providers, producing a nine-page static site whose copy, colours, and photos are edited from a handful of TypeScript and CSS files.
Small Business Starter is a free, MIT-licensed static website template built on Astro 7 with Tailwind CSS v4 for small businesses and local service contractors. Its inputs are TypeScript data files (src/data/siteData.ts, src/config/brand.ts, src/data/privacy.ts, src/data/terms.ts), one CSS theme file (src/styles/theme.css), and Markdown blog posts under src/content/blog/; its output is a static site built into dist/. Business name, tagline, SEO description, licence number, email, phone, address, hours, emergency-service tagline, social links, navigation, service cards, reviews, about story, team members, trust items, and footer navigation all come from the single src/data/siteData.ts file, which powers the entire site. The documented deploy target is Netlify, where build settings are read from netlify.toml and the contact form is handled by Netlify Forms with no extra configuration.
src/data/siteData.ts holds the business name, tagline, meta description, licence/contractor number, email, click-to-call phone fields, address with Google Maps link, hours, emergency tagline, socials, header nav, service cards, customer reviews, about story paragraphs, team cards, homepage trust bar items, and footer nav columns; empty strings hide optional fields and links.src/styles/theme.css defines --color-primary, --color-accent, --color-background, --color-surface, --color-text, --color-text-muted, --color-dark, --color-dark-surface, and a --radius-* scale inside a Tailwind v4 @theme block; Tailwind auto-generates utilities such as bg-primary, text-accent, and rounded-md from them, so no other file needs editing when colours change./, /about, /services, /reviews, /contact, /blog, /blog/[slug], /privacy, and /terms, each backed by a file under src/pages/.src/content/blog/ with title, description, author, date, tags, and draft fields; the filename becomes the URL slug, and three starter posts ship with the template.src/assets/images/gallery/ appear automatically and the filename becomes the alt text (kitchen-remodel.jpg becomes "Kitchen Remodel"); hero images (landscape, at least 1600 × 1200 px) and about images (portrait or square, at least 900 × 700 px) are imported explicitly from src/config/images.ts.@astrojs/sitemap and astro-robots-txt generate the sitemap and robots file, while the domain set in both astro.config.mjs and siteData.ts drives canonical URLs, Open Graph tags, and JSON-LD structured data.src/data/privacy.ts and src/data/terms.ts render the privacy and terms pages from an effective date plus an ordered list of heading-and-paragraph sections, and the template documents a 16 × 16 px SVG favicon plus a 1200 × 630 px OG image (PNG or JPG, ideally under 300 kB).pnpm dev serves at localhost:4321, pnpm build outputs to dist/, pnpm preview serves the production build, and pnpm test runs the included Playwright suite.draft flag controls publication.favicon.svg and og-image.png, rewrite the privacy and terms sections, set the production domain in two files, and deploy from GitHub to Netlify.pnpm install then pnpm dev; the dev server starts at http://localhost:4321.siteData.ts for business content, theme.css for colours and radius, brand.ts for identity, the image folders, then the favicon, OG image, legal data, blog posts, and domain.pnpm build to emit the static site into dist/, or push to GitHub and connect the repo to Netlify, which auto-detects the build from netlify.toml.@theme block, so rebranding does not require touching component markup.brand.ts, the fonts array in astro.config.mjs, and the @theme inline fallback stacks in theme.css.Yes. It is released under the MIT license, which allows free use, modification, and distribution. There is no paid tier mentioned in the documentation, and the source is intended to be edited directly for each client or business.
Astro 7 handles the framework and static output, Tailwind CSS v4 with @tailwindcss/typography handles styling, @astrojs/sitemap and astro-robots-txt cover SEO files, Playwright covers testing, and Netlify provides static hosting plus the contact form backend.
Colours, border radius, type scale, and spacing come from the @theme block in src/styles/theme.css; Tailwind v4 generates utility classes from those variables automatically. Fonts require updating the name in src/config/brand.ts, the fonts array in astro.config.mjs, and the fallback stacks in theme.css.
Everything lives in src/data/siteData.ts: name, tagline, meta description, licence, email, phone, address, hours, emergency tagline, socials, navigation, service cards, reviews, about story, team cards, trust items, and footer navigation. Leaving a field as an empty string hides the related element.
The documented deployment path is Netlify, where netlify.toml supplies build settings and the contact form uses Netlify Forms. The build output is a static dist/ folder, but moving the contact form to another host would require replacing that form handling yourself.
