CtrlK
BlogDocsLog inGet started
Tessl Logo

feb-25-workspace/elegant-reports

Generate beautifully designed PDF reports with Nordic/Scandinavian aesthetic. Uses Nutrient DWS API for HTML-to-PDF conversion.

76

Quality

76%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

Overview
Skills
Evals
Files

NORDIC_DESIGN_RESEARCH.md

Nordic Design Research for Elegant Reports

Core Principles of Scandinavian Design

Philosophy

From Wikipedia and ArchDaily research:

"Scandinavian design is characterized by simplicity, minimalism, and functionality. It emerged in the early 20th century and flourished in the 1950s across Denmark, Finland, Norway, Sweden, and Iceland."

"The Scandinavian approach is one of subtle and precise intervention. These projects are not meant to dominate but to enter into a dialogue with the existing context."

The 6 Pillars (ArchDaily "6 Lessons from Scandinavian Design")

  1. Simplicity — Remove unnecessary elements; every component must earn its place
  2. Craftsmanship — Quality over quantity; attention to detail
  3. Elegant Functionality — Form follows function, but function can be beautiful
  4. Quality Materials — Natural, honest materials that age gracefully
  5. Hygge — Creating coziness and contentment; psychological comfort
  6. Light — Deliberate use of light as a design element (especially important in dark Nordic winters)

"Less, but Better" (Dieter Rams / Ace Hotel)

  • Economy of materials
  • Lack of information overload
  • Well-studied dimensions
  • Sophistication in details, not decoration

Visual Language

Color Palette

Primary: Neutral Foundation Based on Refactoring UI and Tailwind research, a Nordic palette needs:

  • 9-11 shades of gray (not just 3-4)
  • Warm neutrals preferred over cold grays (stone/slate tones)
  • One accent color used sparingly (typically muted blue, teal, or forest green)

Recommended Nordic Palette:

Background:    #FAFAFA (off-white, warmer than pure white)
Surface:       #FFFFFF (cards, elevated elements)
Border:        #E5E5E5 (subtle, low contrast)
Text Primary:  #171717 (not pure black — softer)
Text Secondary:#737373 (muted, accessible)
Text Tertiary: #A3A3A3 (captions, timestamps)
Accent:        #0EA5E9 (sky-500, Nordic blue)
Accent Muted:  #7DD3FC (sky-300, lighter touch)

Dark Mode Equivalent:

Background:    #0A0A0A
Surface:       #171717
Border:        #262626
Text Primary:  #FAFAFA
Text Secondary:#A3A3A3
Text Tertiary: #737373
Accent:        #38BDF8

Typography

Geist (Vercel) — Primary Recommendation

"Specifically designed for developers and designers... embodies principles of simplicity, minimalism, and speed, drawing inspiration from the Swiss design movement."

Font Stack Options (Nordic feel):

  1. Geist — Modern Swiss-inspired, excellent for tech
  2. Inter — Designed for screens, highly legible, open source
  3. IBM Plex Sans — Corporate but warm, excellent for reports
  4. DM Sans — Clean, geometric, friendly
  5. Source Sans Pro — Adobe's workhorse, very readable

Monospace:

  • Geist Mono
  • JetBrains Mono
  • IBM Plex Mono

Recommended Pairings:

  • Headers: Inter (600-700 weight)
  • Body: Inter (400 weight)
  • Code/Data: Geist Mono or JetBrains Mono

Spacing & Layout

Generous Whitespace

  • Nordic design uses more whitespace than typical Western design
  • Let elements breathe
  • Use consistent spacing scale (4, 8, 12, 16, 24, 32, 48, 64, 96px)

Grid System From Vercel's design: "A huge part of the new Vercel aesthetic" is the grid

  • Use subtle grid lines as design elements
  • 12-column grid for flexibility
  • Generous margins (32-48px minimum on reports)

Visual Rhythm (from Rauno.me/Vercel)

"For a consistent rhythm, we made deliberate effort not to overuse any single design motif. Subconsciously, we also made use of white space for a consistent rhythm."

  • High-novelty elements (bold colors, motion, decoration) should never appear consecutively
  • Interlude (whitespace, neutral elements) between attention-grabbing sections
  • Balance visual density across the page

Report-Specific Design Patterns

Information Hierarchy

  1. Title — Large, bold, minimal (32-48px)
  2. Metadata — Small, muted, separated (date, author — 12-14px)
  3. Summary/Abstract — Prominent but not competing with title
  4. Section Headers — Clear but understated (20-24px, medium weight)
  5. Body Text — Comfortable reading size (16-18px, 1.6 line-height)
  6. Data/Tables — Slightly smaller, monospace numbers (14-15px)

Tables (Nordic Style)

/* No heavy borders — use background alternation and spacing */
table {
  border-collapse: separate;
  border-spacing: 0;
}

th {
  text-align: left;
  font-weight: 500; /* Not bold */
  color: #737373;   /* Muted */
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: 0.05em;
  padding: 12px 16px;
  border-bottom: 1px solid #E5E5E5;
}

td {
  padding: 12px 16px;
  border-bottom: 1px solid #F5F5F5; /* Very subtle */
}

tr:hover {
  background: #FAFAFA; /* Subtle hover */
}

Cards & Containers

  • Minimal shadowsbox-shadow: 0 1px 3px rgba(0,0,0,0.08)
  • Subtle borders preferred over shadows for light mode
  • Rounded corners — 8px (not too round, not sharp)
  • No gradients on backgrounds (flat, honest colors)

Charts & Data Visualization

From Atlassian's color guidance:

  • Use a restrained palette for charts (3-5 colors max)
  • Accessible contrast — 3:1 minimum for data elements
  • Labels directly on/near data points (reduce cognitive load)
  • No 3D effects, minimal decoration

Recommended chart colors (muted, distinguishable):

#0EA5E9 — Sky blue (primary)
#8B5CF6 — Violet (secondary)
#10B981 — Emerald (positive)
#F59E0B — Amber (warning)
#EF4444 — Red (alert)
#64748B — Slate (neutral)

Laws of UX Applied to Reports

From lawsofux.com, key principles for report design:

Aesthetic-Usability Effect

"Users often perceive aesthetically pleasing design as design that's more usable."

Beautiful reports are perceived as more credible and easier to understand.

Miller's Law

"The average person can only keep 7 (plus or minus 2) items in their working memory."

  • Limit key metrics per section to 5-7 items
  • Use chunking for large data sets
  • Executive summaries should have 3-5 key points

Law of Prägnanz

"People perceive complex images as the simplest form possible."

  • Simple, clean layouts are processed faster
  • Avoid visual complexity that requires interpretation

Serial Position Effect

"Users best remember the first and last items."

  • Put most important information at the beginning
  • End with clear conclusions or next steps

Template Variations

1. Executive Summary (1-page)

  • Large hero metric or finding
  • 3-5 key points with icons
  • Minimal text, maximum impact
  • Single accent color for emphasis

2. Detailed Analysis

  • Table of contents
  • Clear section hierarchy
  • Data tables and charts
  • Footnotes and sources

3. Metrics Dashboard

  • KPI cards at top
  • Comparison charts
  • Trend indicators
  • Dense but organized data

4. Meeting Notes / Status Update

  • Date and attendees prominent
  • Action items highlighted
  • Simple bullet formatting
  • Quick-scan friendly

5. Technical/API Documentation

  • Code blocks with syntax highlighting
  • Monospace for technical content
  • Clear parameter tables
  • Dark mode friendly

Implementation Notes

PDF-Specific Considerations

  1. Page breaks — Use page-break-before: always for major sections
  2. Headers/Footers — Page numbers, date, document title
  3. Print colors — Ensure sufficient contrast when printed B&W
  4. Font embedding — Use web fonts with proper licensing (Google Fonts)
  5. A4 vs Letter — Support both with proper margins

CSS Print Optimization

@media print {
  body { -webkit-print-color-adjust: exact; }
  .no-print { display: none; }
  h1, h2, h3 { page-break-after: avoid; }
  table, figure { page-break-inside: avoid; }
}

Inspiration Sources

  • Vercel/Geist — Modern Swiss-inspired design system
  • Linear — Clean SaaS aesthetic
  • Stripe — Documentation excellence
  • Notion — Content-first design
  • Apple — Product documentation
  • Tailwind UI — Component patterns
  • shadcn/ui — Modern React components with good defaults

Summary: Nordic Design Checklist

Generous whitespace — When in doubt, add more space
Muted colors — No saturated colors except one accent
Quality typography — Inter/Geist, proper hierarchy
Subtle borders — Not heavy dividers
Flat design — No gradients, minimal shadows
Content-first — Design serves the information
Consistent rhythm — Spacing scale, visual balance
Accessibility — WCAG AA contrast ratios
Print-optimized — Works in B&W, proper page breaks

Install with Tessl CLI

npx tessl i feb-25-workspace/elegant-reports

generate.js

NORDIC_DESIGN_RESEARCH.md

SKILL.md

tile.json