Technology

This page explains the technologies powering Drift & Convergence.

Publishing Platform

Ghost is the heart of this site. It's an open-source publishing platform built for modern creators, with:

  • Professional newsletter delivery
  • Member subscriptions and accounts
  • Clean, fast content delivery

Hosting

Magic Pages provides managed Ghost hosting on EU-based infrastructure (Hetzner Germany), keeping the site fast, secure, and reliably online.

Design

The theme ("Flux") is custom-built using:

  • Tailwind CSS — A utility-first CSS framework for modern, responsive design
  • Custom components — Purpose-built for the newsletter-focused experience

AI Features

The optional AI features (critical thinking questions and related topics) use a multi-layered architecture designed for privacy, speed, and cost efficiency.

Backend: Supabase

Supabase provides the serverless backend, hosted in Canada Central:

  • Edge Functions — Fast, globally distributed API endpoints
  • PostgreSQL Database — Stores response cache and analytics
  • Authentication — Secure token exchange for Ghost members

AI Provider: OpenRouter

OpenRouter provides unified access to multiple AI models (US-based):

Tier Models Access
Free Llama 3.3 70B, Qwen 3 4B, GPT-OSS 120B Everyone
Fast Claude Haiku 4.5, GPT-5 Nano Everyone
Balanced Claude Sonnet 4.5, GPT-5 Mini Members only
Premium Claude Opus 4.5, GPT-5.2 Members only

OpenRouter routes requests to providers like Anthropic (Claude) and OpenAI while providing:

  • Unified API across all models
  • Transparent pricing
  • Automatic fallbacks

Privacy by Design

  • No personal data sent to AI — Only article content is analyzed
  • IP addresses are hashed — We store a one-way hash, not your actual IP
  • Response caching — Shared cache reduces API calls and speeds up responses
  • Rate limiting — Global token buckets ensure fair access for everyone

How It Works

  1. You click an AI feature button on an article
  2. If you're a member, Ghost verifies your membership securely
  3. Our backend checks for a cached response (most requests are served from cache)
  4. If not cached, the article content is sent to the AI model via OpenRouter
  5. The response is cached for future users and displayed to you

Contact Form

Supabase handles contact form submissions (Canada Central):

  • Messages are stored securely in our database
  • IP addresses are hashed for rate limiting (not stored directly)
  • Web3Forms sends notification emails (the actual message content stays in our database)
  • Members get relaxed rate limits

Security

Authentication Flow

For AI features, we use a secure token exchange:

  1. Ghost issues a short-lived JWT when you're logged in
  2. Our backend verifies this token cryptographically
  3. A new token is issued for API access (1 hour for members, 24 hours for anonymous)
  4. All subsequent requests use this token

Rate Limiting

Global token buckets prevent abuse:

  • Tokens refill hourly
  • Each model tier has its own bucket
  • Cached responses don't consume tokens
  • Members get access to higher-tier models

Data Locations

Service Location
Magic Pages EU (Hetzner Germany)
Supabase Canada Central
OpenRouter United States

Questions?

Curious about how something works? Contact me and I'm happy to explain.