Persona
Warm personal portfolio with teal accents. Showcase your work and personality.
See Persona in action
Every page and section is part of the download. Use these as launch-day templates — keep the structure, swap the copy.
Persona is for designers, developers, and creatives who want a personal portfolio that feels warm and approachable. First-person copy, teal accents, skill tags, and a services section with pricing.
Best Fit For
- Freelance designers
- Frontend developers
- UX researchers
- Creative directors
- Illustrators
- Content creators
Full Page Set
Every page is real and editable — no placeholders, no "coming soon" stubs.
28 Sections Included
Every section is a ready-to-use Astro component. Add it to any page, customize via config, or remove what you don't need.
What's Included
A Portfolio That Sounds Like You
Persona is written in first person from the start. 'I design,' 'my process,' 'let's work together.' The copy structure helps visitors feel like they are meeting a real person, not reading a corporate brochure.
Resume Page That Gets You Hired
A proper timeline layout with companies, roles, and dates. Below it, a skills grid with proficiency indicators and a downloadable PDF link. Everything a hiring manager or potential client needs in one scannable page.
Services With Clear Pricing
Three-tier pricing cards with scope descriptions, deliverables, and timelines. Freelancers who publish pricing attract better-qualified leads — Persona makes that easy with a section designed specifically for it.
Forms, newsletter, and analytics — pre-wired
Persona is ready to connect to your preferred providers. Pick from the options below, drop in a single API key, and your contact form, newsletter signup, and analytics are live — no backend, no JavaScript, no glue code.
Contact form
The Contact section's <form> renders with no JS. Set one provider in site.ts; the form action wires automatically.
- Formspree50 free submissions / month, no domain restriction
- FormSubmitFree, no signup — just an email confirmation
- Netlify FormsFree 100/month — Netlify hosting only
Newsletter
The Newsletter form sends subscribers directly to your ESP. The email input name auto-adjusts per provider.
- MailchimpStandard EMAIL field; honeypot supported
- ConvertKit (Kit)email_address field; works with any form ID
- Buttondownemail field; lightest, indie-friendly
Analytics
Layout.astro injects the right script tag based on the provider you choose. No client-side branching.
- Google Analytics 4Paste your G-XXXXXXXXXX measurement ID
- PlausiblePrivacy-friendly, ~1 KB script, no cookies
- UmamiSelf-hostable, also cookie-free
Tech Stack
Config-Driven Setup
Every theme uses a single src/config/site.ts file
for customization. Change your brand, navigation, form providers, analytics, and section content
without touching component code.
// src/config/site.ts
export const siteConfig = {
name: "Your Company",
tagline: "Your tagline here",
url: "https://yourdomain.com",
navigation: { sticky: true, links: [...], cta: {...} },
social: { twitter: "...", github: "...", linkedin: "..." },
seo: { title: "...", description: "...", ogImage: "/og.png" },
// ── Provider switches ────────────────────────────────
contactForm: { provider: "formspree", formspreeId: "your-id" },
newsletter: { provider: "convertkit", actionUrl: "https://..." },
analytics: { provider: "plausible", plausibleDomain: "you.com" },
// ── Section data ─────────────────────────────────────
team, video, timeline, comparison, gallery,
carousel, tabs, appDownload, map, footer,
} as const; Full documentation, ready before you buy
Browse the install guide, the site.ts reference, provider setup, deploy instructions, and the Persona-specific page — all live now.