Skip to content

Polish the Inference Day page and promote the event on the homepage - #42

Merged
bassam merged 5 commits into
modelplaneai:mainfrom
charliehinojosa:inference-day-polish
Oct 20, 2026
Merged

bassam merged 5 commits into
modelplaneai:mainfrom
charliehinojosa:inference-day-polish

Conversation

@charliehinojosa

Copy link
Copy Markdown
Contributor

What and why

Follow-up to the Inference Day page (#40), rebased onto the lint fix (#41). Three improvements:

  • Full-bleed hero/CTA contrail. The wave was sized to a near-fixed width, so it drifted into the text on standard screens and hugged the right edge (cut off) on wide ones. Size and offset it in vw (the asset is ~108.5vw wide at 1440) so the whole flight-path composition stays full-bleed at every width — the fan reaches the lower-left, the lines run off the top-right — matching the design. Softened on phones so full-width copy stays legible.
  • Homepage announcement bar. A dismissible bar above the nav linking to /inference-day (gradient wordmark, date tag, hook, Register pill). Rendered client-only (next/dynamic, ssr:false) since its visibility depends on localStorage and the date — no effect-driven state, no hydration mismatch. It hides itself the day after the event, so no manual removal.
  • Nav integration. Adds an Inference Day link to the main nav (next to Slack, cyan accent) via next/link, and gives the landing page a two-tier header — the main site <Nav /> plus a slim event sub-nav for the on-page jump links (Register · Agenda · Speakers). Replaces the standalone EventNav.

Scope stays contained: new rules are under .id-page or the .announce / .nav-event classes; the shared Nav gains one link and is otherwise unchanged.

Checklist

  • Ran npm run lint, npm run build and npm run validate-posts locally — all pass (lint clean; the remaining <img> warnings are pre-existing and match the rest of the site).
  • Signed off my commit with git commit -s (DCO).

Generated by Claude Code

Follow-up to the merged Inference Day page (modelplaneai#40), rebased onto the lint fix (modelplaneai#41):

- Make the hero and closing-CTA contrail full-bleed, sized in vw so the wave
  spans the section at every width (the fan reaches the lower-left, the lines run
  off the top-right) instead of being cut off; soften it on phones for legibility.
- Add a dismissible homepage announcement bar linking to /inference-day. It is
  rendered client-only (its visibility depends on localStorage and the date), so
  there is no effect-driven state and no hydration mismatch; it hides itself once
  the event has passed.
- Add an Inference Day link to the main nav (next to Slack, cyan accent) using
  next/link, and give the landing page a two-tier header: the main site Nav plus
  a slim event sub-nav for the on-page jump links. This replaces the standalone
  EventNav.

npm run lint, build and validate-posts all pass.

Signed-off-by: Charlie Hinojosa <charlie@sightbox.me>
The full-bleed wave crossed the hero's body text, date and buttons, and its
glowing nodes landed on readable copy (looked odd on desktop, cluttered on
mobile). Lift the hero contrail above the body copy (top -33vw) so it frames the
wordmark and the nodes fall in open space, leaving the intro, date and buttons
on clean dark. On phones/small tablets (<=768px) the copy is full-width with
nowhere for the wave to go, so hide the decorative art there for a clean,
legible hero and CTA.

Signed-off-by: Charlie Hinojosa <charlie@sightbox.me>
The lockup was absolutely positioned in the hero's bottom-right, floating over
the wave art, so it did not place predictably across breakpoints. Move it into
the hero content flow, directly under the buttons, and centre it (full-width on
small screens) so it sits consistently on desktop, tablet and mobile.

Signed-off-by: Charlie Hinojosa <charlie@sightbox.me>
The earlier passes lifted the wave above the copy, then dropped it below the
whole copy block; neither matched the handoff design, where the wave sweeps
behind a compact copy block in the upper-left.

Match the design's proportions so the composition works as drawn:

- Give the hero a roomy min-height (~800px at 1440) with tighter padding, so the
  copy sits compact in the upper-left and leaves open space below and to the
  right for the wave.
- Keep the wave full-bleed but anchor it near the top (top -9.2vw), so it sweeps
  from the upper-right down to the lower-left with its glowing nodes falling in
  the open area, clear of the text.
- Set the wordmark on one line (white-space: nowrap, 108px cap) and widen the
  intro to two lines, matching the design's headline and copy.
- Tighten the date and action gaps to the design's rhythm.
- On phones/small tablets (<=768px) the wave is still hidden; let the wordmark
  wrap and drop the desktop min-height for a clean, legible stacked hero.

npm run lint, build and validate-posts all pass.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016QU1xKJitT9UNpCfjXjDxt
Signed-off-by: Charlie Hinojosa <charlie@sightbox.me>
Centred, the lockup landed over the busiest part of the wave and got lost in the
pattern. Left-align it so it sits under the copy and buttons on clean dark,
consistent with the rest of the hero's left-aligned content at every breakpoint.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016QU1xKJitT9UNpCfjXjDxt
Signed-off-by: Charlie Hinojosa <charlie@sightbox.me>
@bassam
bassam merged commit 6d8d220 into modelplaneai:main Oct 20, 2026
2 checks passed

This branch was successfully deployed

1 active deployment
Preview — 95c6c97e Deployed Oct 20, 2026 by vercel[bot]
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