← showcase

· showcase · web

Aurora Console

Operations dashboard for a deployment platform. Streams logs, parallel deploys, and a 1,200-row live table that updates per-cell — not per-frame.

48 kB
JS shipped (gzip)
Next equiv 182 kB
1,200 rows
live updates
O(1) per write
4 stages
compiler proof
no VDOM

Stack

  • Vesk .vsk + track() — 1,200 cells, one effect per cell
  • useFetch with into: streams log chunks into cells — no polling
  • File routing app/deploy/[id]/page.vsk + manual admin subtree
  • offline.vsk + network.vsk — deploy survives flaky WiFi

Why not Next?

  • Next: 1,200 rows → VDOM diff on every tick — jank, 80 kB React.
  • Vesk: one effect(()=> cell.text = ...) per row — main thread idle.
  • Svelte: fine-grained too, but no SSR claim optimization for static chrome.
  • Astro: great for static docs, not for live dashboards (needs islands per row).

Code that matters

				
					component DeployRow(props: { id: string }) {
  const live = useFetch.json<Deploy>(`/api/deploy/${props.id}`, { key: `deploy-${props.id}` })
  if (live.loading) return <Skeleton />
  <tr class={live.data.status === 'live' ? 'text-accent' : ''}>
    <td>{live.data.status}</td>
    <td>{live.data.logs.at(-1)}</td>
  </tr>
}
				
			

No map-re-render; each row re-renders when its own deploy key mutates. mutate('deploy-42', next) drives optimistic log appends.