openvibers/openvibe.work Commits

The hero's picture is this site's own (#161)

OP OpenVibers committed 12 days ago · 90c8da5607 · 2 files, +15 −2

* The hero's picture is this site's own: an orbit of its places, not the generic aura

* Budget: 2026-11-01: the hero orbit (5 places, inline icons)

Changes

ddiff --git a/server/http/pages.js b/server/http/pages.js
iindex bf8e021..771d3f4 100644
---- a/server/http/pages.js
++++ b/server/http/pages.js
@@@ -138,6 +138,19 @@ ${facets.type.map((t) => link({ type: t.type }, t.label, filters.type === t.type
const hero = showcase.hero({
eyebrow: `${SITE_NAME} · ${TAGLINE}`,
title: 'Find work.',
++ // The hero's picture is this site's own (2026-11-01): it drew the generic aura, the same on six homes.
++ // What a job seeker has here, around the listings.
++ orbit: {
++ label: 'What you can do here',
++ center: { title: 'Listings', sub: 'from public boards' },
++ inner: [
++ { icon: 'ov:search', label: 'Search', href: '#search' },
++ { icon: 'ov:map', label: 'Remote', href: '/jobs?remote=true' },
++ { icon: 'ov:bell', label: 'Alerts', href: '#search' },
++ { icon: 'ov:actor', label: 'Your agent', href: 'https://openvibe.actor/' },
++ { icon: 'ov:link', label: 'Sources', href: '/sources' },
++ ],
++ },
accent: 'Every listing shows where it came from.',
lede: `${SITE_NAME} gathers job listings from public job boards, keeps the board's own link on every one, and lets you search them. No paywall, no account needed to look. Sign in to keep searches, get alerts, track the jobs you apply to, and have your OpenVibe.Actor agent help prepare each application.`,
// Two, so they sit side by side on a phone; where the listings come from is a section below.
ddiff --git a/test/perf-budget.test.js b/test/perf-budget.test.js
iindex 5ddbb9e..1eeee9f 100644
---- a/test/perf-budget.test.js
++++ b/test/perf-budget.test.js
@@@ -17,8 +17,8 @@ const { measure, check, format } = require('openvibe-shared/perf-budget');
// 18.2 KB raw / 4.3 KB brotli, still two stylesheets and no external file. The home page itself stayed inside its own
// budget — the listings replace the skeleton's placeholder sections rather than adding to them.
const BUDGETS = {
-- htmlRawKB: 40, // 39.3 with openvibe-shared 4.66.0: the mark with depth and motion, ov-fx loaded on request (2026-10-31); 38.1 with the home's pick block and folds (the sections below the search are picked one at a time on a phone, 2026-10-30), plus the Hacker News "Who is hiring" source row (2026-10-31); 36.5 with openvibe-shared 4.53.0: the footer's columns fold on phones (2026-10-30); 31.2 with the Part of OpenVibe section (Shared 4.13, 2026-10-26); measured 24.9 (the home page: hero, features, steps, cta, JSON-LD)
-- htmlBrotliKB: 9.5, // 9.1 with the home's pick block and folds (the sections below the search are picked one at a time on a phone, 2026-10-30), plus the Hacker News source row; 7.8 with the Part of OpenVibe section (Shared 4.13, 2026-10-26); 6.2
++ htmlRawKB: 46, // 45.7 with 2026-11-01: the hero orbit (5 places, inline icons) (2026-11-01); 39.3 with openvibe-shared 4.66.0: the mark with depth and motion, ov-fx loaded on request (2026-10-31); 38.1 with the home's pick block and folds (the sections below the search are picked one at a time on a phone, 2026-10-30), plus the Hacker News "Who is hiring" source row (2026-10-31); 36.5 with openvibe-shared 4.53.0: the footer's columns fold on phones (2026-10-30); 31.2 with the Part of OpenVibe section (Shared 4.13, 2026-10-26); measured 24.9 (the home page: hero, features, steps, cta, JSON-LD)
++ htmlBrotliKB: 10.5, // 10.3 with 2026-11-01: the hero orbit (5 places, inline icons) (2026-11-01); 9.1 with the home's pick block and folds (the sections below the search are picked one at a time on a phone, 2026-10-30), plus the Hacker News source row; 7.8 with the Part of OpenVibe section (Shared 4.13, 2026-10-26); 6.2
jsFiles: 5, // 5 (theme-loader, web-runtime, navbar, footer, boost: openvibe-shared/shell)
jsRawKB: 331, // 328.2 openvibe-shared 4.70.0 (2026-11-01: the app bar, busy(), skeletons, view transitions); 324.8 with openvibe-shared 4.66.0: the mark with depth and motion, ov-fx loaded on request (2026-10-31); 323.2 with openvibe-shared 4.59.0: the Pair mark beside the name, set in the brand face (2026-10-31); 321.1 with openvibe-shared 4.53.0: the footer's columns fold on phones (2026-10-30); 318.1 with openvibe-shared 4.52.0: the Dock's loader and its Chats tab (2026-10-30); 315.6 with openvibe-shared 4.48.0 (the site switcher on the mark, the menu's Start tab and quick tools; Kit's touch hit areas and the phone navbar fix, 4.44-4.47.3); 307.8 with openvibe-shared 4.43.0 (room.css carries the kit tokens, 4.39.1; the kit's 4.39.0 rules); 300.5 openvibe-shared 4.25.0: the menu's orb beside the brand, both balances on phones, messages, the account sheet on phones and the bar stepping away on phones; 293 openvibe-shared 4.22.0: the navbar's magnifier search button and More dropdown (search.js and loading.js load only when used); 287.2 Shared 4.17.0: OpenCoins and Vibes chips (wallet: true) in the navbar; 273.2 openvibe-shared 4.15 footer: the compact footer opens into the whole one, and the pulse line; 264.3 with Shared 4.13.0 (2026-10-26: account links); 239.8
jsBrotliKB: 80.8, // 80.2 openvibe-shared 4.70.0 (2026-11-01: the app bar, busy(), skeletons, view transitions); 79.5 with openvibe-shared 4.59.0: the Pair mark beside the name, set in the brand face (2026-10-31); 78.2 with openvibe-shared 4.52.0: the Dock's loader and its Chats tab (2026-10-30); 77.6 with openvibe-shared 4.48.0 (the site switcher on the mark, the menu's Start tab and quick tools; Kit's touch hit areas and the phone navbar fix, 4.44-4.47.3); 76.1 with openvibe-shared 4.43.0 (room.css carries the kit tokens, 4.39.1; the kit's 4.39.0 rules); 74.2 openvibe-shared 4.25.0: the menu's orb beside the brand, both balances on phones, messages, the account sheet on phones and the bar stepping away on phones; 70.5 Shared 4.17.0: OpenCoins and Vibes chips (wallet: true) in the navbar; 67.9 openvibe-shared 4.15 footer: the compact footer opens into the whole one, and the pulse line; 65.3 Shared 4.12.0: the light/dark switch, the seasonal mark and the theme pairs; 56.5