Ve is
Recent releases, in reverse chronological order. We ship multiple times a day — the ones written down here are the ones we'd want to remember. Filter by tone or search to find the thing you're looking for.
Landing, manifesto, overview, modules, pricing, download, privacy, terms — all on one warm cream canvas with the same OrbField + Grain backdrop the dashboard uses. The noir / WebGL IntentField world retired site-wide. Side effect: landing First Load JS drops ~250 KB.
Promoted Overview and Modules from in-page hash anchors to dedicated long-form routes. Serif italic headlines, narrative beats, pastel accent tiles for each of the eight Ve modules (Mail, Meetings, Calendar, Knowledge, Cursor, Files, Pages, Intent). Built to be re-read.
The 14-section manifesto used to be a raw Material-style HTML route with its own Google blue/red/yellow palette. Reauthored as a proper page in our serif-italic editorial style — same content, same brand.
Canonical Ve wordmark restored on /login and /signup (replacing the literal "ve" script glyph). Removed the internal "v 2.4 · personal intelligence" caption. Google + Microsoft buttons now share the same neutral shape and tint to their brand colour on hover with readable white text.
Try to open /pricing while signed out and Ve sends you to /login with a return-to in the URL. After OAuth completes, you land where you intended — not on /home. Works for any gated route, not just pricing.
If you haven't connected Gmail or Outlook yet, /inbox now shows a Connect-Gmail/Outlook tile (same OAuth flow as Settings · Connectors) instead of an empty shell that looked like the app had silently broken.
Opening an existing thread sometimes showed the empty state even though messages existed on the backend. The conversation cache was happily serving stale empty payloads for 30 s. Cache removed; freshness wins.
Backend occasionally returns hollow ProactiveCard rows (no title, no message, no description). The home grid used to render them as four nearly-identical "Suggestion" tiles with blank bodies. They're now dropped at the bucket boundary.
Profile page got its missing header. Workspace stopped showing two "Workspace" titles stacked. Team Members header/search/tabs now stick at the top while the list scrolls. About page rewritten as a futurist three-stanza manifesto; version/build details moved below the fold.
On the collapsed sidebar, the workspace badge, search, toggle, and profile avatar now share the same column axis. Inside the Intent Score ring, the "0%" sits at the geometric centre instead of floating up-and-left.
The profile popover was a fixed 340 px — on a 375 px iPhone it overflowed the right edge. Now caps at `min(340px, 100vw − 24px)` with internal scroll on short viewports so the Logout CTA never falls off the screen.
Settings edit-instruction / dictionary / snippets modals were 92 %-opacity glass with top-aligned content — the page bled through the card and tall content pushed the bottom CTAs off-screen. Now solid surface, vertically centred, internal scroll on overflow.
Playwright smoke + visual regression + design right-rail E2E + bundle-size budget + package-cycle detection workflows committed. Custom ESLint rules (no-template-literal-classname, no-raw-fetch-in-pages, no-inline-color-literal) sitting in `packages/config/eslint/rules/` ready to be wired in. Sentry + PostHog scaffolds in place — DSN/key still to set.
Continue-as-{email} prompt for anyone with a Google account already logged into this browser. Same flow ve-dashboard-v1 had; now native to ve-web. Falls back to explicit OAuth buttons if the user opts out.
New noir-theatre treatment for both surfaces — IntentField behind everything, glass-morph plan tiles with staggered cascade, monthly/yearly toggle with a Pro-trial pill. Plan copy mirrors the live config.
Live partial transcripts now flow as you talk; the connect-ack gate matches VeAI exactly so audio never lands on a worker that hasn't subscribed yet. Summary + analytics tabs use real GraphQL endpoints instead of placeholders.
Drag the left edge of the AI companion pane to widen or shrink it. Position persists per-account in localStorage. Plus: messages now anchor cleanly to left/right (you on the right, them on the left) without that "everything in the middle" feeling.
Hovering / focusing / touching a sidebar item warms its RSC payload before you click. The "click feels stuck" pause on first navigation between heavy tabs (chat → inbox → meetings) is gone.
The home surface is user-arrangeable: drag widgets, resize them, save to your workspace. Default layout has Proactive (7 cols) + Hypothesis + First Thing on the right, Observation log full-width below.
iOS 300ms tap delay killed across every interactive primitive. Plus an active-state press feedback (scale 0.97) on touch-only devices so taps register visually before the synthetic click fires.