status.health® Blog - High-Level Design Document
status.health® Blog - High-Level Design Document
Overview
Create a professional Jekyll-based blog for status.health® that focuses on sexual health education, privacy technology, and product updates. The blog should be easy to deploy on GitHub Pages, include newsletter functionality, and maintain a business-aligned design.
Core Requirements
1. Design & Branding
- Style: Queer-forward, high-status design with trust and inclusivity
- Colors: Pastel rainbow gradients as primary accent
- Rainbow: rgba(255,200,200,0.8) → rgba(255,200,230,0.8)
- Background: White (#FFFFFF) / Dark (#0D1117)
- Text: #111111 (light) / #FFFFFF (dark)
- Typography:
- Headings: Montserrat (bold, geometric)
- Body: Inter (clean, readable)
- Logo: status.health® logo with rainbow gradient accent (already provided in assets/images/)
- Responsive: Mobile-first design approach
- Copyright: Status Health SPC (for footer/legal text)
2. Technical Stack
- Framework: Jekyll 4.2.0
- Hosting: GitHub Pages compatible
- Styling: Custom CSS (no heavy frameworks)
- JavaScript: Vanilla JS for interactions
- Markdown: For blog post content
3. Key Features
Newsletter Integration
- Support for multiple providers (ConvertKit, Mailchimp, generic)
- Newsletter signup forms in footer and dedicated page
- Exit-intent popup for desktop users
- Time-based popup (30 seconds or 50% scroll)
- Email validation and success messaging
Content Organization
- Categories: product-updates, sexual-health, privacy, announcements
- Featured posts capability
- Related posts navigation
- Author attribution
- AI/Human content attribution badges (via attest.ink)
SEO & Analytics
- XML sitemap generation
- RSS feed for subscriptions
- Meta tags and Open Graph support
- Google Analytics/GTM integration ready
- Structured data markup
Automated Notifications
- GitHub Actions workflow for new post notifications
- RSS feed for aggregators
- Webhook support for custom integrations
- Email service provider integration
File Structure
status-health-blog/
├── _config.yml # Main Jekyll configuration
├── .gitignore # Git ignore file
├── CNAME # Custom domain (blog.status.health)
├── Gemfile # Ruby dependencies
├── README.md # Full documentation
├── QUICKSTART.md # 5-minute setup guide
├── index.html # Blog homepage
├── about.md # About page
├── categories.html # Categories listing
├── newsletter.html # Newsletter signup page
├── 404.html # Custom 404 page
├── feed.xml # RSS feed template
├── robots.txt # SEO directives
├── sitemap.xml # XML sitemap
├── _layouts/
│ ├── default.html # Base layout
│ ├── post.html # Blog post layout
│ ├── category.html # Category page layout
│ └── page.html # Generic page layout
├── _includes/
│ ├── head.html # HTML head with meta tags
│ ├── header.html # Site navigation
│ ├── footer.html # Site footer (includes Status Health SPC copyright)
│ ├── newsletter-signup.html # Newsletter form component
│ ├── attest-badge.html # AI attribution badges
│ └── analytics.html # Analytics code
├── _posts/
│ └── YYYY-MM-DD-title.md # Blog posts
├── _categories/
│ ├── product-updates.md
│ ├── sexual-health.md
│ ├── privacy.md
│ └── announcements.md
├── assets/
│ ├── css/
│ │ ├── main.css # Core styles and variables
│ │ ├── blog.css # Blog-specific styles
│ │ └── categories.css # Category page styles
│ ├── js/
│ │ ├── main.js # Core functionality
│ │ └── newsletter.js # Newsletter handling
│ └── images/
│ ├── logo.svg # status.health® logo (provided)
│ ├── favicon.ico # Browser favicon (provided)
│ └── og-image.png # Social share image (provided)
├── _data/
│ └── navigation.yml # Navigation structure
└── .github/
└── workflows/
└── notify-subscribers.yml # Automated notifications
Configuration Requirements
_config.yml must include:
- Site metadata (title: “status.health® Blog”, description, URL)
- Company information (copyright: “Status Health SPC”)
- Newsletter provider settings
- Analytics configuration
- Jekyll plugins configuration
- Collection definitions for categories
Key Variables:
title: status.health® Blog
tagline: Private test verification meets community care
company_name: status.health®
copyright_company: Status Health SPC
newsletter_provider: convertkit/mailchimp/generic
newsletter_form_id: YOUR_FORM_ID
google_analytics: GA_TRACKING_ID
company_url: https://status.health
# Brand colors for CSS
primary_gradient: "linear-gradient(135deg, rgba(255,200,200,0.8), rgba(255,230,200,0.8), rgba(255,255,200,0.8), rgba(200,255,200,0.8), rgba(200,230,255,0.8), rgba(220,200,255,0.8), rgba(255,200,230,0.8))"
Content Structure
Blog Post Front Matter:
---
layout: post
title: "Post Title"
date: YYYY-MM-DD HH:MM:SS -0500
categories: [category1, category2]
author: "Author Name"
excerpt: "Brief description"
featured: true/false
attribution: human/claude/chatgpt
---
Category Pages:
Each category needs a corresponding file in _categories/
with:
---
layout: category
title: "Category Name"
category: category-slug
permalink: /categories/category-slug/
description: "Category description"
---
Quick Start Instructions
- Fork/Clone the repository
- Update _config.yml with your settings (5 required fields minimum)
- Branding assets already included in assets/images/ (logo.svg, favicon.ico, og-image.png)
- Configure newsletter provider (optional but recommended)
- Push to GitHub
- Enable GitHub Pages (Settings → Pages → Deploy from branch)
- Configure custom domain (optional)
Design Specifications
Typography:
- Headings: Montserrat, 600-700 weight (bold, geometric sans-serif)
- Body: Inter, 400 weight, 1.5 line height
- Code: Monospace font family
- Emphasis: Inter italic (used sparingly for warmth)
Color Palette:
- Primary Gradient: Pastel rainbow (see brand guidelines)
- Background Primary: #FFFFFF (light) / #0D1117 (dark)
- Background Secondary: #F9FAFB (light) / #161B22 (dark)
- Text Primary: #111111 (light) / #FFFFFF (dark)
- Text Secondary: #666666 (light) / #999999 (dark)
- Success: #10B981 (Green)
- Warning: #F59E0B (Amber)
- Error: #EF4444 (Red)
- Info: #3B82F6 (Blue)
Visual Elements:
- Buttons: Pill-shaped with rainbow gradient for primary CTAs
- Cards: 24px border radius, subtle shadows
- Badges: Circular/shield shapes with gradient accents
- Icons: Monoline style, emojis for personality (🔒 ⭐ 🎟️ ✅)
Spacing System:
- Base: 8px
- Scale: 8px, 16px, 24px, 32px, 48px, 64px
- Container padding: 32px minimum
- Section margins: 64px vertical
Responsive Breakpoints:
- Mobile: < 768px
- Tablet: 768px - 1024px
- Desktop: > 1024px
Newsletter Implementation
Providers Supported:
- ConvertKit: Form-based integration
- Mailchimp: Action URL integration
- Generic: JavaScript API endpoint
Popup Behavior:
- Show after 30 seconds OR 50% page scroll
- Exit intent detection (desktop only)
- Session storage to prevent repeated displays
- localStorage for subscription status
SEO Requirements
- Meta Tags: Title, description, Open Graph, Twitter Card
- Sitemap: Auto-generated XML sitemap
- RSS Feed: Full-text feed at /feed.xml
- Robots.txt: Allow all, block admin directories
- Canonical URLs: Automatic via Jekyll SEO plugin
- Structured Data: Blog and article schema
Performance Targets
- Page Load: < 3 seconds on 3G
- First Paint: < 1.5 seconds
- Lighthouse Score: > 90 for Performance
- Accessibility: WCAG 2.1 AA compliant
Deployment Notes
GitHub Pages:
- Repository name affects
baseurl
setting - CNAME file required for custom domain
- Build time typically 2-5 minutes
DNS Configuration:
A records: 185.199.108.153, 185.199.109.153, 185.199.110.153, 185.199.111.153
CNAME: www → username.github.io
Future Enhancements
- Search Functionality: Client-side search using Lunr.js
- Comments System: Disqus or utterances integration
- Multi-language Support: i18n plugin
- Advanced Analytics: Event tracking, scroll depth
- PWA Features: Offline support, install prompt
Success Metrics
- Newsletter signup conversion rate > 5%
- Average session duration > 2 minutes
- Mobile traffic > 50%
- Page views per session > 2.5
- RSS subscribers growth rate > 10% monthly
Important Branding Notes
- Company Name: Always use “status.health®” (lowercase with registered trademark)
- Copyright: Use “Status Health SPC” in copyright notices
- Logo: The status.health® logo with rainbow gradient is already provided in assets/images/
- Domain: blog.status.health (subdomain of main site)
- Voice: Warm, smart, direct, queer-built, privacy-obsessed
- Visual Style: Pastel rainbow gradients, clean layouts with high-contrast text
- CTAs: Use imperatives and FOMO-driven language (“Show ‘Em Your Status”)
Brand Guidelines Document
A comprehensive BRAND-GUIDELINES.md file should be included with:
- Voice and tone specifications
- Visual design system
- Color palette with CSS values
- Typography guidelines
- Component examples
- Content writing guidelines
- Accessibility requirements
This design document provides the complete specification for building the status.health® blog. All features should be implemented with privacy, inclusivity, and community care as primary considerations.