DESIGN.md · Analysis

Emmanuel Nsikan-David Portfolio

nsikandavid.dev · 3 Sept 2026 · 47 colors · Instrument Sans, Instrument Serif

Emmanuel Nsikan-David Portfolio

A vibrant, approachable fullstack developer portfolio blending technical credibility with human warmth through a signature neon-green accent and clean, modern typography.

Colors

surface#ffffff
surface-dim#f5f5f5
surface-bright#fafafa
surface-container-lowest#fafafa
surface-container-low#f0f0f0
surface-container#e9ecef
surface-container-high#e0e0e0
surface-container-highest#d0d0d0
on-surface#000000
on-surface-variant#505050
inverse-surface#1a1a1a
inverse-on-surface#ffffff
outline#6c757d
outline-variant#d0d0d0
surface-tint#61fb61
primary#00e331
on-primary#ffffff
primary-container#61fb61
on-primary-container#034603
inverse-primary#00bb29
secondary#fafafa
on-secondary#000000
secondary-container#e9ecef
on-secondary-container#505050
tertiary#ddffdd
on-tertiary#034603
tertiary-container#61fb61
on-tertiary-container#034603
error#d32f2f
on-error#ffffff
error-container#ffcdd2
on-error-container#b71c1c
primary-fixed#61fb61
primary-fixed-dim#00bb29
on-primary-fixed#034603
on-primary-fixed-variant#00bb29
secondary-fixed#fafafa
secondary-fixed-dim#e9ecef
on-secondary-fixed#000000
on-secondary-fixed-variant#505050
tertiary-fixed#ddffdd
tertiary-fixed-dim#61fb61
on-tertiary-fixed#034603
on-tertiary-fixed-variant#034603
background#ffffff
on-background#000000
surface-variant#e9ecef

Typography

display
fontFamily: Instrument Sans · fontSize: 60px · fontWeight: 700 · lineHeight: 68px · letterSpacing: -0.04em
headline-lg
fontFamily: Instrument Sans · fontSize: 40px · fontWeight: 700 · lineHeight: 48px · letterSpacing: -0.02em
headline-md
fontFamily: Instrument Sans · fontSize: 28px · fontWeight: 600 · lineHeight: 36px · letterSpacing: -0.01em
title-lg
fontFamily: Instrument Sans · fontSize: 22px · fontWeight: 600 · lineHeight: 28px
body-lg
fontFamily: Instrument Sans · fontSize: 18px · fontWeight: 400 · lineHeight: 28px
body-md
fontFamily: Instrument Sans · fontSize: 16px · fontWeight: 400 · lineHeight: 24px
label-md
fontFamily: Instrument Sans · fontSize: 14px · fontWeight: 600 · lineHeight: 20px · letterSpacing: 0.01em
label-sm
fontFamily: Instrument Sans · fontSize: 12px · fontWeight: 500 · lineHeight: 16px
serif-display
fontFamily: Instrument Serif · fontSize: 32px · fontWeight: 100 · lineHeight: 40px

Design guidance

Overview

Emmanuel Nsikan-David's portfolio embodies a 'Vibrant Minimalism' aesthetic—a design philosophy that pairs clean, spacious layouts with a signature neon-green accent (#00E331) to create an energetic yet approachable presence. The brand serves fullstack developers and designers seeking to showcase technical depth without sacrificing personality. The visual language evokes clarity, forward momentum, and human connection: the hero gradient (pale mint-to-white) feels welcoming, while the vivid green CTA buttons command attention without aggression. The typography system—anchored in Instrument Sans for body and headlines, with Instrument Serif italic for accent moments—communicates both precision and creative flair.

The brand voice is conversational, confident, and unpretentious. Sentences are direct ('I design and build web applications that not only look good but are easy to use'), avoiding jargon while celebrating craft. The tone balances technical credibility with warmth: the portfolio speaks to fellow developers as peers, not superiors. Example sentence in brand voice: 'I build interfaces that developers love to ship and users love to use.'

Colors

The color system is built on a high-contrast, light-dominant foundation with a single, powerful accent. **Primary (#00E331)** is the signature neon green—used exclusively on call-to-action buttons (Resume, Live Site), focus states, and interactive highlights. It appears as a linear gradient (from #00E331 to #00BB29) on primary buttons to add depth without sacrificing clarity. **On-Primary (#ffffff)** ensures text on green backgrounds remains legible at 4.5:1 contrast minimum. **Secondary (#fafafa)** is an off-white used for secondary buttons and card backgrounds, paired with **On-Secondary (#000000)** for body text. **Tertiary (#ddffdd)** and **Tertiary-Container (#61FB61)** form a softer green palette for accent elements like the About section background (which uses #61FB61 with #034603 t

Typography

The type system prioritizes clarity and personality through a two-font strategy. **Instrument Sans** (weights 400–900) serves as the workhorse for all body copy, headlines, and UI labels, delivering a modern, geometric warmth that feels contemporary without coldness. **Instrument Serif** (weight 100, italic) appears sparingly—only on the 'User Interface Designer' subtitle and occasional accent text—to inject sophistication and break visual monotony. Display text (H1: 30px clamp(2.8rem, 4vw, 3rem)) uses 700 weight with tight leading (68px), creating a bold, confident entry point. Headline-md (28px, 600 weight) anchors section titles like 'My Stack' and 'My Projects'. Body-md (16px, 400 weight) maintains 24px line-height for comfortable reading across project descriptions. Labels (14px, 600

Layout

The layout follows a fluid, single-column grid with a max-width container of 1280px (110rem at 62.5% base font-size), ensuring content remains readable on all viewports. The `.inner-wrapper` class enforces 90% width with centered margins, creating consistent gutters (24px) on mobile and tablet. The hero section spans full viewport height (70vh) with a gradient background (mobile: gradient-mobile.svg; desktop: gradient-desktop.svg), establishing visual energy immediately. Section rhythm uses lg spacing (40px) for major section breaks (between hero, stack, projects, about, contact), with md spacing (24px) for internal card and element separation. The projects grid is single-column on mobile, allowing full-width project cards with 1rem (16px) border-radius and 1rem padding. Stack icons are ar

Elevation & Depth

Depth is conveyed through subtle shadows and layering rather than darkness. **Level 1 (Base)**: The hero section uses a gradient background (gradient-desktop.svg or gradient-mobile.svg) with a dots.svg texture overlay, creating visual interest without shadow. **Level 2 (Cards & Standard Elements)**: Project cards and stack containers use a 1px solid border (hsla(0, 0%, 0%, 0.13)) with box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15), lifting them subtly from the surface. **Level 3 (Elevated/Sticky Header)**: The sticky header applies backdrop-filter: blur(20px) with background: rgba(250, 250, 250, 0.

Shapes

The design employs a 'Soft-Technical' radius philosophy: rounded corners are present but never organic or heavily rounded, maintaining the modern, professional edge while softening harsh geometry. **Buttons and inputs** use 1rem (16px) border-radius, balancing approachability with clarity—not so rounded as to feel toy-like, but rounded enough to feel contemporary. **Cards and project images** also use 1rem, creating visual consistency across interactive and static elements. **Stack chips** use 123rem (effectively full pill shape), signaling their role as compact, self-contained tags. **Smaller

Components

Action Elements **Button-Primary** (Resume, Live Site): Background uses a linear gradient from #00E331 to #00BB29, creating depth and visual interest. Padding is 11px 22px (tight, icon-friendly), height 44px, with 500 font-weight in Instrument Sans. On hover, apply transform: translateY(-5px) with transition: transform 0.3s ease, creating a lift effect that signals interactivity. The button displays flex with align-items: center and column-gap: 8px to accommodate icons. Border-radius: 1rem. **Button-Secondary** (Source Code, Contact): Background #fafafa, text #000000, border 1px solid hsla(0, 0%, 0%, 0.13). Padding 16px 24px, height 48px, 600 font-weight. On hover, background transitions to #e0e0e0 (surface-container-high) with the same translateY(-5px) lift. All buttons use cursor: po

Do's and Don'ts

**Do**

  • Do use the neon green (#00E331) exclusively on primary CTAs and focus states—it's the brand's signature accent and loses impact if overused.
  • Do maintain 1rem border-radius as the default for buttons, cards, and inputs to preserve the 'Soft-Technical' aesthetic across all components.
  • Do apply the translateY(-5px) hover lift effect consistently on all interactive elements to create a cohesive, responsive feel.
  • Do pair Instrument Sans body text with 24px line-height (16px font) for comfortable reading; never compress below 22px line-height on body copy.
  • Do use the full color gradient (linear-gradient(to left, #00E331, #00BB29)) on primary buttons to add visual depth without sacrificing clarity.

**Don't**

  • Don't use dark mode or near-black backgrounds—the brand is built on luminous, airy surfaces; darkness contradicts the optimistic aesthetic.
  • Don't apply the green accent to secondary elements or decorative purposes; reserve #00E331 for high-priority interactions only.
  • Don't mix Instrument Serif into body text or headlines—it's reserved for italic accent moments (e.g., 'User Interface Designer') to maintain visual hierarchy.
  • Don't use box-shadow values larger than 0 8px 24px rgba(0, 0, 0, 0.12); harsh shadows undermine the clean, modern aesthetic.
  • Don't exceed 1280px container max-width or reduce gutter spacing below 24px on desktop; the layout's breathing room is essential to the brand's clarity.