Skip to content

The landing page tells the sandbox lifecycle, and the split S is the logo - #633

Merged
presmihaylov merged 2 commits into
presmihaylov:mainfrom
lusavova:landing-redesign
Oct 8, 2026
Merged

presmihaylov merged 2 commits into
presmihaylov:mainfrom
lusavova:landing-redesign

Conversation

@lusavova

@lusavova lusavova commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

A redesign of the landing page at website/public/index.html, and the new logo across the site. The docs restyle follows in a separate PR. There is no SHARD ticket for this work; link one if you track it.

The page

  • Hero: the word shard acts out a sandbox. shard fork slides a dithered copy out from behind it, shard pause turns the copy to a fine hatch, and shard remove --force evaporates it. A grain background sits under a lowercase mono nav with a solid GitHub key.
  • Walkthrough: every step is said once. Four numbered callouts lead into the code, the real created sandbox <name> lines appear, and the example ends on shard remove. All three tabs; the TypeScript tab now calls shard.close().
  • Access, "Keys stay on the host": credential brokering and egress control, with a map of the host adding the key to an approved request and stopping the metadata address and an unknown host.
  • Lifecycle: the lifecycle cards and the CLI list are merged into one section, with five commands drawn as states and a "More commands" table.
  • "Pick the walls": local/remote and the runtimes are merged into one section. Each runtime's walls stand on your server, reached from your Mac over HTTPS, or on your Mac itself.
  • FAQ: six questions with every answer visible: open source, hosted sandboxes, /dev/kvm, platforms, shard capabilities, Docker.
  • Close: the word again in ink on ice, the three commands to a first sandbox, and an ice footer.

Logo and site

  • The split S replaces the crystal mark in the favicon, icon.png, apple-touch-icon.png, shard-mark.svg, the social image (og-logo.png), the docs header and the README logos.
  • The docs header gets the same GitHub key, in ink on the light theme.

Accessibility and cleanup

  • A footer button pauses every loop and blink (WCAG 2.2.2), and the choice is remembered. Reduced motion is respected throughout.
  • The runtime names are a radio group with one tab stop and arrow keys, and only a pick is announced.
  • Focus rings are visible on the ice band, small text meets 4.5:1 contrast, and nothing stays hidden without JavaScript.
  • Removed: unused images, two fonts, the old drawings and 33 unused animations, with their rows in the landing hash list. The page is 90 KB, about the same as before (88 KB) despite the new sections.

Testing

  • make check passes.
  • In website/: npm run build, npm run verify (landing files byte-identical, every internal link resolves), npm run check (0 errors) and npm test (56 passing).
  • Checked in headless Chrome at 13 widths from 320 to 2560: no sideways scroll, no content past the edge, no console errors.
  • Checked short and tall screens, keyboard use, the pause button, reduced motion and the page without JavaScript.
  • An independent review checked every command, flag, output and claim against cli/help.go, the SDKs and the docs.

🤖 Generated with Claude Code

…logo

The hero is the word shard acting out a sandbox: it forks into a dithered
copy, pauses into a fine hatch and is removed, under a lowercase mono nav.
The walkthrough says each step once and ends on a remove. Access shows the
host adding the key to an approved request and stopping private networks.
The lifecycle and the CLI list are one section; local, remote and the
runtimes are one "Pick the walls" section; the FAQ answers what the page
did not; the close repeats the word over the three commands to a first
sandbox, on an ice footer.

The split S replaces the crystal mark in the favicon, the icons, the social
image, the docs header and the README. A footer button pauses all motion,
the runtime names are a keyboard radio group, small text meets contrast,
and nothing stays hidden without JavaScript. Unused images, fonts and
animations go, with their rows in the landing hash list.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@vercel

vercel Bot commented Oct 8, 2026

Copy link
Copy Markdown

@lusavova is attempting to deploy a commit to the Nairi Labs Team on Vercel.

A member of the Team first needs to authorize it.

The runtimes, lifecycle and host lines repeated what the sections below
show, so the hero ends on the install command and its two links.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@presmihaylov
presmihaylov merged commit 197ec06 into presmihaylov:main Oct 8, 2026
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants