Design System Framework
Typography, color, components, and layout specs for a cohesive portfolio—implement them in your own Figma library or code theme.
⚡ TL;DR
- Blueprint: Typography, color tokens, components, and layout rules
- Multi-platform: Apply in Figma, CSS/Tailwind, or Framer
- Accessibility ready: WCAG-minded color and contrast patterns
- Yours to build: Specs on this page—no implied bundled asset pack
Why Design Systems Matter for Portfolios
When your portfolio looks like three different people designed it, that's what happens without a design system. Consistent typography, colors, and spacing make you look professional and systematic—exactly what hiring managers want to see.
A strong design system works hand-in-hand with your portfolio layout structure and complements your case study presentation to create a cohesive, professional experience.
What Inconsistent Design Does
- •Makes you look unprofessional and scattered
- •Hiring managers question your attention to detail
- •Updates take forever because nothing matches
- •Your portfolio looks like student work
What a Design System Gets You
- •Professional, cohesive appearance across all projects
- •Shows you understand systematic design thinking
- •Makes updates and new content creation faster
- •Demonstrates mature design process to employers
What a Full Portfolio System Includes
Think of this section as a build checklist—not a single zip file from us. A mature portfolio system usually covers typography, color, components, and layout rules like the breakdown below. You implement it in your own Figma library, Tailwind theme, or Framer styles; the code samples later on this page are starting points.
Starter blueprint (specs you implement)
When you’re ready for ready-made community files, start with vetted design-system files on Figma Community or adapt the tokens on this page—there is no separate “kit” PDF or single asset bundle from The Crit.
- • Enough components and states to cover real portfolio patterns (often dozens once variants count)
- • Cohesive color directions with accessible contrast
- • A type scale from display through caption
- • Responsive grid and spacing rules you apply consistently
- • A short implementation note (README or Figma cover) for your token names
Typography System
Includes:
- •Font pairing recommendations
- •Hierarchy scale (H1-H6, Body, Caption)
- •Line height and letter spacing guidelines
- •Responsive typography scales
- •Web font optimization guidelines
Available Formats:
Color System
Includes:
- •Primary and secondary color palettes
- •Neutral grays and semantic colors
- •Accessibility-compliant contrast ratios
- •Dark mode color variations
- •Color usage guidelines and examples
Available Formats:
Component Library
Includes:
- •Button variants and states
- •Card components and layouts
- •Navigation patterns
- •Form elements and inputs
- •Icon system and usage guidelines
Available Formats:
Layout System
Includes:
- •12-column grid system
- •Spacing scale and rhythm
- •Breakpoint definitions
- •Container and wrapper patterns
- •Responsive layout guidelines
Available Formats:
Typography System & Hierarchy
Good typography hierarchy guides readers through your content. These scales are optimized for portfolios—big enough for impact, readable enough for long-form case studies.
Display
Hero headlines, main page titles
Portfolio Showcase
Heading 1
Section headers, project titles
UX Design Project
Heading 2
Subsection headers, card titles
Project Overview
Heading 3
Component headers, small titles
Design Process
Body Large
Lead paragraphs, important text
This project transformed the user experience...
Body
Main content, descriptions
The design process involved extensive user research...
Body Small
Captions, metadata, fine print
Project completed in 2024
Color Palettes & Accessibility
All color palettes meet WCAG AA accessibility standards with proper contrast ratios. Choose the personality that matches your work, or use these as a starting point for your own brand colors.
Professional Blue
Trustworthy and professional, perfect for corporate portfolios
Primary
#2563EB
Secondary
#1E40AF
Accent
#3B82F6
Neutral
Background
Text
Creative Purple
Bold and creative, ideal for design and art portfolios
Primary
#7C3AED
Secondary
#5B21B6
Accent
#8B5CF6
Neutral
Background
Text
Modern Green
Fresh and modern, great for tech and startup portfolios
Primary
#059669
Secondary
#047857
Accent
#10B981
Neutral
Background
Text
Warm Orange
Energetic and approachable, perfect for personal brands
Primary
#EA580C
Secondary
#C2410C
Accent
#F97316
Neutral
Background
Text
Component Library & Patterns
Reusable components that maintain consistency across your entire portfolio. Each component includes multiple variants and usage guidelines so you know exactly when and how to use them.
Project Card
Consistent layout for showcasing portfolio projects
Elements:
- •Project image
- •Title
- •Description
- •Tags
- •CTA button
Variants:
Usage:
Portfolio grid, project showcases, case study previews
Navigation Header
Clean, accessible navigation for portfolio sites
Elements:
- •Logo
- •Navigation links
- •Contact CTA
- •Mobile menu
Variants:
Usage:
Site navigation, mobile responsiveness, brand consistency
Testimonial Block
Social proof component for client testimonials
Elements:
- •Quote text
- •Client name
- •Client title
- •Client photo
Variants:
Usage:
Homepage testimonials, case study social proof, about page
Contact Form
Professional contact form for client inquiries
Elements:
- •Name field
- •Email field
- •Message field
- •Submit button
Variants:
Usage:
Contact page, project inquiry, newsletter signup
File Formats & Platform Support
Choose Your Starting Point
For Designers:
Start with a Figma library or community file for visual work
For Developers:
Start with CSS/Tailwind and Framer components for implementation
Free Community Resources
Get started with these excellent free design system resources from the community.
Figma Community
- • Design System Templates - Browse hundreds of free templates
- • Ant Design System - Complete component library
Open Source Design Systems
- • shadcn/ui - Beautiful components built with Radix UI and Tailwind CSS
- • Radix UI - Low-level UI primitives with accessibility built-in
- • Headless UI - Unstyled, accessible UI components for React and Vue
Real Implementation Examples
Below are concrete patterns—CSS variables, Tailwind config, and a card layout—you can lift into your own project. They illustrate how tokens and components hang together once you commit to a system.
CSS Variables Implementation
How to implement the design tokens in your CSS
:root {
/* Color System */
--color-primary: #2563EB;
--color-secondary: #1E40AF;
--color-accent: #3B82F6;
--color-neutral: #64748B;
--color-background: #F8FAFC;
--color-text: #1E293B;
/* Typography Scale */
--font-display: 'Inter', sans-serif;
--font-body: 'Inter', sans-serif;
--text-display: 3rem; /* 48px */
--text-h1: 2.25rem; /* 36px */
--text-h2: 1.75rem; /* 28px */
--text-body: 1rem; /* 16px */
/* Spacing Scale */
--space-xs: 0.5rem; /* 8px */
--space-sm: 1rem; /* 16px */
--space-md: 1.5rem; /* 24px */
--space-lg: 2rem; /* 32px */
--space-xl: 3rem; /* 48px */
}Copy this into your CSS file and reference these variables throughout your styles. Change the values to match your brand colors and spacing preferences.
Tailwind CSS Configuration
Extend Tailwind with your design system tokens
// tailwind.config.js
module.exports = {
theme: {
extend: {
colors: {
primary: {
50: '#EFF6FF',
500: '#2563EB',
600: '#1D4ED8',
900: '#1E293B'
},
neutral: {
50: '#F8FAFC',
100: '#F1F5F9',
500: '#64748B',
900: '#1E293B'
}
},
fontFamily: {
'display': ['Inter', 'system-ui', 'sans-serif'],
'body': ['Inter', 'system-ui', 'sans-serif']
},
fontSize: {
'display': ['3rem', { lineHeight: '1.2' }],
'h1': ['2.25rem', { lineHeight: '1.3' }],
'h2': ['1.75rem', { lineHeight: '1.4' }]
}
}
}
}This configuration creates utility classes like text-orange-500 andfont-display that you can use throughout your HTML.
Portfolio Card Component
Reusable project card following the design system
Visual Example:
E-commerce Redesign
Increased conversion rate by 34% through user research and iterative design improvements.
HTML Structure:
<div class="portfolio-card">
<img src="project.jpg" alt="Project">
<h3 class="card-title">Project Name</h3>
<p class="card-description">Brief description...</p>
<div class="card-tags">
<span class="tag">UX Research</span>
<span class="tag">Conversion</span>
</div>
</div>Customization & rollout
The specs above are meant to be adapted to your personal brand. Keep the systematic structure—tokens, components, spacing—while tuning visuals to match how you want to be seen.
Step 1: Choose Your Brand Colors
✅ Do:
- • Test contrast ratios with WebAIM checker
- • Choose colors that reflect your work style
- • Keep the same color structure (primary, secondary, etc.)
- • Consider how colors will look in light and dark modes
❌ Don't:
- • Use colors that fail accessibility standards
- • Pick colors just because they're trendy
- • Add more color roles than provided
- • Use pure black or white for text
Step 2: Adapt Typography
Font pairing suggestions:
- • Professional: Inter + Source Serif Pro
- • Creative: Poppins + Source Sans Pro
- • Technical: JetBrains Mono + IBM Plex Sans
- • Editorial: Playfair Display + Source Sans Pro
Step 3: Implement Consistently
- • Use the same spacing scale throughout your portfolio
- • Apply components consistently across all pages
- • Test on different screen sizes and devices
- • Document your customizations for future reference
Design System Questions
Quick answers to help you get started
Related Resources
Share this resource

Written by
The CritPortfolio research & critique
Designer, educator, founder of The Crit. I've spent years teaching interaction design and reviewing hundreds of student portfolios. Good feedback shouldn't require being enrolled in my class — so I built a tool that gives it to everyone. Connect on LinkedIn →
Too close to your own work?
Send one screen, case study, or URL. We'll show what's working, what's getting skipped, and what to fix next.
Continue Reading
All resources →Get one actionable portfolio tip every week. No fluff.
Short reads you can use on your site. Unsubscribe anytime.