15% off individual templatesCUTER15
Apply it at checkout
Service Folio template — Home view
Categories

What is inside

Service Folio is built for an independent designer or developer who needs to show both work and thinking. Case studies and articles are validated content entries, the theme follows the visitor across pages, and the contact flow is ready for production rather than being a visual placeholder.

Feature by feature

Light and dark, remembered

The theme is written before the first paint, persists in localStorage, follows the OS until you choose, and mirrors across tabs and back-button restores.

Work and articles, both in files

Case studies with a carousel and a hover image, and articles with topics and reading time. Markdown or MDX, validated on every build.

Centralised reveal presets

GSAP reveals defined once and reused, synchronised with Lenis smooth scrolling, and skipped entirely when the visitor asks for less motion.

A portfolio that reads from data

Experience, awards, testimonials, services and the about profile live in typed config files instead of being buried in components.

A contact form with real validation

Astro Actions and Zod on the server, honeypot, Upstash rate limiting and Resend delivery, with the messages themselves kept as copy.

Fonts tuned, not just loaded

Two families served locally with Latin subsets and explicit fallbacks, the variable one declared as a weight range so it emits one rule per style.

Images optimised at build time

Every image is a local asset handled by Astro Assets. External image URLs are deliberately not part of the workflow.

Discoverable out of the box

Canonical URLs, Open Graph, Twitter cards, sitemap, RSS and robots.txt, with only the contact route running on demand.

Pages included
/Home
/About
/Works
/Work detail
/Blog
/Blog post
/Contact
/Legal + 404
What you publish without touching code

Typed content collections. You write a file, and the listing, the detail page, the feed and the sitemap pick it up on the next build.

Work
src/content/works/*.mdxCase studies with cover, optional carousel and hover images, tags, client and date. Only title, description, cover, tags and date are required.
Blog
src/content/blogs/*.mdArticles with topics, date and reading time. They join the listing, the RSS feed and the sitemap.
Legal
src/content/legals/*.mdTitle and description. The filename becomes the route slug.
Site data
src/config/*.data.tsNavigation, social links, services, the about profile, experience, awards, testimonials and the contact form's select values.
A new work entry is this file:
---
title: 'Project name'
description: 'Short project summary.'
coverImage: '../../assets/works/project.webp'
carouselImages:
  - '../../assets/img-projects/detail.webp'
hoverImage: '../../assets/img-projects/hover.webp'
tags: ['Web Design', 'Development']
clientLink: 'https://example.com/'
date: 2026-01-01
client: 'Client name'
featured: true
---
Making it yours

The copy

src/config/labels.ts

Interface copy, SEO labels and the form's own validation messages, all in one typed file.

The typefaces

astro.config.mjs

A display family and a variable mono body family, both self-hosted through Astro Fonts, with only what the first paint needs preloaded.

The two palettes

src/styles/global.css

Light and dark as custom properties on the same token names, exposed to Tailwind through a theme block and a dark variant.

Stack
Astro 7Tailwind CSS 4TypeScriptGSAPLenisMDXAstro ActionsZodResendUpstash Redis
What you need to run it
RuntimeNode 22.12 or newer
Package managerpnpm 10 or newer
DeployVercel out of the box; any static or Node host with a one-line adapter swap
Accounts you need
Resend— delivers the contact form email
Upstash Redis— rate-limits the contact form

Both have a free tier, and the contact form needs them: the ZIP ships an .env.template with the variables to fill in.

Documentation included

A README written for this template, not copied between them, inside the ZIP. It covers:

Features
Stack
Getting started
Environment variables
Commands
Project structure
Rendering and routes
Configuration
Content collections
Images
Fonts
Icons
Animations and smooth scrolling
Theme
Contact form
SEO and discovery
Deployment
Troubleshooting
Release history
v1.0May 02, 2026Initial commercial release with dual themes, work, writing and contact workflow.

Try any demo before you decide

The demos are the real templates, deployed. No signup, no email in the way.