Resend webhook events are now received and processed, enabling delivery and bounce status updates for emailed estimates.
Page headers and breadcrumbs move into persistent nav bars — less clutter, more focus on your work.
Convert approved estimates to invoices with one click, send via email, and track payment status automatically.
Fixed UI freeze when editing work areas and improved estimate matching reliability
Upload, analyze, and deduplicate photos in parallel. Watch all three stages as they progress simultaneously.
Create tasks, assign them to team members, and receive email notifications for assignments and overdue reminders.
Fixed a bug where the dashboard tasks card appeared empty even when you had due-soon tasks.
The active row-count button now renders without the extra drop shadow for a crisper dashboard appearance.
View every estimate across your organization with filters and search — then select and export as CSV.
Learn workflows without leaving the phase — expanded guides at /help cover AI generation, line items, defaults, revisions, and client delivery.
Photos now show a loading state while being analyzed, with a tooltip explaining what's happening.
Press ? to see all available shortcuts for the app. Active shortcuts appear at the top of each category.
The sidebar no longer flickers when navigating between pages.
Phase tabs now display a visual indicator while loading, letting you know the page is responding to your click.
Fixed the visual glitch where avatars collapse from a tall pill to a square once the image finishes loading.
Upload photos of damaged contents. AI merges identical items and builds an inventory for estimates and loss statements.
Organize damaged contents in a sortable spreadsheet, group by room, and auto-generate statements of loss for insurance claims.
Save line items as org-wide templates and apply them to any work area. Quantities automatically adjust to the destination room.
Default line items can now be assigned to specific phases instead of applying globally, giving you precise control over each estimate.
Global search refresh now displays a skeleton loader in the sidebar, eliminating layout jumps and visual jarring during result updates.
Scope cards now display the raw input dimensions you entered, keeping them visible alongside calculated values.
Avatars and logos are now automatically optimized into smaller variants at upload time for snappier UI.
Pre-generated image formats load instantly, and photos appear in the gallery without requiring a page refresh.
See your project layout while it loads instead of a generic spinner.
User avatars render square without shifting when the image loads — no more layout jank.
Estimates no longer fail when old pipeline runs are cleaned up from the system.
Estimate pipelines now have built-in timeouts to prevent hangs when AI calls or metadata updates stall.
The Add Phase button is now accessible on the phases overview after a recent refactor temporarily hid the creation trigger.
The revision selector and timeline now display the grand total including tax, matching the estimate footer to the cent.
Search dialog displays a visible loading spinner and 'no results' message; AI estimates are correctly findable by Grand Total.
Phase types locked to a static set to prevent breaking AI workflows. Custom phases available for manual-only work.
See exactly what clients see before they review, and watch for responses without refreshing the page.
Generating an estimate before adding scope now completes as a draft instead of failing.
Estimates now correctly persist as drafts when phases have no scope or job-level rules.
Switch between photos, documents, and other tabs without reloading unrelated data. Each section now loads only what it needs.
Keyboard shortcut (Cmd/Ctrl+K or /) opens a global search bar to find projects, clients, contacts, estimates, and more instantly. Save your searches.
Estimate status auto-refreshes every 8 seconds. Improved portal UI with cost breakdown and cleaner recipient picker.
Phase tabs stay mounted when switching between Work Areas, Estimate, and other tabs — zero UI reloads.
Project detail pages now stream content, showing navigation immediately instead of waiting for heavy data to load.
Each project tab now loads only what it needs, cutting unnecessary database queries by ~60% and making tab switches instant.
Fixed broken image loading when using custom api.operant360.com and staging domains for Supabase storage.
Non-scoped work areas now show hints instead of disappearing, and General items always calculate.
Click the client name in project headers to navigate to client details. Authorized users can now edit project status inline.
Clients now review, approve, or request changes on estimates through a secure portal. Contractors track delivery and engagement in real-time.
The sidebar now remains visible during page navigation, eliminating the flash of the loading overlay.
Job-level rules now stay pinned between revisions, so estimate totals remain consistent across runs.
The sidebar no longer flickers or remounts when navigating between project sections, keeping your context in place.
Fixed project switcher dropdown to show all projects in your organization, not just the selected one.
Non-residential clients can now be edited and saved. Contact management moved to the Contacts tab for all client types.
Organize restoration photos across multiple project phases without duplicate uploads.