WC Calculator v1.0 — Release Notes
Published: 5/5/2026 | Written by Elliot Bourne (Partner)
Shareable URLs, autosave, and a navy-and-gold redesign land in our Georgia workers' compensation calculator. Full release notes for v1.0.
We’ve been quietly rebuilding the Georgia Workers’ Compensation calculator over the last few weeks. This post is the formal v1.0 changelog — what’s new, what’s fixed, and what’s next. The calculator is still labeled beta while we collect feedback from attorneys using it on real files; please send bugs to elliot@bourne.law.
TL;DR
- You can now share a calculation by URL. Every input is encoded; paste the link and the calc rebuilds itself.
- Your draft is autosaved. Close the tab, come back later, your work is still there.
- The whole UI was redesigned — navy and gold, exhibit-grade tables, no rainbow rows.
- “Copy Table with Share Link” appends a clickable link to the live calculator at the bottom of the copied exhibit. Works in Word, Outlook, Gmail.
✨ New features
Shareable calculation URLs
The “Share” button on the results dashboard now produces a complete URL that captures all 47 form fields — calculation type, dates, comp rate, PPD details, back-due ranges, medical costs, demand parameters. Paste it into a fresh tab, the form repopulates, and the wizard auto-jumps straight to the Results page. Send one to opposing counsel, drop one in your case file, or bookmark a hypothetical scenario.
For the curious: the encoded URL is typically 250–500 characters even for a fully-specified lifetime calculation with case styling. Comfortably under the practical 2,000-character cap.
Auto-save between sessions
Every form change is debounce-saved to your browser’s localStorage. If you close the tab mid-wizard, your inputs come back the next time you open /comp-calc/. URL params take precedence — a shared link always wins over a saved draft.
Auto-jump to Results on a shared URL
When the URL has enough information to run the calc (calculation type + date of injury at minimum), the wizard skips the nine-step onboarding and lands on the Results page directly. The completed steps stay visible in the sidebar so you can verify any input before relying on the number.
Copy Table with Share Link
Next to the existing Copy Table button on the Calculation Data Table, there’s now Copy Table with Share Link. The copied table includes a final cell with a clickable hyperlink back to the live, editable calculator. Paste into a demand letter, an email to a claims adjuster, or a Word memo, and the recipient can open the same calculation in their browser.
”Start over” reset
A quiet button in the sidebar header clears the form, wipes the autosaved draft, and returns the wizard to step 1. One click for the next claimant.
🎨 Redesign
The calculator used to look like a generic SaaS dashboard — bright sky blue, soft pastel rainbow rows, animated pulse indicators. It now matches the rest of bourne.law: firm navy (#1a202c) with a brand-gold accent, restrained typography, no decorative motion.
Specifically:
- Calc data table is exhibit-grade. Plain rows, uppercase section labels, a single 4-pixel gold rule down the left edge of every total/subtotal so the numbers attorneys actually copy stand out.
- Stat cards on the Results header read as a hierarchy: Total Exposure is the gold-emphasized headline; Settlement Demand and Present Cash Value are neutral peer figures.
- Sidebar collapses to a 56-pixel icon rail when you’re on the Results page so the data table breathes wider. A chevron toggle expands it back.
- Numbers use tabular numerals so dollar columns line up without manual padding.
- Beta notice is dismissable and remembers the dismissal across visits.
🐛 Bug fixes
- Date display off by one day. A shared URL with
doi=2023-06-15was rendering as “June 14th, 2023” in EDT. The shared-URL parser was usingnew Date(...)on a date-only string, which JavaScript treats as UTC midnight (the previous evening in any negative-offset timezone). Switched todate-fns.parseISO, which resolves to local midnight. - Hydration warnings on initial load. A
hasUrlParamscheck was readingwindow.location.searchduring render, returning different values on the server-prerendered HTML versus the client first render. The mismatch propagated into a button’sdisabledattribute, triggering ~16 React hydration errors and a fallback to client rendering. Moved the read into auseEffect. Console is clean. - Shared URLs sometimes failed to populate the form. Two
useFormhook instances existed in parallel —useUrlParamswas writing to one, but the rest of the tree read from the other. Eliminated the duplicate; URL state now flows through a single source of truth.
🧹 Internal cleanup
- Removed an orphaned dark-mode toggle component that was never imported anywhere on the live site.
- Removed the dead
Exportbutton stub on the results dashboard (it was dev-only and only logged to the console). - Standardized the radius scale across the calculator. Dropped
rounded-xlon per-page elements in favor ofrounded-md, withrounded-fullreserved for circular indicators. - 356 tests across the calculator suite pass on the v1.0 build.
What’s next
Out of scope for v1.0, queued for future minor releases:
- Charts (
Exposure Breakdown,Inflation-Adjusted,Time-Based Exposure) still lean colorful inside the Detailed and Narrative tabs. They’ll be brought into the navy/gold treatment. - Personal Injury calculator — once the patterns established here are proven in the wild, a sibling tool for car-accident demand projections is on deck.
- Saved-calculation list — a sidebar of recent calculations stored locally, so attorneys can flip between two or three open scenarios without re-pasting URLs.
- Print-to-PDF polish — small typography tweaks specifically for the print stylesheet so a
Cmd-Pproduces a clean exhibit.
If you’ve got a workers’ comp claim in Georgia where these numbers matter, the calculator is live. And if you hit a bug or have a feature request, elliot@bourne.law — every report shapes what ships next.