← All work
Trade workflow / GitHub App

Extra Work Approval

Agree on the extra work before it starts. A focused scope, additional price, customer response, and versioned record for the contractor's next change request.

Deployed · synthetic workflow verified

Fictional fencing example · $350 additional · one additional working day. Illustrative playback makes no live customer decision and sends no message.

Fictional fencing walkthrough · illustrated approved branch · no live actions~71 seconds · silent
ILLUSTRATED PROCESS

One extra request, written clearly

01FENCE-104 · fictional job→
02One matching timber side gate→
03Gate, hinges, latch and installation→
01 / 08
One extra request, written clearly

Fictional work order FENCE-104: Morgan Example asks Juniper Fence Co. for a side gate during the garden-fence job. The app itself always starts blank.

Reduced motion is on. Use the scene controls to explore the complete story at your own pace.

Read the complete step-by-step story
  1. One extra request, written clearly

    Fictional work order FENCE-104: Morgan Example asks Juniper Fence Co. for a side gate during the garden-fence job. The app itself always starts blank.

  2. The added amount and timing

    $350 is a fictional additional amount, not a recommended market price or original contract total. This sample explicitly declares one additional working day; the entered tax amount is $0.

  3. Review before publishing

    The read-only preview shows the scope, included work and exclusions together. No powered opener, lock installation, painting or changes to the remaining fence are included. Private owner notes are excluded.

  4. Publish a specific version, then copy

    This illustrated step freezes version 1 and shows the customer-link copy action. The portfolio sends no message and contains no functional customer or management token. Copying is not delivery.

  5. A calm document on the customer's phone

    The customer reviews the exact scope, $350 additional amount and one additional working day. Approve, Request changes and Decline remain visible. Playback does not submit a live response.

  6. A deliberate approval

    In this sample, Morgan Example types their name, checks an initially unselected acknowledgment of the scope, additional amount and timing, then confirms the response. A typed name is a declaration, not verified identity.

  7. The server response establishes the result

    The actual product displays a receipt only after a committed server response. This illustrated receipt represents Approved for FENCE-104 version 1; it is not an actual customer's approval or a live provider event.

  8. Keep the version and response together

    The contractor refreshes the ledger, exports the stored record, and can use browser Print / Save as PDF. Hosted retention is limited; keep your own copy. An approved request is not money collected or proof of payment.

01 / THE PROBLEM

What needed to work better.

A customer's while-you-are-here request can leave extra scope, added cost and timing scattered across a conversation before either person has a clear record.

02 / AARON'S CONTRIBUTION

Design the connection.

Aaron defined a narrow contractor-to-customer workflow and directed the product's private access boundary, immutable versions, response clarity and distinctive work-order notebook design.

03 / THE SOLUTION

A deliberate flow.

The contractor prepares one change request with scope, price and declared timing, publishes a private review link, and keeps the customer's response connected to that exact version.

Explore the architecture & technologies
  1. Blank work-order composer
  2. Private owner workspace
  3. Immutable published version
  4. Scoped customer response
  5. Version history and export
ReactTypeScriptViteCloudflare WorkersCloudflare D1
THE APPLICATION

Explore the actual build.

Application screenshots with fictional data. Read each caption for its context; open an image to inspect the details.

Fictional fencing request in the Extra Work Approval work-order composerInspect workflow ↗
01 / Original local application capture: a fictional $350 side-gate request with one additional working day.
Read-only customer preview with additional scope, price, exclusions and timingInspect workflow ↗
02 / Original local application capture: the read-only preview keeps scope, $350 additional and timing together.
Private customer phone document showing all three response choicesInspect workflow ↗
03 / Original local application capture: the fictional customer can approve, request changes or decline.
Server-recorded approval receipt for a fictional side-gate versionInspect workflow ↗
04 / Synthetic local Workers/D1 verification: the committed approval stays with version 1. This is fictional customer data.
Private contractor ledger showing the stored synthetic approvalInspect workflow ↗
05 / Original local application capture: the owner refreshed the ledger and exported the same stored response.
Fictional declined customer response attached to the published requestInspect workflow ↗
06 / Synthetic local Workers/D1 verification: Declined is recorded without granting approval.
Fictional customer change request asking for a latch accessible from both sidesInspect workflow ↗
07 / Synthetic local Workers/D1 verification: a requested change is recorded; a revised version needs a fresh decision.