Landing page is live

The early-access landing page is live and capturing signups.

What shipped:

  • Hero section — two-column layout with headline, subheadline, and a stat row. Dark charcoal background with a subtle grain overlay and amber accent.
  • Email capture form — inline input + submit button. Validates client-side and hits /api/subscribe. Duplicate emails are handled gracefully (silent no-op, same confirmation shown).
  • Welcome email — new subscribers get a confirmation email via the Polsia email proxy. The operator gets a notification for each signup.
  • Post-signup share panel — after subscribing, the form swaps to a thank-you state with a Twitter Web Intent share button and a copy-link button (2s "Copied!" confirmation).
  • "How it works" section — three-step explainer between the hero and footer, styled with italic numbered steps and a divider rule.
  • OG / Twitter meta tagsog:image, og:title, og:description, and Twitter card tags set for clean link previews when the URL is shared.
  • Favicon — SVG + ICO variants served from /public/.

Admin dashboard & analytics

The operator dashboard is live at /admin/subscribers (HTTP Basic Auth via ADMIN_PASSWORD).

What shipped:

  • Subscriber table — full list of signups with relative and absolute timestamps, sortable by signup date.
  • 7-day sparkline — inline SVG chart showing daily signup counts over the past week. Amber stroke, no external charting library.
  • CSV export — one-click download of the full subscriber list as subscribers-YYYY-MM-DD.csv, ready for import into any email tool.

The admin view is intentionally minimal — just the data you need to understand traction, nothing more. The sparkline resets each page load so it always shows the freshest 7-day window.