--- category: reference tags: - v6 - landing-page - robot.wtf last_updated: 2026-03-15 --- # V6-1: Landing Page for robot.wtf ## Status Complete. Branch `feat/v6-1-landing-page`, commit `483c8ab`. ## Deliverables | File | Purpose | Size | |------|---------|------| | `static/index.html` | Landing page, semantic HTML | 4.7KB | | `static/style.css` | Responsive styles, system fonts | 3.6KB | | `static/favicon.svg` | "r." lettermark | 260B | | `ansible/roles/deploy/tasks/main.yml` | Added static/ sync task | (modified) | Total payload: ~8.5KB. No JavaScript. ## Architecture The API server (`app/api_server.py`) already serves `/` from `/srv/static/index.html` and `/static/<path>` from `/srv/static/`. The appdata role already creates the `/srv/static/` directory. The new Ansible task uses `synchronize` to rsync `static/` to `/srv/static/` on deploy, with `delete: true` to clean stale files. ## Page Structure - **Header:** robot.wtf wordmark + "Sign in with Bluesky" link to `/auth/login` - **Hero:** Tagline ("Wikis for the Bluesky community") + CTA button - **What is this?:** 3 paragraphs — what it does, origin story, tech stack and volunteer nature - **How it works:** 4 numbered steps (sign in, create wiki, copy MCP URL, write) - **FAQ:** 6 items using `<details>`/`<summary>` — MCP, pricing, agents, git clone, privacy, Bluesky - **Footer:** Schuyler Erle credit (Bluesky profile link) + GitHub source link ## Design Decisions - System font stack, 740px max-width, light background (#fafafa), dark text (#1a1a2e) - CSS counters for numbered steps instead of default `<ol>` styling - `+`/`-` toggle markers on FAQ items (custom `summary` styling, no JS) - Responsive breakpoint at 600px for mobile - No images beyond the SVG favicon — keeps it fast and low-maintenance ## Not Done - No push or merge (per instructions) - No `.gitignore` changes (untracked `__pycache__` dirs are pre-existing)