# Documentation - [Introduction](/docs): A curated collection of experiments demonstrating practical developer tools built on the Cloudflare edge platform - [Quickstart](/docs/quickstart): Deploy your first Cloudflare experiment in under 60 seconds - [Philosophy](/docs/philosophy): Design principles and goals behind Cloudflare Experiments - **AI & Machine Learning** - [AI Website Summary](/docs/experiments/ai-website-summary): Summarize any webpage using Workers AI on the edge - [AI Website Tag Generator](/docs/experiments/ai-website-tag-generator): Generate topic tags for any website using Workers AI on the edge - [GitHub Repo Explainer](/docs/experiments/github-repo-explainer): Generate AI-powered explanations of any GitHub repository using Workers AI - [AI Bot Visibility Checker](/docs/experiments/ai-bot-visibility): Check if a URL is configured to allow or block AI crawlers like GPTBot, ClaudeBot, and others - [Cloud AI Proxy](/docs/experiments/cloud-ai-proxy): Call Workers AI with any model and prompt from a single public endpoint - [Text Translator](/docs/experiments/text-translator): Translate text with Workers AI at the edge - [Sentiment Analyzer](/docs/experiments/sentiment-analyzer): Analyze text sentiment with Workers AI at the edge - [Text Similarity](/docs/experiments/text-similarity): Compare text similarity with Workers AI embeddings at the edge - [AI Image Generator](/docs/experiments/ai-image-generator): Generate images from text prompts with Workers AI at the edge - [Speech to Text Transcriber](/docs/experiments/speech-to-text-transcriber): Transcribe uploaded audio with Workers AI Whisper at the edge - [RAG Mini Search](/docs/experiments/rag-mini-search): Grounded Q&A over experiment docs using Vectorize retrieval and Workers AI - [AI Gateway Dashboard](/docs/experiments/ai-gateway-dashboard): Route Workers AI through AI Gateway and surface cache and latency metadata - **Web Scraping & Parsing** - [Website Metadata Extractor](/docs/experiments/website-metadata-extractor): Extract metadata from any webpage including title, description, Open Graph tags, and canonical URL - [Website to API](/docs/experiments/website-to-api): Turn any webpage into structured JSON with title, headings, links, and images - [Website to llms.txt](/docs/experiments/website-to-llms-txt): Convert any webpage into llms.txt format for LLM consumption - [Website DevTools Inspector](/docs/experiments/website-devtools-inspector): Inspect any website like browser DevTools - analyze headers, cookies, scripts, assets, and metadata - [Dependency Analyzer](/docs/experiments/dependency-analyzer): Analyze all external resources and dependencies loaded by a webpage - [HTML Rewriter](/docs/experiments/html-rewriter): Extract HTML stats and transform pages with HTMLRewriter at the edge - [Social Preview Inspector](/docs/experiments/social-preview-inspector): Preview Twitter/X Cards, Open Graph unfurls, and Google snippets side by side with HTMLRewriter - [Readability Extractor](/docs/experiments/readability-extractor): Extract clean article content from URLs using Browser Rendering and readability heuristics - **Browser Rendering** - [Screenshot API](/docs/experiments/screenshot-api): Capture screenshots of any website from the edge using Cloudflare Browser Rendering - [PDF API](/docs/experiments/pdf-api): Generate PDF documents from any webpage using Cloudflare Browser Rendering - [Page Metrics](/docs/experiments/page-metrics): Collect Puppeteer page load metrics using Cloudflare Browser Rendering - [Rendered Text](/docs/experiments/rendered-text): Extract JavaScript-rendered visible text using Cloudflare Browser Rendering - [Browser Links](/docs/experiments/browser-links): Extract links from JavaScript-rendered pages using Browser Rendering - **Network & Monitoring** - [Is It Down?](/docs/experiments/is-it-down): Check if a website is reachable from Cloudflare's edge network - [URL DNS Lookup](/docs/experiments/url-dns-lookup): Get DNS records for the hostname of any URL using Cloudflare's DNS over HTTPS - [Edge Redirect Simulator](/docs/experiments/edge-redirect-simulator): Show redirect chains for any URL from Cloudflare's edge-each hop and status code - [Where Am I?](/docs/experiments/whereami): Get request metadata from Cloudflare's edge including geolocation, colo, and more - [Response Headers](/docs/experiments/response-headers): Inspect HTTP response headers for any URL from the edge - [SSL Certificate Inspector](/docs/experiments/ssl-certificate-inspector): Inspect TLS certificate metadata for a domain using Certificate Transparency and HTTPS probes - [Multi-PoP Latency Map](/docs/experiments/multi-pop-latency-map): Measure fetch latency and report the Cloudflare colo that served the Worker invocation - [DNS Propagation Checker](/docs/experiments/dns-propagation-checker): Compare DNS answers from Cloudflare, Google, and Quad9 resolvers in parallel via DoH - [Website Change Tracker](/docs/experiments/website-change-tracker): Scheduled Browser Rendering snapshots with R2 storage and D1 diff history - [Uptime Monitor Alerts](/docs/experiments/uptime-monitor-alerts): Persistent URL monitors with D1 history, cron checks, and email alerts on downtime - [CORS Preflight Tester](/docs/experiments/cors-preflight-tester): Simulate browser CORS preflight OPTIONS requests and analyze response headers - **Edge Platform** - [Edge Cache](/docs/experiments/edge-cache): Fetch URLs with the Workers Cache API at the edge - [Crypto Hash](/docs/experiments/crypto-hash): Compute SHA digests with the Web Crypto API at the edge - [WebSocket Echo](/docs/experiments/websocket-echo): WebSocket echo server running on Cloudflare Workers - [Image Resizer](/docs/experiments/image-resizer): Resize remote images with Cloudflare Image Resizing at the edge - [Turnstile Verify](/docs/experiments/turnstile-verify): Verify Cloudflare Turnstile tokens via the siteverify API - [JWT Inspector](/docs/experiments/jwt-inspector): Decode, verify, and issue JWTs for experimentation using Web Crypto - [Rate Limiter Demo](/docs/experiments/rate-limiter-demo): Native Workers Rate Limiting binding with 429 responses and usage visualization - [Webhook Signature Verifier](/docs/experiments/webhook-signature-verifier): Verify HMAC-SHA256 webhook signatures with timing-safe comparison at the edge - **Storage & Data** - [R2 Storage API](/docs/experiments/r2-storage): Upload and serve files with Cloudflare R2 storage - private and public buckets with list, get, put, and delete operations - [Link Shortener](/docs/experiments/link-shortener): URL shortener using Cloudflare D1 and KV - shorten links and redirect with edge caching - [D1 SQL Playground](/docs/experiments/d1-sql-playground): Read-only SQL playground over a seeded D1 database with safe SELECT validation - [KV Notes](/docs/experiments/kv-notes): Simple note storage with Workers KV at the edge - [Vectorize Search](/docs/experiments/vectorize-search): Semantic search with Workers AI embeddings and Vectorize at the edge - [Presigned R2 Upload](/docs/experiments/presigned-r2-upload): Generate presigned PUT URLs for direct browser-to-R2 uploads with aws4fetch - [API Mock Server](/docs/experiments/api-mock-server): Define mock HTTP endpoints stored in Workers KV and serve them on demand - **Stateful & Async** - [Durable Counter](/docs/experiments/durable-counter): Reference implementation for Durable Objects - a globally consistent counter with persistent edge state - [Cron Heartbeat](/docs/experiments/cron-heartbeat): Reference implementation for Cron Triggers - scheduled tasks with run metadata stored in KV - [Task Queue](/docs/experiments/task-queue): Reference implementation for Queues - enqueue tasks over HTTP and process them asynchronously - [Analytics Engine](/docs/experiments/analytics-engine): Write custom events to Workers Analytics Engine at the edge - [Workflows Pipeline Demo](/docs/experiments/workflows-pipeline-demo): Durable fetch → AI summarize → R2 pipeline using Cloudflare Workflows with step.do and step.sleep - [Live Cursor Tracker](/docs/experiments/live-cursor-tracker): Real-time shared cursor positions over WebSocket using Durable Objects and the Hibernation API - [Queue Job Visualizer](/docs/experiments/queue-job-visualizer): Cloudflare Queues producer/consumer with KV-backed job status and simulated retries - [DO Alarm Scheduler](/docs/experiments/do-alarm-scheduler): Schedule one-off reminders with the Durable Object Alarm API and poll for fired status - [Webhook Relay Inspector](/docs/experiments/webhook-relay-inspector): Capture inbound HTTP webhooks in a Durable Object session for debugging and replay - **Contributing** - [Contributing Guide](/docs/contributing): Learn how to contribute to Cloudflare Experiments - from bug fixes to new experiments - [Code and Structure Standards](/docs/code-standards): Coding standards and repository structure for Cloudflare Experiments - [Adding New Experiments](/docs/adding-experiments): Step-by-step guide to creating and adding new experiments to Cloudflare Experiments - **Reference** - [Cloudflare Features](/docs/reference/cloudflare-features): Overview of Cloudflare platform features used across experiments - [Deployment Guide](/docs/reference/deployment): Deploy experiments to Cloudflare Workers using click-to-deploy or manual methods - [Architecture & Design Patterns](/docs/reference/architecture): Common architecture patterns, tech stack, and design decisions across experiments - [Experiment Documentation Guide](/docs/reference/experiment-docs): How to write and maintain Fumadocs pages for each Cloudflare Experiment worker