Skip to content

Landing: a polish pass that drops the template effects - #88

Merged
githubesson merged 4 commits into
mainfrom
t3/unslop-landing
Oct 30, 2026
Merged

githubesson merged 4 commits into
mainfrom
t3/unslop-landing

Conversation

@githubesson

@githubesson githubesson commented Oct 30, 2026 •

Copy link
Copy Markdown
Owner

What

A design polish pass on landing/ (lumen.rocks). The palette (graphite, near-white accent), Geist, the section order and layout, the device showcase and every feature demo's motion stay as they were. What goes is the effect layer that made the page read like any developer-tool landing page:

  • Surfaces: no gradient-filled headings, no blurred glow or blueprint grid behind the hero and the closing call to action, no grid behind the architecture diagram, no pointer spotlight on cards. .card-surface is a surface step and a hairline, with a small neutral shadow in light mode only (--shadow-card).
  • Hero: headline, two buttons, the devices. The "New" pill and the docker compose up pill are gone (the self-host terminal shows all three commands), and the closing call to action drops its command pill too. On phones the stacked buttons (here and in the closing call to action) share one width, and with the shorter hero the phone mockup starts about 470px down a 390×844 screen instead of about 610px.
  • Type: headings are weight 500 with −0.03em (hero) / −0.02em (sections) tracking. Small titles lose tracking-tight. Uppercase tracked mono labels are sentence case; Geist Mono stays for files, paths, byte ranges and commands.
  • Icons: removed the decorative ones (section-label dots, the icon before the mobile footnote, an icon in each format chip, tiles behind the security icons, the footer's status dot). The Web download card's dashed placeholder and the "Works in mobile browsers too" button, which wasn't really an action, are two rows and a note in the same grid as the Desktop and Mobile cards. They have no border or fill, so they don't read as download links.
  • Copy: no trailing periods on headings, one-line card lines and captions. Notes of two sentences or more (the Download cards, FAQ answers) keep theirs. "Self-host in 5 minutes" → "Set up your server" (a build on a NAS can take longer), "Questions, answered." → "Before you set it up", "Scrub anywhere, instantly" → "Scrub anywhere".
  • Motion: the hero entrance has no blur, the diagram's "healthy" dot no longer pings, the handoff demo's active card doesn't scale, and the scroll reveal runs once per section instead of per card with a stagger. The observer's threshold is now 0, since a whole section can be taller than the viewport.

ui-policy.json drops the two exceptions that covered the gradient headings and the grid/glow layers.

Why

An unslop audit of the page found gradient text, glows, grids, uppercase tracked labels, a pill badge above the headline, three stacked hero actions, and decorative icons. The direction: the chrome stays graphite and quiet so that the cover art in the screenshots and demos carries the color.

Verified

  • npm run typecheck, npm run lint, npm run build
  • npm run lint:ui: 6 passed, 2 skipped (the mobile-menu spec at 1440px), at 390px and 1440px in light and dark, without the two removed exceptions
  • Full-page screenshots before and after at 1440 (dark and light) and 390 (dark), reviewed section by section

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features

    • Updated the landing page with refreshed messaging and a simpler visual style.
    • Reworked the download section to show release information and platform details more clearly.
    • Updated feature, setup, and FAQ content for a more consistent experience.
  • Style

    • Simplified typography, cards, animations, and section layouts throughout the page.
    • Removed decorative backgrounds and interactive hover effects.

The landing page kept its palette, Geist, layout, device showcase and
every demo's motion, and lost the effects that made it read like any
developer-tool page:

- Gradient-filled headings, the blurred glow and blueprint grid behind
  the hero and the closing call to action, the grid behind the
  architecture diagram, and the pointer spotlight on cards. Cards are a
  surface step and a hairline, with a small shadow in light mode only.
- The "New" pill above the headline and the docker command pill under
  the hero and closing buttons (the self-host terminal has all three
  commands). The hero is the headline, two buttons and the devices; the
  buttons share one width when stacked on phones.
- Uppercase tracked mono labels (section labels, "One server, every
  screen", "Built with", Replay, Collaborative, Listening to Lumen) are
  sentence case; mono stays for files, paths, byte ranges and commands.
  Headings are weight 500 with looser tracking; small titles lose
  tracking-tight.
- Decorative icons: section-label dots, the AudioLines before the
  mobile footnote, an icon in each format chip, tiles behind the
  security icons, the footer's status dot. The Web download card's
  dashed placeholder and "Works in mobile browsers too" fake button are
  two plain rows and a note, like the other cards.
- Copy: no trailing periods on headings, card lines or captions;
  "Self-host in 5 minutes" is "Set up your server", the FAQ heading is
  "Before you set it up", "Scrub anywhere, instantly" is "Scrub
  anywhere".
- Motion: the hero entrance has no blur, the "healthy" dot no longer
  pings, the handoff demo's active card doesn't scale, and the scroll
  reveal runs once per section instead of per card with a stagger
  (threshold 0, since a section can be taller than the viewport).

ui-policy.json drops the two exceptions for the gradient headings and
the grid layers, which no longer exist.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ⚠️ Failed 2026-10-30T18:38:42.923337Z
We couldn’t complete this review. Comment @codex review to try again.
d6c1852 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@coderabbitai

coderabbitai Bot commented Oct 30, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 39 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 8e605eef-8d23-4aae-a3d7-178b6ec6337d
Commits

Reviewing files that changed from the base of the PR and between d6c1852 and cf0b4f2.

Files selected for processing: 4
  • landing/src/components/Download.tsx
  • landing/src/components/Footer.tsx
  • landing/src/components/features/MiniFeatures.tsx
  • landing/src/index.css

No actionable comments were generated in the recent review.

Recent review info
Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 9ce5fec6-b610-4458-a48a-366ed51b7b8e
Commits

Reviewing files that changed from the base of the PR and between e5491a0 and d6c1852.

Files selected for processing: 20
  • landing/src/App.tsx
  • landing/src/components/Download.tsx
  • landing/src/components/Faq.tsx
  • landing/src/components/Footer.tsx
  • landing/src/components/Hero.tsx
  • landing/src/components/Logo.tsx
  • landing/src/components/Nav.tsx
  • landing/src/components/Platforms.tsx
  • landing/src/components/SelfHost.tsx
  • landing/src/components/features/FeatureCard.tsx
  • landing/src/components/features/Features.tsx
  • landing/src/components/features/HandoffDemo.tsx
  • landing/src/components/features/MiniFeatures.tsx
  • landing/src/components/features/PlaylistDemo.tsx
  • landing/src/components/features/ReplayDemo.tsx
  • landing/src/components/ui.tsx
  • landing/src/index.css
  • landing/src/lib/hooks.ts
  • landing/tests/page.ui.ts
  • landing/ui-policy.json

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

Walkthrough

The landing page updates its copy, layouts, and styling. It removes installation command pills and several decorative and pointer-driven effects. Shared reveal behavior and presentation styles also change.

Changes: Landing page presentation

Layer / File(s) Summary
Shared presentation and effects
landing/src/components/ui.tsx, landing/src/index.css, landing/src/lib/hooks.ts, landing/src/components/features/FeatureCard.tsx, landing/src/components/features/MiniFeatures.tsx
SectionHeading changes its styling, and Eyebrow and CommandPill are removed. The CSS and reveal observer change. Feature cards no longer use spotlight or stagger effects.
Hero, download, and closing sections
landing/src/App.tsx, landing/src/components/Hero.tsx, landing/src/components/Download.tsx, landing/src/components/Footer.tsx, landing/src/components/Logo.tsx, landing/src/components/Nav.tsx
Hero no longer accepts repository data or displays release details and install commands. Download cards and the closing call to action change their content and layout. Navigation and logo styling are updated.
Platform, self-host, and feature sections
landing/src/components/Faq.tsx, landing/src/components/Platforms.tsx, landing/src/components/SelfHost.tsx, landing/src/components/features/Features.tsx, landing/src/components/features/HandoffDemo.tsx, landing/src/components/features/MiniFeatures.tsx, landing/src/components/features/PlaylistDemo.tsx, landing/src/components/features/ReplayDemo.tsx, landing/tests/page.ui.ts, landing/ui-policy.json
Section copy, reveal placement, and styling change. Feature demos receive layout and text-style updates. The UI test comment and contrast exceptions are also updated.

Priority: Low

Estimated code review effort: 3 (Moderate) | ~20 minutes

Change: Other

Merge Risk: Minimal · previous review d6c18

The landing-page presentation changes have no identified merge-blocking issue and appear ready to merge subject to normal checks.

Pre-merge checks: Passed 4 · Failed 1

Failed Failed checks: 1 warning

Check name Status Explanation Resolution
Docstring Coverage Warning Docstring coverage is 55.56% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documenta… Write docstrings for the functions missing them to satisfy the coverage threshold.
Passed Passed checks: 4 passed
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly summarizes the main change: a visual polish pass that removes template effects from the landing page.
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

Docstring coverage is 55.56% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 9 functions across 18 files. (1 skipped: 1 unsupported.)

Resolution

Write docstrings for the functions missing them to satisfy the coverage threshold.

Finishing Touches: 💡 1
📝 Generate docstrings: 💡
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

A rabbit hops past buttons bright,
The page grows calm, its words take flight.
No command pill sits in the row,
New labels greet the scroll below.
I nibble code, then bound from sight.

Comment @coderabbitai help to get the list of available commands.

githubesson and others added 3 commits October 30, 2026 18:45
The Web card's two rows have nothing to download, but they reused the
bordered surface of the Desktop and Mobile link rows next to them. They
keep the same grid and padding, with a transparent border and no fill.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Its only user, the self-host diagram's pinging health dot, is gone.

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

Same treatment as the hero's buttons. Also rewords a MiniFeatures comment
that still pointed at the per-tile scroll reveal.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@githubesson
githubesson merged commit 402462a into main Oct 30, 2026
10 checks passed
@githubesson
githubesson deleted the t3/unslop-landing branch October 30, 2026 19:06
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