Adsrvr Design System Deep Dive
1. Brand Overview
Adsrvr’s site has the kind of stripped-back, utilitarian feel you see in SaaS tools that are dead serious about their function. No gradients, no ornamental flourishes, no soft emotional hooks — it’s straight to the point. The palette is lean, typography is clean, and the components are functional more than decorative.
The vibe is “professional tech with a dash of bright energy.” That dash comes from the primary blue (#009ade), which is vivid enough to cut through white space without feeling toy-like. Everything else is restrained, and that restraint reads as confidence — “we don’t need to shout, we just need you to click the CTA.”
Philosophically, Adsrvr’s design language is rooted in clarity:
- Single dominant accent: The brand blue drives interaction.
- Flat UI: No shadows, no skeuomorphic cues.
- Sharp geometry: Border radius is basically zero across the board.
- Consistent type family: Proxima Nova everywhere, with weight and size doing the work.
This is a system for people who care about performance and data, not lifestyle branding. There’s no attempt to overload you with visual narrative — the interface is there to present information cleanly and guide your action.
The audience? Developers, marketers, analysts — anyone who needs to work fast in a data-heavy environment. The design supports that by staying predictable: links always blue or white, buttons always rectangular with crisp edges, spacing locked to a grid.
They’ve nailed the “functional minimalism” sweet spot. The site isn’t trying to win awards for visual experimentation, it’s trying to be a dependable workhorse. And it’s good at that.
2. Color System
2.1 Primary Colors
The hero of this palette is rgb(0, 154, 222) (#009ade). This is a saturated cyan-blue, leaning slightly towards the cooler side. It’s used for:
- Primary buttons (default state)
- Links in light contexts
- Interactive highlights
Why this works: It’s energetic without feeling frivolous. Blue is universally associated with trust and technology; the added cyan edge makes it feel more modern. Compared to competitors, it’s brighter than LinkedIn’s corporate blue but less aggressive than Twitter’s. It stands out against white (#ffffff) with excellent contrast for accessibility.
2.2 Complete Palette
| Color Name | Hex | Role | Usage |
|---|---|---|---|
| Primary Blue | #009ade | Brand accent, primary action color | Buttons, links, CTAs |
| White | #ffffff | Background, text in colored buttons | Page background, button text, link text on dark bg |
| Hover Cyan A | #25acdc | Hover/focus accent variant | Transitional states for interactive elements |
| Hover Cyan B | #25addc | Hover/focus accent variant | Transitional states for interactive elements |
| Hover Navy | rgb(8, 78, 142) | Button hover/focus background | Darker blue for button hover/focus states |
| Hover Link Blue | rgb(92, 200, 217) | Button hover/focus text color | Accent text color on hover/focus for buttons |
2.3 Color Relationships
Contrast is strong here:
- Primary Blue (#009ade) on White (#ffffff) — passes WCAG AA easily for normal text, and AAA for large text.
- White text on Primary Blue — also WCAG compliant due to dark-on-light ratio inversion.
- Hover Navy (rgb(8, 78, 142)) with Hover Link Blue text — good contrast, but slightly softer for hover states to signal change without jarring.
Dark mode? Not implemented here. This palette is tuned for a light background environment. The bright blue would need taming for dark mode to avoid vibrating against dark grays.
2.4 Usage Guide
- Works well: Primary Blue with White text (buttons, nav links); White background with Primary Blue links.
- Avoid: Using Hover Cyan variants (#25acdc / #25addc) as body text colors — they’re less saturated and could fail contrast in small sizes.
- Pairing tip: Keep the Primary Blue for true actions; use Hover Navy for hover backgrounds to maintain clear interaction cues.
3. Typography
3.1 Font Families
Everything is Proxima Nova, with Arial as fallback. No Google Fonts, no Adobe Fonts delivery — presumably self-hosted. This gives a consistent geometric sans look across all contexts. It’s a safe choice: readable, modern, and widely supported.
3.2 Type Scale
| Element | Font | Size | Weight | Line Height | Transform |
|---|---|---|---|---|---|
| Heading-1 | Proxima Nova | 48px (3.00rem) | 300 | 1.25 | none |
| Heading-1 | Proxima Nova | 25px (1.56rem) | 300 | 1.50 | none |
| Link | Proxima Nova | 16px (1.00rem) | 400 | 1.00 | none |
| Heading-1 | Proxima Nova | 16px (1.00rem) | 400 | 1.00 | none |
| Heading-1 | Proxima Nova | 15px (0.94rem) | 400 | 1.60 | none |
| Heading-1 | Proxima Nova | 15px (0.94rem) | 500 | 1.00 | uppercase |
| Link | Proxima Nova | 15px (0.94rem) | 400 | 1.60 | none |
3.3 Hierarchy
Weight does a lot of the work here. The jump from 300 to 500 signals emphasis without changing the family. The large H1 at 48px is airy (line height 1.25), making it feel spacious even in a minimal layout. Smaller headings drop to 15px or 16px — almost body size — which means section titles blend with content, keeping the focus on the data rather than the headings.
Uppercase is reserved for certain headings at 15px/500 weight — a subtle way to create separation without size jumps. This keeps the UI compact.
4. Spacing & Layout
4.1 Spacing Scale
Base scale is 8px, but there’s some off-grid values (13px, 15px, 25px, 30px, 65px). This suggests design decisions driven by visual balance rather than strict modularity.
| Value | rem | Count | Notes |
|---|---|---|---|
| 4px | 0.25rem | 1 | Tight gaps, icon spacing |
| 13px | 0.81rem | 2 | Button vertical padding |
| 15px | 0.94rem | 1 | Button font size |
| 16px | 1.00rem | 13 | Base body text, link size, common gaps |
| 24px | 1.50rem | 1 | Larger section gaps |
| 25px | 1.56rem | 1 | Heading size |
| 30px | 1.88rem | 1 | Medium section padding |
| 65px | 4.06rem | 2 | Hero section padding |
4.2 Layout
Breakpoints:
- Mobile: 480px
- Desktop: 1024px
This is a simple two-step approach. No explicit tablet breakpoint — likely fluid scaling between those widths.
5. Visual Elements
Border radius: none. Everything is sharp-edged. Buttons, containers, inputs — all 0px radius. This is part of the brand’s “no-nonsense” feel.
Shadows: none. Depth is implied through color changes on hover, not elevation.
Borders: not used as a major visual separator in the extracted components. The system relies on spacing and background changes.
6. Components
6.1 Buttons
Primary Button
- Default:
- Background: #009ade
- Text color: #ffffff
- Padding: 13px vertical, 22px horizontal
- Border radius: 0px
- Border: none
- Box shadow: none
- Font weight: 500
- Font size: 15px
- Hover:
- Background: rgb(8, 78, 142)
- Text color: rgb(92, 200, 217)
- Focus:
- Same as hover (background navy, text cyan)
- Active:
- Outline: 0px (no change)
- Disabled:
- Not explicitly defined; probably reduced opacity
Opinion: I love the no-radius decision here. It makes the buttons feel like solid blocks of action, not decorative pills.
6.2 Links
Two link styles:
- Blue links:
- Default: #009ade, no underline
- Hover: same blue (no color change — minimal cue)
- White links (on dark backgrounds):
- Default: #ffffff, no underline
- Hover: rgb(92, 200, 217) (soft cyan)
The lack of underline means color is the only indicator — fine for known interactive elements, but risky for accessibility if color perception is impaired.
6.3 Forms
No text inputs, checkboxes, radios, or selects extracted — likely styled minimally or browser-default.
6.4 Cards
Not explicitly defined. Given the absence of shadows and borders, any card-like elements would rely on background color shifts and spacing.
7. Design Tokens
:root {
/* Colors */
--color-primary-blue: #009ade;
--color-white: #ffffff;
--color-hover-cyan-a: #25acdc;
--color-hover-cyan-b: #25addc;
--color-hover-navy: rgb(8, 78, 142);
--color-hover-link-blue: rgb(92, 200, 217);
/* Typography */
--font-family-primary: "proxima-nova", Arial;
--font-size-h1-lg: 48px;
--font-size-h1-md: 25px;
--font-size-body-lg: 16px;
--font-size-body-md: 15px;
--font-weight-light: 300;
--font-weight-regular: 400;
--font-weight-medium: 500;
--line-height-tight: 1.00;
--line-height-normal: 1.25;
--line-height-loose: 1.50;
--line-height-extra-loose: 1.60;
/* Spacing */
--space-4: 4px;
--space-13: 13px;
--space-15: 15px;
--space-16: 16px;
--space-24: 24px;
--space-25: 25px;
--space-30: 30px;
--space-65: 65px;
/* Borders */
--radius-none: 0px;
/* Shadows */
--shadow-none: none;
}8. AI Coding Assistant Prompt
# Adsrvr Design System Specification
You are an Adsrvr design expert. Build UIs matching their visual language exactly.
## Brand Context
Adsrvr values functional minimalism and clarity. The design language is sharp-edged, flat, and purpose-driven. Bright blue accents guide interaction, with Proxima Nova typography delivering clean readability.
## Color Palette
- Primary Blue: #009ade — CTAs, primary buttons, links on light backgrounds
- White: #ffffff — page background, button text, links on dark backgrounds
- Hover Cyan A: #25acdc — hover/focus accent variant
- Hover Cyan B: #25addc — hover/focus accent variant
- Hover Navy: rgb(8, 78, 142) — button hover/focus background
- Hover Link Blue: rgb(92, 200, 217) — button hover/focus text color
## Typography
Font family: "proxima-nova", Arial
| Level | Size | Weight | Line Height | Use For |
|--------------|--------|--------|-------------|---------|
| H1 Large | 48px | 300 | 1.25 | Page titles |
| H1 Medium | 25px | 300 | 1.50 | Section headings |
| Body Large | 16px | 400 | 1.00 | Links, body text |
| Body Medium | 15px | 400 | 1.60 | Body text |
| Label Upper | 15px | 500 | 1.00 | Uppercase labels |
## Spacing & Grid
Base: 8px
Scale: 4px, 13px, 15px, 16px, 24px, 25px, 30px, 65px
## Border Radius
- none: 0px — all components
## Shadows & Depth
Flat design — use background changes for hover states, no shadows.
## Component Specifications
### Primary Button
Default:
- background: #009ade
- color: #ffffff
- padding: 13px 22px
- border-radius: 0px
- font-weight: 500
- font-size: 15px
Hover/Focus:
- background: rgb(8, 78, 142)
- color: rgb(92, 200, 217)
Active:
- outline: 0px
Disabled:
- opacity: 0.5
### Navigation Links
Blue variant:
- default: #009ade, no underline
- hover: #009ade
White variant:
- default: #ffffff
- hover: rgb(92, 200, 217)
### Input Fields
Use browser default or match body font/spacing.
### Cards
If used, background: #ffffff, spacing from grid, no shadow, radius: 0px.
## Layout & Responsive Rules
- Breakpoints: mobile 480px, desktop 1024px
- Page padding: multiples of base spacing
- Max content width: fluid until desktop breakpoint
## Interaction Rules
- Transition timing: 150ms ease for state changes
- No outlines except for accessibility focus
- Hover states use color changes only
## DO List
- Use ONLY colors from palette
- Maintain 8px grid or specified off-grid values
- Keep all corners sharp (radius 0px)
- Use Proxima Nova for all text
- Reserve Primary Blue for interactive elements
## DON'T List
- Don't add shadows
- Don't mix rounded and sharp corners
- Don't underline links unless for accessibility
- Don't invent new colors
- Don't change hover background to non-palette colors
## Code Examples
### Primary Button
```css
.btn-primary {
background: #009ade;
color: #ffffff;
padding: 13px 22px;
border-radius: 0px;
font-weight: 500;
font-size: 15px;
border: none;
transition: background 150ms ease;
}
.btn-primary:hover,
.btn-primary:focus {
background: rgb(8, 78, 142);
color: rgb(92, 200, 217);
}
.btn-primary:disabled {
opacity: 0.5;
cursor: not-allowed;
}
```
### Link
```css
.link-blue {
color: #009ade;
text-decoration: none;
}
.link-blue:hover {
color: #009ade;
}
.link-white {
color: #ffffff;
text-decoration: none;
}
.link-white:hover {
color: rgb(92, 200, 217);
}
```
### Card
```css
.card {
background: #ffffff;
padding: 16px;
border-radius: 0px;
}
```9. Summary
TL;DR — Adsrvr’s design system is minimal, sharp, and functional. Bright blue drives interaction, Proxima Nova delivers clean typography, and a zero-radius, shadow-free aesthetic keeps it focused.
Brand Keywords:
- sharp-functional
- tech-minimalist
- data-driven
- flat-interactive