Tarsco Bolted Tank — UX/UI Assessment

An engineering tool used daily by sales.

Tarsco Bolted Tank was built as an estimating tool for engineers. About half of its daily users are sales, who are less technical and work the post-lock stages. The gaps below sit where those two audiences meet.

ARIA attributes across 338 views hardcoded values across 35 stylesheets findings corrected by live testing

Two users, one screen.

Estimator

An engineer who owns the pricing formulas. Technically savvy. Admin reads as a senior estimator.

Sales

Customer-facing and less technical. Works the post-lock stages: proposal, scope of work, deliver to customer.

The Pipeline

A 16-stage status pipeline with a hard lock at bid_review. Everything after the lock is largely sales territory.

The Tension

Estimator and sales volume is roughly equal, yet the interface speaks the estimator's language throughout.

Then.

Only 15 hardcoded design values across 35 stylesheets. Most products this age carry hundreds. Tarsco does not. A branded, 12-page customer Proposal document that already reads as a finished deliverable. Clear sections, required asterisks, and conditional fields. It shows the team knows how to structure a complex form well. Breadcrumbs work on deep pages, and turbo-prefetch with morph is configured globally for fast, smooth navigation.

Now.

Fourteen findings from walking the running app live under an estimator and sales lens. They cluster into four themes: flow, feedback, safety, and access.

The landing page has no place to start. The dashboard opens with no New Estimate action and no empty-state prompt. Validation happens only on submit. A single missed field surfaces only after submit, forcing a full reload. One estimate view serves two jobs. Engineer pricing and sales customer data share one undifferentiated screen. Adding child records is inconsistent. Some children open in a modal, others as a full page, with no clear rule.
Processing gives no progress or lockout. Actions refuse only after the click. Corrected: users stay in place, not root. Pricing loads blindly, then dead-ends. A bare Loading state, then a calculation error with no cause and no retry. Flash messages vanish in about five seconds. No dismiss control, and errors are styled the same as successes.
Comment delete skips the confirmation. It bypasses the turbo-confirm prompt the rest of the app relies on. Zero results renders a blank page. An index with no matches shows nothing, rather than an empty state. Delete prompts never name the record. They are the least specific copy in the app, unlike duplicate and revise.
The sidebar is a flat list of 14 items. Site, Estimate, and Tank depth collapse into one indicator. No search. Icon-only controls have no accessible name. Screen readers hit raw ligature text where a label should be. No keyboard or focus support. Custom controls fail keyboard use. No main landmark or skip link. Out-of-range status is color only. Values outside spec show as red text alone, with no icon or label.

Validated live.

Two early findings changed after we walked them in the running app. We report what the product actually does, not what the code first suggested.

Form density is acceptable for engineers. The tank edit form holds up live. The real friction is submit-only validation. Processing does not eject users to root. A guarded action returns users to the same page with a transient alert.

Four moves, in order.

Quick wins: render the blank empty state, add the comment-delete confirmation, and make flash messages dismissible. Low effort, immediate polish. A role-aware estimate view: separate the estimator's pricing controls from sales and customer data so each role sees its own job first. An accessibility sweep: ARIA names on icon controls, keyboard and focus support, and non-color status cues across the app. Sales-workflow discovery: validate the sales experience with real sales users before building a dedicated sales landing.

Let's talk.

We recommend a short discovery session with one or two sales users to validate the post-lock workflow before any build begins.

RoleModel Software · rolemodelsoftware.com · July 2026