DESIGN.md · Analysis

Fapify

fapify.com · 17 May 2026 · 47 colors · Plus Jakarta Sans

Fapify

Fapify is an AI-powered adult content generation platform featuring template-based workflows, image-to-video synthesis, and undress AI tools. The design system prioritizes clarity, accessibility, and a tech-forward aesthetic with a light, sky-blue foundation.

Colors

surface#ffffff
surface-dim#f5f7fa
surface-bright#ffffff
surface-container-lowest#f9fafb
surface-container-low#f3f5f8
surface-container#eaf4ff
surface-container-high#e0ecf7
surface-container-highest#d4e5f0
on-surface#0f2f54
on-surface-variant#444444
inverse-surface#1a2332
inverse-on-surface#f0f4f8
outline#6c757d
outline-variant#d0d5dd
surface-tint#1a73e8
primary#1a73e8
on-primary#ffffff
primary-container#d4e5f0
on-primary-container#0f2f54
inverse-primary#5b9ef5
secondary#119af5
on-secondary#ffffff
secondary-container#cce5ff
on-secondary-container#003d99
tertiary#4285f4
on-tertiary#ffffff
tertiary-container#d4e5f0
on-tertiary-container#0f2f54
error#d32f2f
on-error#ffffff
error-container#ffebee
on-error-container#b71c1c
primary-fixed#d4e5f0
primary-fixed-dim#b8d4e8
on-primary-fixed#0f2f54
on-primary-fixed-variant#1a5bb8
secondary-fixed#cce5ff
secondary-fixed-dim#a8d1ff
on-secondary-fixed#003d99
on-secondary-fixed-variant#0052cc
tertiary-fixed#d4e5f0
tertiary-fixed-dim#b8d4e8
on-tertiary-fixed#0f2f54
on-tertiary-fixed-variant#1a5bb8
background#eaf4ff
on-background#0f2f54
surface-variant#e8eaed

Typography

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

Design guidance

Overview

Fapify is a contemporary AI content generation platform that democratizes adult media creation through intuitive, template-driven workflows. The design system embodies 'Tech-Forward Clarity'—a movement that prioritizes functional minimalism, accessible information hierarchy, and a light, sky-blue chromatic foundation (rgb(234, 244, 255)) that evokes trust and technological sophistication. The interface treats complex generative AI operations as simple, discoverable actions, reducing cognitive load through consistent visual language and predictable interaction patterns. Users encounter a serene, professional environment where powerful tools feel approachable rather than intimidating.

The brand voice is direct, confident, and unencumbered—speaking in active verbs and concrete outcomes rather than marketing hyperbole. Tone examples: 'Generate in 30 seconds,' 'Trending templates updated hourly,' 'Grab bag: surprise mix.' The vocabulary avoids jargon while maintaining technical credibility. Personality traits: efficient, modern, slightly playful without being frivolous. The UI celebrates user agency and creative expression through prominent call-to-action buttons (primary blue #1a73e8), generous whitespace, and a grid-based layout that feels both structured and breathing.

Colors

The color system is anchored in a light, cool palette that reflects the brand's tech-forward positioning and accessibility-first philosophy. Primary (#1a73e8, rgb(26, 115, 232)) is the signature accent—deployed on all CTAs, active states, links, and interactive focus rings. It commands attention without aggression, appearing on the 'Trending' filter button, the login/account button (top-right), and primary form submissions. Secondary (#119af5, rgb(17, 154, 245)) provides a brighter, slightly more energetic accent for supplementary actions and status indicators. Tertiary (#4285f4, rgb(66, 133, 244)) offers a mid-tone blue for tertiary interactions and informational elements.

The surface stack is built on near-white foundations: surface (#ffffff) for primary content areas, surface-container

Typography

The type system uses Plus Jakarta Sans exclusively, a contemporary geometric sans-serif that balances technical precision with approachable warmth. Display (60px, 700 weight, -0.04em tracking) anchors hero sections and major page titles; headline-lg (40px, 700 weight) handles primary section headers like 'Best AI Porn Generator'; headline-md (28px, 600 weight) breaks content into digestible subsections; title-lg (20px, 600 weight) labels cards and feature blocks. Body-lg (18px, 400 weight, 28px line-height) and body-md (16px, 400 weight, 24px line-height) form the reading layer, with generous line-height (1.5–1.75x) ensuring legibility on light backgrounds. Label-md (14px, 600 weight, 0.01em tracking) and label-sm (12px, 500 weight, 0.02em tracking) handle UI labels, button text, and metad

Layout

The layout operates on a 12-column grid with a fixed max-width of 1280px, centered with symmetric margins. The page background is surface-container (#eaf4ff), providing a consistent, calm foundation. Content sections use lg spacing (40px) for vertical rhythm between major blocks (hero, filter bar, template grid, FAQ). The gutter is standardized at 24px for horizontal padding within containers and between grid columns. Template cards occupy 3–4 columns on desktop, stacking responsively to 2 columns at tablet (768px) and 1 column on mobile (< 480px). The header uses md spacing (24px) for internal padding; the hero section employs xl spacing (64px) above and below for prominence. Whitespace is treated as a first-class design element—empty space around cards and buttons is never less than sm (

Elevation & Depth

Depth is conveyed through subtle shadows and layered backgrounds rather than dramatic drop-shadows. The elevation system uses three tiers: sm (0 1px 2px rgba(0, 0, 0, 0.06)) for minor UI elements like badges and small buttons; md (0 4px 12px rgba(0, 0, 0, 0.1)) for standard cards, input fields, and primary buttons; lg (0 16px 40px rgba(0, 0, 0, 0.12)) for modals, expanded cards, and hover states of elevated elements. Cards at rest use md elevation; on hover, they transition to lg elevation with a 200ms ease-out timing function. The primary button uses md elevation at rest and lg on hover, sign

Shapes

The shape philosophy is 'Soft-Technical'—rounded corners are present but measured, reflecting both approachability and precision. Buttons and primary interactive elements use lg radius (1rem / 16px), creating a friendly, modern appearance without appearing cartoonish. Cards and containers use lg radius (16px) for consistency with buttons, establishing a cohesive visual language. Input fields and smaller UI components use DEFAULT radius (0.5rem / 8px), providing subtle rounding that feels refined. Badges and chips use full radius (9999px) to signal their role as discrete, self-contained element

Components

Action Elements Buttons are the primary interaction mechanism. Button-primary uses primary (#1a73e8) background with white text, md elevation, lg radius (16px), and 12px vertical / 24px horizontal padding, resulting in a 48px height. On hover, the background darkens to #1557b0 and elevation increases to lg (0 16px 40px rgba(0, 0, 0, 0.12)), with a 200ms ease-out transition. On active/pressed, background becomes #0f3d7a. Button-secondary mirrors the primary button structure but uses secondary (#119af5) background. Button-ghost has a transparent background with a 1px outline-variant border, primary text, and no shadow; on hover, it gains a surface-container-high background and outline color shifts to outline. All buttons use label-md typography (14px, 600 weight) and support a disabled s