Skip to main content
VoxQuote

Changelog · weekly ship

What's new

Every shipped improvement. We commit to at least one user-visible change per week — see what's next.

2 May 2026

  • New

    60-second send undo, server-side

    Every Send press now opens a 60-second cancel toast. Tap Cancel within the window and the email / SMS / WhatsApp doesn't go out — even if you closed the tab. Powered by a real server-side queue (the timer used to live in the browser, which silently aborted on tab close). 'AI drafts. You approve. 60 seconds to undo. Always.'

  • New

    WhatsApp inline-accept deep-link

    Quote messages now include ?action=accept on the public link. A customer tapping the WhatsApp message goes straight to the signature pane — no scrolling the full quote first. One-tap accept on mobile. No incumbent in the AU quoting space accepts a quote inside the messaging app.

  • New

    Multi-section quotes with trade-specific stages

    Big jobs (kitchen reno, bathroom rebuild, full-house repaint) now render as grouped stages with per-section subtotals — Demolition / Rough-in / Fixtures / Finish for plumbers, Prep / Undercoat / Topcoats for painters, etc. Native browser autocomplete suggests the stages from a built-in template per trade. Backward-compatible: existing single-stage quotes look identical.

  • New

    Duplicate quote (one click) + variations on accepted quotes

    Daily-task feature for tradies who do similar jobs across multiple clients. Duplicate clones the customer + line items + recomputed totals into a fresh draft (⌘K palette + per-row button on /quotes). Variations let you issue a follow-up quote against an already-accepted parent — separate contract, separate signature, full audit trail.

  • New

    Bulk customer CSV import + export

    Switching from another quoting tool? Drag your customer list into /customers — drop your CSV and we dedup against your existing customers (phone + email canonical match), import the new rows. Round-trip stable: export the same list out as a date-stamped CSV any time, RFC 4180-correct so commas in customer names don't break Excel.

  • New

    Quote Quality Score with jump-to-fix

    Every draft quote now shows a 0-100 Quality Score above the editor — pure-function scoring of ABN, customer contact, address, job description, line items, terms, and validity. Click any gap pill to scroll-and-focus the exact field that needs filling (or jump to /settings for profile-level fixes). Non-blocking: high-confidence quotes can still send below the threshold.

  • New

    Per-quote engagement banner

    Above the editor on every sent quote, a one-line ambient signal: 'Sent 2 days ago · viewed once · awaiting reply' / 'Viewed again 1 hour ago · ready for a nudge?' / 'Accepted yesterday · ready to schedule + invoice'. Distinct from the full activity timeline — scannable in under a second.

  • New

    Status-aware quote-list timestamps

    Quote-list cards now read 'Sent 3 days ago' / 'Accepted 1 day ago' / 'Declined 2 hours ago' instead of the generic 'updated 3 days ago'. Same data, more meaning — eyeballing the list now tells you which quote needs a nudge without opening it.

24 Apr 2026

  • New

    Every form scrolls to the broken field on save

    No more generic 'Invalid update' toasts. A 422 from the server now populates inline red messages on every offending input AND scrolls to the first one with aria-live announcements for screen readers. Applies across quote editor, new-quote form, settings, and the send drawer.

  • New

    Instant asset write-off chip on qualifying line items

    When a line-item mentions a depreciable asset (drill, saw, ladder, generator, laptop) and sits in the $300–$20k window, a subtle emerald chip appears linking out to ATO guidance. Honest 'may qualify' framing — not tax advice. No competitor surfaces this inline.

  • Speed

    Voice-to-quote pipeline polished end-to-end

    Fetch-client pre-warmed during recording so Stop→POST has no chunk-download stall. Progress bar now ticks continuously between stages instead of jumping then stalling. Dynamic 'This usually takes about N seconds' ETA based on recording length. Processing_ms telemetry added across voice / scan / paste / manual for honest p95 dashboards.

  • Fix

    GST inc/ex rules in voice, image, and voice-edit extracts

    Saying 'five-fifty inc GST' or 'all up' now backs out the 10% before storing (previously over-charged by 10% at send time). Rules apply across dictation, photo-scan, and voice-edit of existing quotes.

  • Fix

    Photo scans queue offline (matched to voice recordings)

    Previously a failed photo scan just toasted 'Couldn't read that photo' and the tradie lost the shot. Now mirrors voice: blob goes into IndexedDB, auto-flushes on reconnect with a combined 'Uploading 3 recordings + 2 photos' progress toast.

  • New

    Trade-specific Whisper vocab for 43 more trades

    Plumber / sparky / chippie / builder / painter already had trade-specific vocabulary priors biasing Whisper. Added glazier, locksmith, fencer, waterproofer, solar, arborist, EV charger installer, auto electrician, bricklayer, plasterer, end-of-lease cleaner, rubbish removal, and 30 more — Whisper stops hedging on domain-heavy terms in those trades.

  • New

    ⌘S + ⌘Enter save / send shortcuts

    Quote editor binds ⌘S to save and ⌘Enter to save-and-send. New-quote form takes both as submit. Visible kbd chips on the desktop save bar so the shortcut is discoverable.

  • New

    Context-aware ⌘K palette actions

    On the quote detail page, ⌘K now surfaces per-quote actions (Duplicate, Nudge, Save-as-template, Convert-to-invoice, Mark-complete) above the global actions. Recent-action memory sorts the top when the query is empty — the palette learns your workflow.

  • New

    Soft-delete-with-undo on every destructive surface

    Blocking confirm() dialogs removed from quote / expense / photo / lead / recurring-service destroy paths. Now optimistic with a 6s Undo toast. Consolidated into a shared helper so future improvements land across five surfaces at once.

  • Fix

    ⌘K phone search actually finds phone numbers

    Typing '0412 345 678' never matched the stored normalised '+61412345678' — digits-only match with leading-zero stripping means every typed format converges on the same E.164 tail.

23 Apr 2026

  • New

    Desktop UX overhaul — dual shell, not a zoomed phone

    Desktop now has a proper SideNav (260px, all seven primary destinations, active-row accent) + DesktopTopBar (breadcrumbs + ⌘K search + Record / New quote CTAs). Mobile BottomNav hides on lg+. The dashboard stopped looking like a phone column stretched wide.

  • New

    Split-pane /quotes and /customers on desktop

    On desktop ≥ 1024px, /quotes and /customers render list-on-left + sticky-preview-on-right. ?preview=<id> in the URL syncs selection across refresh and back-button. ⌘-click still opens in a new tab.

  • New

    7-day calendar grid at /schedule on desktop

    Seven-column week view with today highlighted, AEST-anchored so the grouping always matches your clock. Mobile keeps the grouped-by-day vertical list.

  • New

    ⌘K command palette expanded

    Palette now carries theme switches (light / dark / system), Keyboard-shortcut help opener, and Sign out alongside the existing navigation + quote + customer search. One keyboard tap to anywhere.

  • New

    G-chord shortcuts across every sidebar destination

    G then R / Q / C / S / M / I / B / , jumps to Record / Quotes / Customers / Schedule / Money-owed / Inbox / Billing / Settings. Press ? to see the full list.

  • New

    /blog RSS feed

    Every blog post is pushed to Feedly, Reeder, Inoreader, and every other RSS reader via /blog/rss.xml. Full content included as content:encoded — readers get the whole post without visiting.

22 Apr 2026

  • New

    Four free tools for AU tradies + homeowners

    /tools/gst-calculator (add/remove 10% GST), /tools/markup-calculator (supplier cost → customer price + margin), /tools/labour-rate-calculator (take-home goal → hourly rate), /tools/quote-price-checker (homeowner quote sanity-check against typical AU ranges across 60+ jobs).

  • New

    Competitor + comparison SEO expansion

    16 comparison pages at /vs/<slug> + 4 head-to-head /compare/<a>-vs-<b> + 37 /best/<trade> hubs + /alternatives aggregator. Honest write-ups, not pretend-we-win-everything.

21 Apr 2026

  • New

    Blog launched with 12 articles

    Workflow posts, honest comparisons, GST primer, apprentice-free-forever policy, speed-to-quote math. All articles double as community-post material (r/AusTrades, Tradies Australia FB group, LinkedIn).

  • New

    PWA install guide at /install

    Per-platform step-by-step for iPhone Safari + Android Chrome. HowTo JSON-LD, FAQPage schema. Addresses the 'where is it in the App Store' objection head-on.

20 Apr 2026

  • New

    Trade-specific upsells

    Every trade now sees 1–3 one-tap add-ons on the quote editor — plumber gets 'Hot-water compliance check', bond cleaner gets 'Carpet steam clean', EV charger installer gets 'Load-management add-on'. Over 50 trades covered.

  • New

    Confidence pill + market range on every quote

    The price forecast now shows a colour-coded confidence tier (High / Medium / Low) next to the market range, so you know how much to trust the median we suggest.

  • New

    Quote speed metric on /quotes

    Median time from draft → send added to the stats panel. Fast quoters win more; now you can watch your own speed trend up over time.

  • New

    56 trades supported (up from 27)

    Added cleaning specialists (bond, carpet, window, pressure wash), smart-home + tech install (CCTV, NBN, TV mounting), renovation (bathroom, kitchen), auto specialists (tyres, rego, auto-elec), and emerging trades (EV charger, smart lock).

  • New

    Try a quote before signup

    New /try page lets any visitor paste a brief and see a drafted quote in seconds — no email, no card. On signup, the draft is saved automatically as your first quote.

  • New

    Sean Ellis + NPS in-app surveys

    Quick one-question check-ins so we can measure PMF + love in real time. Respects a 90-day dismissal cooldown — we'll never nag.

  • New

    Paste-to-quote from any lead source

    Paste a marketplace brief, referral SMS, or customer email and get a drafted quote — unlimited for every plan. Source-tagged for future win-rate analytics.

  • Security

    Spam Act 2003 suppression list

    Permanent opt-out registry: any recipient who replies STOP is never re-messaged. Per-recipient 24h rate cap prevents number-specific blasting. Compliant by default.

  • Security

    Anti-dummy email + business-name validation

    Fake emails (test.com, mailinator, keyboard-mash locals) and fake business names ('yhg', 'asdf') now bounce with a clear reason at signup. Pre-signup check + zod schemas + typo suggestions.

  • New

    WhatsApp Business (scaffolded)

    Full send path ready to go live the moment Meta verification lands; dual-gated by env config + rollout flag so there's no risk of pre-launch sends.

  • Speed

    View Transitions + loading skeletons

    Native Chrome/Safari page transitions and shaped loading states mean no more white flash between routes.

  • Fix

    PWA install prompt on every route

    Service worker now registers globally, so Chrome's 'Install app' offer appears even on /marketing-home — not just inside the dashboard.

  • Fix

    Address autocomplete biases by your state

    Sydney tradie typing '20 Margate Ave' now gets NSW hits ranked above the Frankston VIC match. Same bias applies across Nominatim, Photon, and Geoapify.

19 Apr 2026

  • New

    Cross-browser CI matrix

    Every PR now runs Playwright across Chromium, WebKit, desktop Safari, iPhone, Android, iPad + iPad-landscape. Live smoke job runs post-deploy on main.

  • New

    Context-aware upgrade hints

    Free users see inline 'Pro $29/mo' hints on SMS / WhatsApp tabs — no more dead-end 402 redirects.

Spot something that should work better? Tell us — we reply inside a day and most suggestions land in the next ship.

VoxQuote changelog — every shipped change, every week · VoxQuote