Skip to content

polish /ai Page - #2487

Open
hasparus wants to merge 21 commits into
graphql:sourcefrom
hasparus:polish-ai-page
Open

polish /ai Page #2487
hasparus wants to merge 21 commits into
graphql:sourcefrom
hasparus:polish-ai-page

Conversation

@hasparus

@hasparus hasparus commented Aug 19, 2026

Copy link
Copy Markdown
Member

Description

  • Added DESIGN.md and CLAUDE.md (symlinked to AGENTS.md), because even if it's banned, people are gonna use AI to work on this website. Me and @saihaj remembering Figma files is not scalable to future contributors.
  • Gitignored CLAUDE.local.md, you can put your local / workflow-related rules there if you have sth specific for this website.
  • Tweaked the design of /ai page a bit to match the other pages (section rhythm, borders, pixelart icons, no emoji presets).
  • Split demo data into demo-prompts.ts with a node:test suite that executes every preset against the schema.
  • Lazy-loaded the demo editor after the section has entered the viewport; pause hero canvas when offscreen / tab hidden / reduced motion.
  • Refactored to reuse existing components (syntax highlighters, code snippets, etc)
    • Deleted syntax-highlight.tsx. Code samples are MDX rendered with the site Pre / Nextra Code (snippets/).
    • Interactive demo uses the existing QueryEditor + ResultViewer + Star Wars schema instead of a bespoke highlighter + separate execution UI.
  • ⚠️ Changed the copy to stabilize on what we can prove. If you have data for stronger claims / numbers, please let's use them and cite the evals / benchmarks in the website, make them accessible. (Apollo MCP numbers cited.)

Preview here: https://fabulous-isomorphism-git-polish-ai-page-hasparus-projects.vercel.app/

hasparus and others added 12 commits August 19, 2026 13:33
Corrections reviewers kept making by hand, written down once.

DESIGN.md follows the design.md format. Tokens come from colors.css and
tailwind.config.ts. The repo is square by default, with three radii that earn
their place.

CLAUDE.md has the non-visual project rules and imports DESIGN.md. Personal
prefs go in CLAUDE.local.md, now gitignored.

Co-authored-by: Cursor <cursoragent@cursor.com>
The page shipped a 211-line regex highlighter through dangerouslySetInnerHTML
and injected a Catppuccin <style> tag five times. One rule was an unscoped
pre { color }, so it restyled every pre on the page.

Static snippets move to .mdx partials and pick up the site's Shiki themes,
copy buttons, and both colour modes. The demo still typewrites, so the
tokenizer stays for that only. Next commit removes both.
The demo ran real GraphQL behind a staged UI: literals typed on a timer next
to a "Querying __schema" panel that queried nothing. A click cost about five
seconds of sleep plus typewriter, buttons locked the whole time.

interactive-code-block already has a real editor. This uses it on the Star
Wars schema, with the prompts as presets you can edit.

Below lg, picking a preset scrolls the editor into view if it is off screen.
Three presets returned empty {} rows for union members they did not select;
those queries are fixed. A test runs every preset and fails on errors or
empty objects.

Deletes syntax-highlight.tsx.
The particle field ran a 30-node distance loop at 60fps from page load until
you closed the tab, including while scrolled off screen. It now runs only
while the canvas is on screen and the tab is visible, and not under
prefers-reduced-motion.

Resize used to reseed all positions. iOS Safari fires resize when the URL bar
collapses, so the background jumped while you scrolled. It now rebuilds the
backing store and keeps the nodes it has.

Badge ping and root scroll-smooth honour reduced motion too.
None of the numbers had a source. Closest public figures are Apollo's, about
40% less schema context and 40-75% fewer tool calls, measuring their own MCP
server. The page cites those, says whose they are, and asks the working group
for better ones.

The scoreboard is gone. The table compares properties, not scores. Two claims
were wrong: "no hallucinated or missing fields" contradicts partial results
with errors, and "protocol of choice for AI" is a market-share claim MCP
servers disprove.

The working group stopped being "new" ten months ago. The page also gets an
OG image.
Last radius and shadow on /ai that DESIGN.md does not allow. Hover moves the
border colour instead of adding shadow-lg.
Preset buttons used emoji while the rest of the page uses pixelarticons.
Replaced with icons that match the lesson (unions, aliases, fragments, args)
rather than the fixture.

Five icons from an older pixelarticons release that no longer exist upstream.
users was already vendored; human, robot, scale, ship, and sword are new.
Same four rows lived as a mobile div stack and a desktop table. One table
now; CSS reflows it below md. Header is sr-only. GraphQL and REST cells get
an inline label when the column header is gone.
@vercel

vercel Bot commented Aug 19, 2026

Copy link
Copy Markdown

@hasparus is attempting to deploy a commit to the The GraphQL Foundation Team on Vercel.

A member of the Team first needs to authorize it.

@vercel

vercel Bot commented Aug 19, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
graphql-github-io Ready Ready Preview Aug 19, 2026 8:50pm

Request Review

hasparus and others added 6 commits August 19, 2026 23:11
Keep static sections on the server, extract the hero canvas, type demo
icons against the presets, and hide validation errors on auto-run like
the homepage editor.

Co-authored-by: Cursor <cursoragent@cursor.com>
Compiled MDX calls createContext; as Server Components that hits the
RSC React subset and breaks /ai. Wrap each snippet in a client leaf so
the section shells can stay on the server.
@hasparus
hasparus marked this pull request as ready for review August 19, 2026 23:17
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.

1 participant