Improvement and bugs fixes
Role landing pages, citation handles, and document OCR
Six /for/<role> pages replaced the old use-cases section, each with its own hero, solution rows, FAQ and product mocks. Citations now resolve through a source registry that verifies the quote before it renders. Scanned PDFs run Doc AI OCR first after a measured hallucination in the vision path, and mixed documents OCR only the pages that need it.
Every new account gets a project
First-time users were landing on an empty shell that refused to work until they created a project. A home project is now guaranteed before anything else runs, and standalone rows are backfilled into it. Eight live users were blocked by this.
Fixed today (in the working tree, not yet released)
Razorpay checkout could not be clicked
Opening checkout from the plan or top-up dialog produced a payment sheet that swallowed every click and tap on desktop and mobile. Radix holds pointer-events: none on the body while a modal is open, and Razorpay mounts as a plain child of the body, so it inherited the lock. The dialog now closes before checkout opens, and the checkout hook refuses to open onto a locked body.
The "Working…" indicator flickered at the start of every turn
It appeared instantly, vanished, then came back. Two different indicators were handing over badly: the assistant message is created before it carries any parts, and the chain-of-thought renders nothing until its first step arrives. The gap is closed, so exactly one is on screen at every point in a turn.
Account settings navigate by chips on mobile
The mobile dropdown hid all five sections behind a tap. It is now a horizontal pill strip that shows the whole set and moves in one tap, scrolling the current section into view.
Legal notice card was cut off at the top
The draft-and-review mock was 430px tall in a 384px tile and centred, so it bled off both ends and cut the "LEGAL NOTICE" heading in half. The card variant now fits with clearance, and the tracked change stays above the fold.
Spreadsheet card stopped ellipsing its own contents
Five columns in a 366px card left about 48px per cell and truncated 17 of 35 values. It now shows the three columns that answer the card's question, at readable widths, with ten rows instead of seven.
Duplicate React keys on the healthcare page
Mock table rows were keyed by their first cell, and an incident log legitimately repeats a date, so React was warning and could drop a row.
"Also built for" shows three roles, not five
Each page now starts from the role after itself and wraps, so every role gets pointed at and no page links to itself.
SEO and GEO pass
robots.txt was returning 500 to every crawler
A public/robots.txt and a robots.ts route both claimed the path, which Next refuses to serve. Consolidated into one typed route. The old file also predated the URL restructure: it blocked /agents and /cases, which no longer exist, while leaving the signed-in product at /app/* open. Now the private paths and shared-session links are disallowed, and twenty answer-engine crawlers are named explicitly.
Share previews had no image
/link-image.jpg was referenced by the site metadata and the homepage structured data but did not exist — a 404 on every share and every AI crawler preview. Nine more routes shipped no og:image at all, because a child openGraph block does not inherit the parent's images.
Meta descriptions right-sized
The six role pages were generating 304–337 character descriptions from headline plus body; Google truncates past ~160 and GEO audits score them as missing. Each role now has a hand-written one. Three product descriptions were shortened, two thin ones filled out.
Structured data on the role pages
They had FAQ schema but no breadcrumbs or page-level entity, unlike every product page. Each now declares a breadcrumb trail and a WebPage naming its audience and India as the served area.