---
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)
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9