Psychology-backed design

Design Research

Every design decision in this portfolio is backed by psychological research. This documents the reasoning — from colour choices to layout structure — and why each decision targets a management audience.

Style Guide

Colour Palette

Accent
--color-accent
Accent Light
--color-accent-light
Background
--color-bg
Card BG
--color-card-bg
Text
--color-text
Text Secondary
--color-text-secondary
Border
--color-border
Badge BG
--color-badge-bg

Typography

Heading 5xl Space Grotesk
Heading 4xl Space Grotesk
Section Title 2xl Space Grotesk
Body text — large. Used for lead paragraphs and descriptions. Inter, 1.7 lh
Secondary text — small. Labels, captions, metadata. Inter
Accent Label uppercase, tracking-widest

Spacing Scale

Page top
pt-20 md:pt-28 80px / 112px
Section bottom
pb-20 80px
Section heading gap
section-heading (mb 2.5rem) 40px
Content width
max-w-5xl 64rem (1024px)
Horizontal padding
px-6 24px
Card grid gap
gap-8 32px
Card padding
p-5 / p-6 20px / 24px

Components

Hero Pattern

Every page follows: accent label (uppercase, tracking-widest) → large title (4xl-6xl, Space Grotesk) → subtitle (lg, secondary colour). Consistent rhythm across homepage, investigations, research, and all-projects pages.

Highlight Title

CSS gradient underline at 65%-87% with 12% opacity. Applied via .highlight-title class. Adapts to dark mode automatically.

Example Title
Card Border Radius

Asymmetric "hand-drawn" radius: 14px 10px 12px 16px. Intentional imperfection signals craft, not carelessness.

Hand-drawn Uniform (avoided)
Badges
Standard badge AI highlight badge Playable

Animation Tokens

Hero entrance
@keyframes fadeUp
0.6s ease, staggered 0/150/300/500ms
Scroll reveal
IntersectionObserver
0.5s ease, threshold 0.1
Card hover lift
hover:-translate-y-1
0.2s ease
Image zoom
group-hover:scale-105
0.3s ease
Accent border
opacity 0 → 0.15
0.2s ease on hover
Theme transition
background-color, color
0.2s ease

Colour Psychology

Before

Cold navy accent. Clinical grays.

After

Teal = trust + growth. Warm neutrals.

01

Why Deep Teal

The accent colour shifted from cold navy (#000080) to deep teal (#0f766e). Navy reads as "corporate authority" — it signals hierarchy and formality. Teal occupies the intersection of blue (trust, competence) and green (growth, innovation). For a management audience evaluating technical capability, teal unconsciously communicates: "this person is both reliable and forward-thinking."

Labrecque & Milne (2012), Journal of the Academy of Marketing Science — blue-green hues score highest for perceived competence while maintaining approachability.

02

Warm Neutrals vs Clinical Grays

Backgrounds shifted from pure white (#fafafa) to warm off-white (#faf9f7), and grays gained warm undertones. Cold grays trigger a subtle "institutional" response — hospitals, government forms, corporate intranets. Warm neutrals feel curated and intentional, like a well-designed physical portfolio.

Warm palettes reduce cognitive friction. When colours feel "comfortable," visitors spend more time on content — the same principle behind why cafes use warm lighting to extend dwell time.

03

Dark Mode Palette

Dark mode uses desaturated blue-black (#0f1117) rather than pure black. The accent shifts to bright teal (#4fd1c5) for contrast. Pure black backgrounds create excessive contrast with white text, causing eye fatigue. The slight blue undertone feels "digital" and modern.

Weber-Fechner law — perceived contrast is logarithmic. A 93% dark background with 90% light text is comfortable for extended reading, while pure black on white creates a "vibrating" edge effect.

Typography Decisions

Headings

Space Grotesk

Geometric, technical, characterful

Body

Inter

Optimised for screens, tall x-height

Size Scale

xs sm base lg xl 2xl 3xl
01

Space Grotesk for Headings

A geometric sans-serif that reads as technical without being cold. Its distinctive character shapes (the angular 'a', the square-ish 'g') signal "this person cares about design decisions" — important for demonstrating attention to detail.

Serif fonts signal tradition (The Times, The Economist). Geometric sans-serifs signal modernity (tech). Space Grotesk is geometric enough for modern, characterful enough for human — avoiding the "generic template" feel of Roboto.

02

Line Height & Readability

Inter was designed for screen readability at small sizes. The 1.7 line-height gives paragraphs breathing room — neither cramped nor wasteful.

Beymer et al. (2008), IBM Research — line spacing of 1.5-1.8x font size produces optimal reading speed and comprehension. The 1.7 multiplier sits in the sweet spot.

03

Generous Sizing = Confidence

All font sizes deliberately bumped one step above defaults. Generous typography says "I have substance to share." Small, cramped text unconsciously signals "I'm trying to fit everything in" — the hallmark of a junior developer's CV.

Delboeuf illusion — the same object appears larger in a smaller frame. Generous whitespace and larger text make each project feel more substantial. The content doesn't change, but perceived value increases.

Layout & Visual Hierarchy

F-Pattern Eye Tracking

High attention Medium Low
01

F-Pattern Scanning

The home page grid follows the natural F-pattern: visitors scan horizontally across the top, then move down the left side. The hero title sits at the first fixation point. The 3-column card grid ensures the first row gets the most attention.

Nielsen Norman Group eye-tracking studies — the first two items in a grid receive 80% of initial attention. Project ordering matters more than alphabetical or chronological.

02

Card Design: Endowment Effect

Each project as a self-contained card leverages the "endowment effect" — when items feel like discrete, tangible objects, viewers assign them more value than a flat list. The hand-drawn border radius (14px 10px 12px 16px) adds organic imperfection.

Aesthetic-Usability Effect research — slightly imperfect designs are rated as both more trustworthy and more creative than pixel-perfect ones.

03

Inverted Pyramid Detail Pages

The detail page uses journalistic "inverted pyramid" structure: title, images, and lead description first. The short description has an accent left border as a "pull quote." The first paragraph is emphasised to hook readers before supporting text.

Management typically spends 30-60 seconds on a project page. The inverted pyramid ensures the value proposition lands immediately. The sticky sidebar keeps the call-to-action visible at all scroll depths.

04

Highlighter Effect

The CSS highlighter underline uses a gradient band (65%-87%) at low opacity (12%). This mimics a physical highlighter pen — a universal signal for "this is important." The slight imperfection triggers the "hand-made" heuristic.

Processing Fluency theory — moderate complexity (not too simple, not too complex) produces the most positive aesthetic response. The highlighter sits in the optimal zone of "intentional but natural."

Interaction Psychology

Micro-interaction Timeline

0ms Hover detected
50ms Shadow deepens, card lifts 1px
200ms Image zooms 5%, accent border fades in
300ms All transitions complete — feels "responsive"
01

Hover Micro-interactions

Cards lift 1px on hover with enhanced shadow. This leverages "perceived depth" — objects that float above the surface feel interactive and valuable. The image zooms slightly (105%), providing a "living" preview.

Tuch et al. (2012) — subtle animations improve perceived quality by 15-20%. Transitions under 300ms and movements under 4px feel responsive. Larger movements feel sluggish.

02

Airbnb Gallery Pattern

The image grid (hero left, smaller images right) is one of the most recognised gallery patterns on the web. Using it reduces cognitive load — visitors immediately understand they can click to see more. Fade-in on load prevents jarring "pops."

Jakob's Law — users spend most time on other sites and prefer yours to work the same way. The Airbnb pattern is internalised by billions of users. Zero learning curve.

03

Playable Games: The IKEA Effect

Embedding playable games transforms the viewer from passive observer to active participant. The "Play Game" button uses a gradient that draws the eye, and the pulsing icon creates urgency without being obnoxious.

Norton et al. (2012), IKEA Effect — people value things more when they've invested effort. Playing a game transforms a portfolio entry from a claim into evidence.

Management-Specific Signals

What Management Looks For

Can they ship? 95%
Technical breadth 88%
Attention to detail 82%
Communication clarity 78%
Product thinking 72%
01

Breadth vs Depth Signalling

Projects across TypeScript, Python, Go, C, and Kotlin signal adaptability and T-shaped expertise. Language badges on each card make this breadth immediately visible. For management, this means: "can pick up any domain quickly."

Tetlock (2005), "Expert Political Judgment" — "foxes" (broad knowledge) consistently outperform "hedgehogs" (deep specialists) at prediction and adaptation. A single-language portfolio suggests rigidity.

02

End-to-End Delivery

"From architecture through to working software" — every project has running code, not just design documents. This directly addresses the management concern: "can this person actually ship?"

"Completion bias" — we evaluate past projects as predictors of future performance. 87 completed projects signals a shipping culture. One unfinished ambitious project is psychologically worse than ten shipped small ones.

03

The Halo Effect

The site itself is a meta-demonstration. Attention to colour, typography, animation, and responsive design shows this engineer understands the full user experience. For management evaluating senior candidates, this signals leadership capability and product thinking.

Thorndike (1920), Halo Effect — a well-designed portfolio biases viewers to rate contained projects more favourably. A beautifully presented mediocre project is rated higher than a poorly presented excellent one.