SEO / Portfolio / Public Site
FireAndStorm Portal UI UX Improvement Report
Report summary
This review covers the public FireAndStorm portal estate on fireandstorm.com while intentionally excluding the homepage from recommendation scope. Based on the crawl, the public estate includes six authentication or access-request routes , three role-based demo dashboards , three role-specific claim
Key topics
- SEO / Portfolio / Public Site
- SEO
- Portfolio
- Public Site
- Privacy
- Semantic Systems
- Research Archive
- Audit
- Architecture
Research provenance
For citation, use the report title and canonical URL. Archival presence does not establish authorship or promote report statements into portfolio evidence.
Source availability: 128 citation markers in the source export have no recoverable source links. Those markers are omitted from this reader; any supplied bibliography and ordinary links remain. Check the original sources before relying on the cited claims.
This page renders the archived Markdown as safe, formatted HTML. It is background research and does not become a portfolio claim without evidence review.
Full report
On this page
Executive Summary
This review covers the public FireAndStorm portal estate on fireandstorm.com while intentionally excluding the homepage from recommendation scope. Based on the crawl, the public estate includes six authentication or access-request routes, three role-based demo dashboards, three role-specific claim-detail demos, two legal pages, one demo selector, two legacy technical demo paths that now point back to the selector, and one generic /demo/claims/ fallback route. The production experience that exists _after_ authentication was not publicly accessible; the only post-login-like experiences available to evaluate were the public demo dashboards and claim-detail previews. The www host also canonicalizes to the apex host on the publicly opened routes.
The portal architecture has several strong foundations. Role separation is clear. Each role gets a dedicated summary of purpose. Demo workspaces display concrete “next actions,” status summaries, and role-specific tool sets such as Upload photos / Schedule visit / View estimate for owners, Upload evidence / Submit invoice / Onboarding for contractors, and Review estimate / Request info for adjusters. Forms consistently warn against entering highly sensitive information in public pages, and the demo data is clearly described as redacted and read-only. All of that is directionally good for trust, task clarity, and least-privilege presentation.
The most important UX problems are structural rather than aesthetic. Every public login and registration page includes the full portal chooser below the core form, which dilutes the task and creates unnecessary page length. The login pages also contain a severe microcopy contradiction: they ask for a password but simultaneously say “Do not enter … passwords” in the page instructions. The action strips and tab rows appear dense and linearly packed, especially on demo pages, creating likely mobile and accessibility strain. CTA language is inconsistent across roles: Request Access, Sign Up, Registration, and Access goal do not form one coherent vocabulary. The legal pages are too thin to inspire confidence for a portal that is clearly framed as dealing with restoration-claim workflows.
The most important SEO and best-practice issue is that public demo dashboards, legacy technical demo paths, and even role-specific claim-detail demo pages with query parameters are discoverable in search. Google’s documentation is explicit that route-level indexing should be controlled with noindex via a robots meta tag or HTTP header when pages should not appear in search results. For this portal, public demo and access flows should almost certainly be treated as non-indexable utility routes, while only the true public marketing site should be indexed.
From a heuristic and accessibility perspective, the estate is currently closer to a promising, lightweight MVP than a polished multi-role portal system. The strongest immediate improvements are to separate auth pages from chooser pages, standardize role language and CTA wording, apply semantic tab/dialog implementations, tighten mobile hierarchy, noindex all login/register/demo/legacy routes, and add clearer status language plus help expectations. If those fixes are made first, the portal can keep its existing role clarity while becoming materially more trustworthy, more accessible, and more conversion-efficient.
Scope, Crawl Inventory, and Page Snapshots
The crawl below is based on publicly reachable routes discovered through the portal chooser, indexed route discovery, and public demo navigation. The homepage was used only as a discovery source and is not included in recommendations. Because live HTML screenshot capture was not available from this environment, the inventory uses rendered-page snapshots and semantic DOM reconstructions derived from the rendered page output. Public production pages beyond login/access-request were not accessible; the public demo routes were the only role-specific workspaces available for review.
Authentication and legal routes
| Route | Public purpose | Access status | Rendered-page snapshot | Semantic DOM snapshot |
|---|---|---|---|---|
/property-owner/login/ | Owner sign-in | Public | H1 Property Owner Login; Email + Password + Login; help/privacy/terms; Return to portal chooser; then the full chooser and demo CTA appear below the form. | header utility > main > h1 > login form > help links > chooser cards > demo CTA > legal links |
/property-owner/register/ | Owner access request | Public | H1 Property Owner Access Request; fields are Name or company / Email / Phone / Access goal; then the full chooser and demo CTA appear below. | header utility > main > h1 > request form > chooser cards > demo CTA > legal links |
/contractor/login/ | Contractor sign-in | Public | H1 Contractor Login; Email + Password + Login; help/privacy/terms; then full chooser and demo CTA. | header utility > main > h1 > login form > helper links > chooser cards > demo CTA |
/contractor/register/ | Contractor registration | Public | H1 Contractor Registration; Name or company / Email / Phone / Access goal; post-submit review note; then chooser and demo CTA. | header utility > main > h1 > registration form > review note > chooser cards > demo CTA |
/adjuster/login/ | Adjuster sign-in | Public | H1 Insurance Adjuster Login; Email + Password + Login; help/privacy/terms; then chooser and demo CTA. | header utility > main > h1 > login form > helper links > chooser cards > demo CTA |
/adjuster/register/ | Adjuster registration | Public | H1 Insurance Adjuster Registration; Name or company / Email / Phone / Access goal; review note; then chooser and demo CTA. | header utility > main > h1 > registration form > review note > chooser cards > demo CTA |
/privacy | Portal privacy page | Public | H1 Privacy Policy; one short paragraph warning against entering claim numbers, policy numbers, SSNs, tax IDs, bank details, passwords, API keys, tokens, or private financial details; then links back out. | header utility > main > h1 > one-paragraph policy note > footer links |
/terms | Portal terms page | Public | H1 Terms of Use; one short paragraph stating portal use is limited to authorized access requests and demo previews, and demo actions are read-only. | header utility > main > h1 > one-paragraph terms note > footer links |
Demo selector and role dashboards
| Route | Public purpose | Access status | Rendered-page snapshot | Semantic DOM snapshot |
|---|---|---|---|---|
/demo | Demo role selector | Public | H1 Choose a role to preview; links for Contractor / Adjuster / Property Owner; utility bar includes public site link, phone, privacy, terms. | header utility > main > h1 > role selector links |
/demo/property-owner | Owner dashboard demo | Public | H1 Property Owner Portal; action row Upload photos / Schedule visit / View estimate; tabs Overview / Work / Evidence / Timeline; status card; current work card; evidence/documents; timeline; then three preview panels for upload, visit scheduling, and estimate/payment visibility. | header utility + demo controls > main > h1 > action row > tab row > overview metrics > current work > evidence/docs > timeline > 3 modal-like preview sections |
/demo/contractor | Contractor dashboard demo | Public | H1 Contractor Portal; action row Open gallery / Upload evidence / Submit invoice / Onboarding; overview metrics; work card; evidence/documents; timeline; then four preview panels for gallery, upload, onboarding, invoice. | header utility + demo controls > main > h1 > 4-action row > tab row > metrics > work > evidence/docs > timeline > 4 modal-like preview sections |
/demo/adjuster | Adjuster dashboard demo | Public | H1 Insurance Adjuster Portal; action row Open evidence / Review estimate / Request info; overview metrics; work card; evidence/documents; timeline; then four preview panels for evidence review, estimate review, request info, estimate detail. | header utility + demo controls > main > h1 > 3-action row > tab row > metrics > work > evidence/docs > timeline > 4 modal-like preview sections |
/demo/setup-snippet | Legacy demo path | Public | H1 Demo role selector; content explicitly says this older technical demo path now points to the public role selector. | header utility > main > h1 > technical-note text > open selector link |
/demo/export-packet-draft-manifest | Legacy demo path | Public | Same as /demo/setup-snippet: older technical demo path, now pointing to selector. | header utility > main > h1 > technical-note text > open selector link |
Claim-detail and fallback routes
| Route | Public purpose | Access status | Rendered-page snapshot | Semantic DOM snapshot |
|---|---|---|---|---|
/demo/claims/DEMO-DAILY-FIRE-001?role=property-owner&scenario=daily-fire | Owner claim detail | Public | H1 Fire / Lightning Naperville; next action; action row Upload photos / Schedule visit / View estimate; tab row including Documents; status strip; evidence/documents; timeline; then upload/visit/estimate visibility preview panels. | header utility + demo controls > main > claim header > action row > tab row > status > evidence/docs > timeline > 3 modal-like preview sections |
/demo/claims/DEMO-DAILY-FIRE-001?role=contractor&scenario=daily-fire | Contractor claim detail | Public | H1 Fire / Lightning Naperville; next action; action row Open gallery / Upload evidence / Submit invoice / Onboarding; status strip; documents; timeline; four preview panels. | header utility + demo controls > main > claim header > 4-action row > tab row > status > documents > timeline > 4 modal-like preview sections |
/demo/claims/DEMO-DAILY-FIRE-001?role=adjuster&scenario=daily-fire | Adjuster claim detail | Public | H1 Fire / Lightning Naperville; next action; action row Open evidence / Review estimate / Request info; status strip; documents; timeline; four preview panels. | header utility + demo controls > main > claim header > 3-action row > tab row > status > documents > timeline > 4 modal-like preview sections |
/demo/claims/ | Generic fallback route | Public | Falls back to the portal chooser rather than presenting a claim workspace. | header image + chooser content |
Two inventory findings are strategically important. First, the portal uses a very shallow IA, which is good for comprehension. Second, because the public site exposes not only chooser pages but also role dashboards, claim-detail demos, and legacy technical routes in search discovery, the portal’s “public utility” versus “customer-ready public content” boundary is currently too porous.
Information Architecture and Key User Flows
At the highest level, FireAndStorm currently has three public conceptual layers: a portal chooser, a set of role-specific access pages, and a public demo workspace that acts as the only publicly visible stand-in for the real authenticated portals. That is a workable foundation, but the line between “live portal access” and “demo preview” is not strong enough. The auth forms still visually contain the chooser, and the legacy technical demo paths remain publicly reachable, which weakens certainty about where a user “really is” in the product.
flowchart TD
A[Portal chooser] --> B[Property Owner Login]
A --> C[Property Owner Access Request]
A --> D[Contractor Login]
A --> E[Contractor Registration]
A --> F[Adjuster Login]
A --> G[Adjuster Registration]
A --> H[Demo role selector]
H --> I[Owner demo dashboard]
H --> J[Contractor demo dashboard]
H --> K[Adjuster demo dashboard]
I --> L[Owner claim detail demo]
J --> M[Contractor claim detail demo]
K --> N[Adjuster claim detail demo]
A --> O[Privacy]
A --> P[Terms]
Q[Legacy demo routes] --> H
R[Generic demo claims fallback] --> A
This IA diagram is derived from the publicly crawled routes and demo navigation paths.
The role logic itself is good. Owners are guided toward status, uploads, visits, estimates, and payment visibility. Contractors are guided toward assignments, evidence, onboarding, and invoicing. Adjusters are guided toward evidence review, estimate review, and request-for-information handling. That is a sound role model and aligns well with Jakob Nielsen’s heuristic that systems should match the real world and users’ tasks. The problem is less the flow model and more the presentation density, language inconsistency, and search exposure around those flows.
| Portal | Primary public flow | What works | Major friction |
|---|---|---|---|
| Property owner | Chooser → access request or login → owner dashboard demo → open claim → upload items / schedule visit → check estimate visibility. | The role is clearly framed around stress-reducing tasks: status, items needed, appointments, estimate visibility. | “Access goal” is vague, “Name or company” is awkward for owners, and status text such as Visible soon or Not available yet is too fuzzy for a high-stress claims context. |
| Contractor | Chooser → register or login → contractor dashboard demo → open claim → onboarding / upload evidence / invoice. | The action model is direct, and onboarding is visibly staged. | The page presents too many peer-priority actions at once, which increases scanning cost and likely hurts mobile use. |
| Adjuster | Chooser → register or login → adjuster dashboard demo → open claim → review evidence → review estimate → request information. | The adjuster pathway is appropriately review-oriented and read-only in tone. | Terms like Needs tie-out and Review framing only are specialist phrasing that may be efficient for experts but still need clearer supporting microcopy and states. |
flowchart LR
A[Owner access request] --> B[Owner login]
B --> C[Owner dashboard]
C --> D[Open claim]
D --> E[Upload photos or receipts]
D --> F[Schedule visit]
D --> G[View estimate and payment status]
H[Contractor registration] --> I[Contractor login]
I --> J[Contractor dashboard]
J --> K[Open claim]
K --> L[Confirm onboarding]
K --> M[Upload evidence]
K --> N[Submit invoice]
O[Adjuster registration] --> P[Adjuster login]
P --> Q[Adjuster dashboard]
Q --> R[Open claim]
R --> S[Review evidence]
R --> T[Review estimate]
R --> U[Request information]
These are the top public flows visible in the crawl.
Cross-Portal UX and Accessibility Evaluation
The site performs best where it is role-specific and weakest where it is trying to be both a portal chooser, a live access path, and a demo catalogue at the same time. Below is a full heuristic pass using Nielsen’s ten heuristics, followed by mobile-specific checks and a WCAG 2.1 AA audit lens. NN/g defines heuristic evaluation as judging an interface against established usability principles, and that framing fits this portal well because most of the biggest issues are discoverable without analytics.
| Nielsen heuristic | Assessment | Evidence | Rating |
|---|---|---|---|
| Visibility of system status | Good foundation. All role dashboards show status metrics, numbered steps, current work, and timelines. | Helpful, but the wording is sometimes vague, such as Visible soon, Not available yet, Available after review, and Today without exact dates. | Medium |
| Match between system and the real world | Strong role modeling. Owner, contractor, and adjuster tools map to expected tasks. | Internal phrasing like claim-scoped, tie-out, owner-visible, and review visibility only is too insider-heavy for stressed claimants and occasionally cryptic even for professionals without context. | High |
| User control and freedom | Demo flows include Back to dashboard, Switch Role, Exit, and read-only warnings. | Auth pages bury users beneath the full chooser after the form, which weakens focus. Demo preview panels also appear modal-like but public crawl evidence does not confirm complete dialog behavior. | High |
| Consistency and standards | The shell is visually and structurally consistent across roles. | Vocabulary is not consistent: Request Access, Sign Up, Registration, and Access goal are mixed across roles. | High |
| Error prevention | Public forms warn against entering sensitive data, which is a positive prevention pattern. | The login pages undermine themselves by warning users not to enter passwords on screens whose primary task is password entry. That is a direct trust and comprehension issue. | Critical |
| Recognition rather than recall | Good. Dashboards surface next actions and key artifacts directly. | Less good on auth pages, where the true task is immediately followed by the whole chooser, making users rescan options they already chose. | Medium |
| Flexibility and efficiency of use | The public demo is a useful orientation tool, and role switching is easy. | No evidence of expert accelerators such as search, filtering, bulk review, or saved form state on the public side. The action density instead raises interaction cost. | Medium |
| Aesthetic and minimalist design | The portal is text-first and relatively lightweight, which is good. | It is not minimalist enough in task framing: utility links, public site link, phone, privacy, terms, demo mode controls, chooser duplication, and multiple peer CTAs all compete on narrow screens. | High |
| Help users recognize, diagnose, and recover from errors | Current public evidence does not expose full validation states. | The forms do not visibly provide inline examples, expected formats, or error-recovery patterns. NN/g’s guidance strongly favors clear inline validation and actionable error text near fields. | High |
| Help and documentation | There is some lightweight help such as Need help signing in? and legal links. | There is no visible “what happens next” detail, SLA expectation, required documents explainer, or FAQ on the forms themselves. Sedgwick, Allstate, and State Farm all do better here. | High |
Mobile UX needs a separate lens because smartphone use brings smaller screens, shorter sessions, and more frequent interruption. NN/g explicitly notes those constraints, and mobile-specific heuristic work likewise argues that desktop-focused heuristics miss mobile problems.
| Mobile-specific heuristic | Assessment | Evidence | Priority |
|---|---|---|---|
| Clear prioritization on small screens | Weak on current demos and auth pages because top bars and action rows are too dense. | High | |
| One-handed touch ergonomics | Horizontal action rows with 3–4 peer CTAs will likely wrap awkwardly or feel cramped below 600px. | High | |
| Interruption tolerance | Good conceptually because each portal exposes next steps, but weak operationally because the public auth forms do not clearly promise saved progress or recovery. | Medium | |
| Mobile data entry optimization | Weak. Public forms do not visibly expose field examples, masks, inline validation, or browser-autofill cues in the crawl. MDN recommends proper use of autocomplete to improve filling and password manager behavior. | High | |
| Mobile content parity and indexing readiness | Important because Google indexes from mobile-first crawls. Utility/demo pages should not depend on desktop-only cues. | High |
The WCAG 2.1 AA audit below distinguishes between confirmed issues visible in the crawl and high-risk issues that need live browser verification with keyboard, screen reader, Axe, and WAVE. W3C’s WCAG documentation, Deque’s axe rules, and WebAIM’s WAVE guidance all emphasize that manual checks are still required.
| WCAG 2.1 criterion | Status | Observed issue | Affected routes | Code-level fix |
|---|---|---|---|---|
| 3.3.2 Labels or Instructions | Confirmed issue | Login pages require a password but the page-level instruction says do not enter … passwords, creating contradictory input guidance. W3C says instructions must make expected input clear. | All three login pages | Replace the warning with role-specific safe-data guidance that excludes the actual login password field from the prohibition text. |
| 2.4.4 Link Purpose in Context | High-risk | Repeated generic labels such as Login, Sign Up, Open claim, and Back to dashboard may form weak link lists for assistive-tech users unless accessible names are role-specific. W3C recommends link text that is meaningful without requiring extra context whenever possible. | Chooser, auth pages, dashboards, claim detail | Give each actionable link a unique accessible name, for example Log in as Property Owner or Open Contractor Claim DEMO-DAILY-FIRE-001. |
| 1.3.1 Info and Relationships | High-risk | Tabs and action groups render in the crawl as dense text runs such as OverviewWorkEvidenceTimeline and OverviewCurrent workEvidenceTimelineDocuments, which suggests the possibility that related controls are not exposed with strong structural semantics. W3C requires relationships conveyed visually to be programmatically determinable. | Demo dashboards and claim detail pages | Implement real nav landmarks, lists, or tab patterns rather than relying on visual adjacency alone. |
| 1.3.2 Meaningful Sequence | High-risk | The dense utility header and modal-like preview sections raise risk that DOM order, focus order, and visual order diverge on small screens. W3C requires correct reading sequence when order affects meaning. | Demo dashboards and claim detail pages | Ensure DOM order matches the visual and interaction order, especially when content stacks on mobile. |
| 4.1.2 Name, Role, Value | High-risk | The repeated preview sections marked by solitary × close affordances look like dialogs in the crawl, but public evidence does not confirm proper dialog roles, labels, and state announcements. W3C requires programmatically determinable names, roles, and values. | Demo dashboards and claim detail pages | Use the WAI-ARIA dialog pattern or the native <dialog> element with labelled close buttons, focus placement, and focus return. |
| 3.3.1 Error Identification / 3.3.3 Error Suggestion | Untestable from public crawl but high-priority | The public forms do not display validation or error states, so recovery quality could not be observed. W3C requires text identification of errors, and suggestions where correction is known. | All auth and request forms | Add inline validation, field-level error text, summary alerts, and specific correction hints next to each invalid field. |
| 1.1.1 Non-text Content | High-risk | A marketing-style image alt text appears repeatedly across auth pages. If the image is decorative, W3C says it should be ignorable by assistive tech; if informative, the text alternative should match purpose without redundancy. | Auth and chooser pages | If decorative, use alt="" and keep it out of the reading stream; if informative, shorten the alt to the true purpose. |
| 1.4.3 Contrast Minimum | Not verifiable from text-only crawl | Contrast cannot be confirmed without rendered color capture. WCAG AA requires at least 4.5:1 for normal text. | Entire estate | Validate all text, icon, and focus-state contrast in a live run with WAVE, Axe, and manual inspection. |
The three most important accessibility and form code fixes are below. They are aligned with W3C, MDN, and WAI guidance on instructions, autocomplete, tabs, and dialogs.
<!-- Auth form: clear instructions, correct autocomplete, explicit error region -->
<form id="owner-login" novalidate aria-describedby="login-help login-errors">
<h1>Property Owner Login</h1>
<p id="login-help">
Use the email address and password for your FireAndStorm portal account.
Do not enter claim numbers, policy numbers, SSNs, tax IDs, bank details,
API keys, tokens, or unrelated financial details on this public form.
</p>
<label for="email">Email address</label>
<input
id="email"
name="email"
type="email"
inputmode="email"
autocomplete="username"
required
/>
<label for="password">Password</label>
<div class="password-row">
<input
id="password"
name="password"
type="password"
autocomplete="current-password"
required
/>
<button type="button" aria-controls="password" aria-pressed="false">
Show
</button>
</div>
<div id="login-errors" role="alert" aria-live="polite"></div>
<button type="submit">Log in as Property Owner</button>
</form>
<!-- Tabs + progress steps: real relationships, not visual-only text runs -->
<nav aria-label="Claim sections">
<div role="tablist" aria-label="Claim sections">
<button id="tab-overview" role="tab" aria-selected="true" aria-controls="panel-overview">
Overview
</button>
<button id="tab-work" role="tab" aria-selected="false" aria-controls="panel-work">
Work
</button>
<button id="tab-evidence" role="tab" aria-selected="false" aria-controls="panel-evidence">
Evidence
</button>
<button id="tab-timeline" role="tab" aria-selected="false" aria-controls="panel-timeline">
Timeline
</button>
</div>
</nav>
<ol class="claim-steps">
<li>Claim opened</li>
<li aria-current="step">Evidence organized</li>
<li>Internal review</li>
<li>Owner update</li>
</ol>
<!-- Accessible modal preview -->
<dialog id="upload-evidence-dialog" aria-labelledby="upload-evidence-title">
<form method="dialog">
<button type="submit" aria-label="Close upload evidence dialog">×</button>
</form>
<h2 id="upload-evidence-title">Upload evidence</h2>
<p id="upload-evidence-help">
Add photos, receipts, or status notes for this claim.
</p>
<label for="evidence-type">Evidence type</label>
<select id="evidence-type" name="evidenceType" aria-describedby="upload-evidence-help">
<option>Damage photo</option>
<option>Receipt</option>
<option>Work status note</option>
</select>
<button type="button">Upload evidence</button>
</dialog>
Beyond accessibility, the microcopy needs a disciplined rewrite. The following changes would have an immediate effect on clarity and trust:
| Current copy | Problem | Recommended rewrite |
|---|---|---|
| “Do not enter … passwords” on login pages. | Contradicts the required password field. | “Use the password linked to your portal account. Do not enter claim numbers, policy numbers, SSNs, tax IDs, or unrelated financial details on this form.” |
| “Access goal”. | Too vague; increases ambiguity and manual review burden. | “Why do you need access?” with role-specific choices like Check claim status, Review approved work, Review documentation. |
| “Name or company” on owner access request. | Wrong mental model for homeowners. | Split into Full name and, if needed, Property or business name as optional secondary context. |
| “Estimate Visible soon” / “Not available yet”. | Too vague for stressed claimants. | “Estimate available after internal review. We’ll notify you by email when it is ready.” |
| “Needs tie-out”. | Specialist jargon without explanation. | “Needs matching photo evidence.” |
Visual consistency is directionally good because the same shell, role cards, and utility pattern repeat across the site. That repetition is a useful seed for a design system. However, it currently repeats too much of the wrong content. The hero image, chooser content, and legal links recur beneath pages whose primary job is simply to let someone log in or request access. The result is a UI that is consistent in component presence but not consistent in task focus.
Information architecture and conversion effectiveness are similarly mixed. The chooser explains roles well, but once a user picks a role, the product should narrow to that task. Instead, auth pages immediately reintroduce every other route. That weakens conversion by turning a single-task page into a mini-site. The owner pathway is especially vulnerable because owners are the least expert audience and the most likely to be stressed by claim uncertainty.
Performance, Responsive Design, Benchmarking, and Measurement
A live Lighthouse, Axe, or WAVE run against the FireAndStorm routes was not directly executable from this research environment, so this section does not fabricate numeric current scores. Instead, it gives a route-family assessment, explicit target bands, and the most likely hotspot areas, using Chrome, Google Search Central, WAVE, and axe guidance as the measurement framework. Lighthouse audits performance, accessibility, SEO, and best practices; Lighthouse performance scores should be interpreted in score bands, and Google also notes that performance runs vary and should be medianed across repeated tests.
| Route family | Current live Lighthouse score | What the crawl suggests | Recommended target |
|---|---|---|---|
| Auth and legal pages | Not directly measured | These routes are mostly text, forms, links, and one repeated hero image, so they should be capable of strong performance if CSS, fonts, and JS are kept lean. The biggest waste visible in the crawl is duplication of chooser content below every form. | Performance 90+, Accessibility 95+, Best Practices 95+, SEO noindex utility routes or 90+ where indexing is intended. |
| Demo dashboards | Not directly measured | More complex than forms because they present metrics, action bars, section tabs, timelines, and modal-like previews. Likely biggest risks are DOM density, layout instability on narrow widths, and interaction complexity. | Performance 85+, Accessibility 95+, Best Practices 95+, SEO noindex. |
| Claim-detail demos | Not directly measured | These are the densest pages in the estate, with claim headers, action rows, tab rows, status strips, documents, timelines, and multiple preview sections. They are also public and indexable in search, which is undesirable for demo detail pages. | Performance 85+, Accessibility 95+, Best Practices 95+, SEO noindex. |
| Legacy technical demo routes | Not directly measured | These are lightweight but should not be index targets. Their public presence adds crawl noise and weakens IA clarity. | Best Practices 95+, SEO noindex and preferably deprecate in navigation entirely. |
The highest-confidence performance and best-practice recommendations are straightforward. Remove chooser duplication from auth pages. Reduce top-bar clutter on demo pages. Collapse or lazy-render secondary preview panels instead of exposing them as always-present modal-like regions in the page stream. Add noindex, nofollow to all login/register/demo/legacy routes so search engines do not treat utility screens and query-string demo detail pages as content pages.
<!-- SEO / utility-route control -->
<meta name="robots" content="noindex, nofollow">
Responsive behavior could not be pixel-tested on live viewports here, but the page composition strongly suggests that the current density will create avoidable strain on mobile widths. Google documents that Search is mobile-first, so desktop-only clarity is not enough. Material’s responsive guidance treats breakpoints as opinionated transitions where the layout should adapt to available space and ergonomics.
| Viewport | Recommended behavior | Current-risk evidence | Breakpoint recommendation |
|---|---|---|---|
| Narrow mobile | One-column layout; utility links collapsed into a top-right menu; one primary CTA above the fold; steps converted to compact cards; tabs replaced by segmented control or accordion. | Utility bars include brand, public-site link, phone, privacy, terms, demo mode, reset, switch role, and exit in one strip; dashboards also expose 3–4 peer CTAs immediately. | < 600px |
| Large mobile / small tablet | Two-up cards where useful; action row wraps into 2x2 max; timeline and documents remain stacked; help card pinned under primary action group. | Dashboard action rows are currently too dense to rely on horizontal persistence. | 600–839px |
| Tablet / small desktop | Claim header with primary actions on first row, secondary utilities separated; timeline can move to secondary column only if order remains accessible. | Claim-detail pages are significantly denser than dashboards and need clearer primary/secondary grouping. | 840–1279px |
| Desktop wide | Two-column claim workspace: claim summary/status left, evidence/timeline right, but with semantic order preserved. | Current pages already have content blocks that could be rearranged into a stronger desktop workspace. | 1280px+ |
Competitor and adjacent-product benchmarking shows what stronger patterns look like in the same broad problem space:
| Benchmark | Public pattern worth borrowing | Why it matters for FireAndStorm |
|---|---|---|
| Contractor Connection | Emphasizes real-time updates, accurate tracking, transparency, and intuitive dashboards in managed repair. | FireAndStorm already has dashboard seeds but needs clearer state language, stronger progress structure, and less clutter around those dashboards. |
| Sedgwick | Puts claim guidance, start/check pathways, chat help, and a visible staged process on one support surface. | FireAndStorm’s forms need more “what happens next,” expected response time, and self-service help at the point of friction. |
| Allstate | Clean split between File a claim and Track a claim, plus support resources and payment guidance. | FireAndStorm should separate “request access,” “log in,” “explore demo,” and “get help” rather than blending them on one long page. |
| State Farm | Uses explicit step-based claims language and highlights online/app capabilities such as status checks, uploads, direct deposit, and guided photos. | FireAndStorm should make owner-facing status language more concrete and could turn abstract stages into clearer task steps. |
| Encircle | Mobile claim home page uses shortcuts for GPS, call, email, documents, notes, search, notifications, and sync status in one operational hub. | FireAndStorm’s role dashboards would benefit from explicit mobile task shortcuts and clearer field-to-office collaboration cues. |
Because internal analytics are unspecified, the right move is a lean event framework tied directly to the public flows visible in the crawl. It should avoid claim numbers, free-text note payloads, and any personally sensitive values in event properties, in line with the portal’s own data-safety warnings.
| Funnel area | Recommended events | KPI |
|---|---|---|
| Role discovery | portal_role_card_clicked, demo_role_selected, public_site_clicked | Role selection rate by audience and device class |
| Auth | login_started, login_submitted, login_error, login_success by role | Login completion rate, login error rate, median time to success |
| Access requests | access_request_started, access_request_submitted, access_request_abandoned by role | Access-request completion rate, abandonment by field |
| Owner claim flow | owner_claim_opened, owner_upload_opened, owner_visit_opened, owner_estimate_viewed | Claim-detail open rate, upload initiation rate, schedule-request conversion |
| Contractor flow | contractor_claim_opened, onboarding_opened, evidence_opened, invoice_opened | Evidence completion rate, onboarding completion rate, invoice submission rate |
| Adjuster flow | adjuster_claim_opened, evidence_review_opened, estimate_review_opened, request_info_opened | Review completion rate, info-request rate, decision latency |
| Help and trust | help_clicked, privacy_clicked, terms_clicked, call_clicked | Support dependency by page and device |
| UX quality | cta_click_distribution, tab_switched, dialog_opened, dialog_closed | CTA concentration, tab engagement, dialog abandonment |
Prioritized Backlog and Annotated Wireframes
The backlog below is ordered by user harm, clarity impact, and implementation leverage. Severity uses a product-risk lens rather than a purely technical severity scale.
| Priority | Fix | Affected pages | Severity | Effort | Why first |
|---|---|---|---|---|---|
| P1 | Noindex all login, register, demo, claim-detail demo, and legacy technical routes | All utility/demo routes | High | Low | Search engines are already discovering demo and technical routes; this is the cleanest SEO/business-risk win. |
| P2 | Remove the full chooser from all auth pages | All six auth routes | Critical | Medium | Auth pages should do one thing well. Current duplication increases confusion and hurts completion. |
| P3 | Fix contradictory password warning on login pages | All three login routes | Critical | Low | This is a trust-breaking content bug on a core task. |
| P4 | Standardize CTA and terminology across roles | Chooser + auth routes + dashboard headers | High | Medium | “Request Access,” “Sign Up,” “Registration,” and “Access goal” create avoidable cognitive friction. |
| P5 | Replace dense action strips and text-run tabs with semantic, responsive controls | All dashboards and claim-detail pages | High | Medium | This is the biggest usability and accessibility improvement on the workspaces. |
| P6 | Rewrite owner-facing and cross-role status language in plain English | Owner dashboards, all claim-detail pages, some adjuster views | High | Low | Claimants need certainty; vague or insider-heavy language reduces confidence. |
| P7 | Rebuild public forms with proper helper text, autocomplete, examples, and error states | All auth/request forms | High | Medium | Better completion, fewer support contacts, better accessibility. |
| P8 | Make preview panels accessible dialogs | Dashboards and claim-detail pages | High | Medium | Public evidence strongly suggests modal-like behavior without confirmed dialog semantics. |
| P9 | Add visible help, expectations, and “what happens next” content | Auth and request forms | Medium | Low | Claim portals compete on certainty as much as functionality. Sedgwick, Allstate, and State Farm show this clearly. |
| P10 | Create a true responsive shell with mobile utility collapse and primary/secondary action hierarchy | Demo dashboards and claim-detail pages | High | Medium | Current utility density and peer-CTA structure are likely mobile-hostile. |
| P11 | Expand trust surfaces: privacy, terms, security, and demo disclosure | Privacy, terms, auth forms | Medium | Low | Current legal content is too thin for a portal that asks users to trust claim workflows. |
| P12 | Instrument the full public funnel with role-based KPIs | Entire public estate | Medium | Medium | Without analytics, optimization will remain anecdotal. The current public flow architecture is well-suited to event-based measurement. |
Below are annotated sketches for the top 10 fixes.
Fix 1 — Auth page stripped to one job
┌──────────────────────────────────────┐
│ FireAndStorm Portal │
│ Property Owner Login │
│ Use your portal email and password. │
│ [ Email address__________________ ] │
│ [ Password________________ ][Show] │
│ [ Log in as Property Owner ] │
│ Need access? Request owner access → │
│ Need help signing in? │
└──────────────────────────────────────┘
This removes the chooser from the auth page and keeps the user in one task lane. It directly addresses the current duplicated chooser problem.
Fix 2 — Dedicated chooser with stronger role framing
┌────────────────────────────────────────────┐
│ Choose your portal │
│ │
│ [ Property Owner ] Track status & visits │
│ [ Contractor ] Manage work & invoices │
│ [ Adjuster ] Review documents │
│ │
│ Secondary: Explore demo workspace → │
└────────────────────────────────────────────┘
The demo becomes a secondary orientation path instead of competing with primary access tasks on every form page.
Fix 3 — Mobile utility header collapse
┌──────────────────────────────┐
│ FireAndStorm ☰ │
│ Contractor Portal │
│ [ Open claim ] │
│ Tabs: Overview | Work | ... │
└──────────────────────────────┘
Menu contains:
- Public site
- Call
- Privacy
- Terms
- Switch role
- Exit demo
This turns the current crowded inline utility strip into a predictable mobile pattern.
Fix 4 — Semantic tab rail with active state
┌──────────────────────────────────────┐
│ [Overview]* [Work] [Evidence] [Docs] │
├──────────────────────────────────────┤
│ Overview panel content │
│ Status card │
│ Next actions │
└──────────────────────────────────────┘
This replaces the current text-run impression with real tabs, a visible active state, and proper panel relationships.
Fix 5 — Owner status card with certainty language
┌──────────────────────────────────────┐
│ Claim status │
│ Stage: Internal review │
│ Next update: by Tue, Jun 16 │
│ What we need from you: 2 items │
│ [ Upload requested items ] │
│ [ Schedule visit ] │
└──────────────────────────────────────┘
This replaces vague states like Visible soon or Not available yet with concrete dates and next actions.
Fix 6 — Guided access-request form
┌──────────────────────────────────────┐
│ Request Property Owner Access │
│ Full name │
│ [______________________________] │
│ Email │
│ [______________________________] │
│ Phone │
│ [______________________________] │
│ Why do you need access? │
│ ( ) Check claim status │
│ ( ) Upload requested items │
│ ( ) Review estimate │
│ [ Submit request ] │
└──────────────────────────────────────┘
This is clearer and more role-appropriate than Name or company plus a freeform Access goal field.
Fix 7 — Accessible upload dialog
┌──────────────────────────────────────┐
│ Upload evidence X │
│ Add photos, receipts, or notes. │
│ Type │
│ [ Damage photo ▼ ] │
│ Files │
│ [ Choose files ] │
│ Note │
│ [______________________________] │
│ [ Upload evidence ] │
└──────────────────────────────────────┘
The visual sketch assumes proper dialog semantics, focus trap, return focus, and live error messaging.
Fix 8 — Claim detail as a two-layer workspace
┌────────────────────────────────────────────────────┐
│ Fire / Lightning Naperville DEMO-DAILY-FIRE-001 │
│ Next action: Review photo set and estimate lines │
├────────────────────────────────────────────────────┤
│ Left: status + documents Right: timeline │
│ Left: primary actions Right: next tasks │
└────────────────────────────────────────────────────┘
This turns the current stacked density into a more legible workspace while preserving semantic order.
Fix 9 — Embedded help and expectation card
┌──────────────────────────────────────┐
│ What happens next │
│ • We review your request in 1–2 days │
│ • We contact you if more info is needed
│ • You receive an email when access is ready
│ [ Read eligibility details ] │
└──────────────────────────────────────┘
This brings support and expectation-setting to the point of need instead of hiding them behind generic help.
Fix 10 — Dashboard shortcut cluster inspired by modern claim tools
┌──────────────────────────────────────┐
│ Quick actions │
│ [ Call ] [ Email ] [ Upload ] │
│ [ Notes ] [ Documents ] [ Search ] │
└──────────────────────────────────────┘
Encircle’s mobile claim home page shows the value of operational shortcuts such as GPS, phone, email, documents, notes, search, and sync state. FireAndStorm can bring the same clarity into its role dashboards.
Open Questions and Limitations
Exact Lighthouse, Axe, and WAVE scores were not directly available in this environment, so no fabricated current scores are included. The report therefore uses official tool guidance plus public-route evidence to provide a score-ready remediation plan and target bands instead. Chrome’s Lighthouse docs confirm those tools can be run on public or authenticated pages, WAVE’s browser extension can evaluate password-protected and dynamic pages, and WebAIM as well as Deque both emphasize that automated tools do not replace manual evaluation.
Rendered HTML screenshots of live pages were not available from this environment, so the “snapshots” in this report are rendered-text snapshots plus semantic DOM reconstructions. That means visual-only issues such as exact spacing, contrast, type scale, focus styling, and breakpoint behavior still require live browser QA. WCAG contrast checks, keyboard traps, screen-reader announcements, and dialog focus handling should all be verified in-browser before release.
Finally, no authenticated production workspace beyond the public login and request pages was accessible. The role-based demo dashboards and claim-detail pages were therefore used as the only observable representation of the post-login experience. That is enough to identify the estate’s biggest structural and language problems, but it is not enough to certify the real signed-in production experience without direct testing of private routes.