What we shipped. Dated.
Terse, specific, updated as often as it's true. Entries move on the same pull request as the feature — nothing here was written by marketing.
- Fix
Faster pages, a real lint gate, and four settings screens that were hidden.
The Sentry SDK was the single largest thing on every page — 416 KB, downloaded even by a static legal page. It now loads after first paint, with early errors buffered and replayed so nothing is lost. Shared JavaScript on every page dropped from 188 kB to 106 kB.
- Settings → API keys, Security, Notifications and Legal are reachable again. They were finished pages with working backends sitting behind redirects meant for stubs — and the pricing page sells API keys on every plan.
- Phones no longer download the 4.4 MB landscape hero video. The browser now picks portrait or landscape from <source media> before it fetches anything, instead of React deciding after hydration.
- ESLint actually runs. There was no config in the repo at all, so the CI lint step had been passing without checking anything.
- Refund policy covers every subscription tier, not just the two that existed when it was written.
- Ship
Seven pricing tiers, and the volume table stops costing more than the plans.
Self-serve ran $79 → $99 → $299 → "talk to us", so a brokerage doing 50–300 tours a month had nothing to buy. Studio ($699), Brokerage ($1,499) and Portfolio ($2,999) fill that gap, and every step now costs less per tour than the one below it.
- /enterprise quoted $59/demo at 20–49 a month while Team already did 20 tours for $299. The rate card is rebased to start at 300/mo from $9, where self-serve actually ends.
- New on /pricing: the ladder drawn as descending per-tour rates, and an estimator that works out the cheapest plan for your volume — including when staying on a smaller plan beats stepping up.
- Upgraded to Next 15 and React 19, closing two critical security advisories with no fix available on the old version.
- Change
Un-slopping the marketing site.
Cut the two-row compat marquee, the 6-cell benefits bento, the 4-testimonial drag carousel, and the amber radial glow behind the hero. Added the shot guide, a manifesto, and this changelog. The italic connective is now a signature moment on the hero headline instead of a decoration everywhere.
- New /case/bellevue — an illustrative example case study (hypothetical numbers, labelled as such; a signed one replaces it).
- New /shot-guide public essay (named byline).
- New /manifesto founder's letter.
- Home page section count down from 12 to 10.
- Ship
Dashboard world-class pass.
Twenty new routes behind /dashboard: analytics with room heatmaps and funnel, inbox, leads pipeline, studio editor with hotspots and starting-camera, embed builder, team, integrations, developer portal, gallery, agent profile pages, welcome wizard, weekly-digest email preview, dark mode, command palette, notification bell.
- ⌘K anywhere. Try it.
- Dark mode via CSS variables — swaps every app token in one class flip.
- Sparklines on every live card + slide-over inspector.
- Ship
Dashboard shipped from Claude Design.
Tours list, tour detail, three-step new-tour flow (checklist → upload → processing), billing for Solo and pay-per-tour. Every state variant from the design is present as a fixture — live, reconstructing, needs-re-shoot (you weren't charged), archived, no-thumbnail, zero-views, quota-at-limit, one-off-user.
- Ship
Marketing rebuild — warm palette + editorial serif.
Full identity swap. Instrument Serif display, DM Sans body, JetBrains Mono for spec metadata. Cobalt accent retired; the site is warm architectural charcoal with one golden-hour amber. Live splat viewer is the hero media.
- Fix
July recovery — 17 marketing pages restored.
Long story. History is safe on origin/july-recovery. Everything shipped since sits on top of that baseline.
Missing something? Email hello@volumevirtual.com.
Everything you can film should be walkable.
One phone video in. A space buyers can walk, in any browser. First tour free.