travishatfield.dev/work
← Back to AI-Assisted Projects

Contractor Management: From Request to Signed Contract

Status
41 tests · built May–September 2026 · live, internal
Stack
Next.jsSlack Workflow BuilderGoogle SSODocuSign

Landing page — the entry point for anyone starting a new contractor request.

01 — The problem

Bringing a contractor on used to live in a policy doc: fill out a template, email Finance, email HR, and wait for the right executive to notice the thread. Nobody could tell where a request actually was without digging back through everyone's inbox.

02 — What it does

A guided intake form walks the requester through contractor details, scope, budget, and department in a few steps. The app assembles an approval chain automatically for each request, routes it through Slack, generates a completed NDA and Consulting Agreement once approved, and lets People Ops withdraw a request without erasing its history.

03 — Design & technical approach

The approval chain is data-driven rather than hardcoded: it's assembled per request by mapping the contractor's department to the right executive, then Finance, then People Ops, then IT/Security only when the scope needs system access. Any step can be reassigned without a code change. Notifications run through Slack Workflow Builder instead of a bot token, which kept the whole thing shippable without an IT ticket. Document generation from the approved request straight into DocuSign removes a manual re-entry step that used to be its own source of errors.

04 — Outcome & impact

I can tell within a minute where any request is stuck instead of digging through inboxes. Notifications run through Slack Workflow Builder rather than a bot token, so nothing needed an IT ticket to stand up. A withdrawal feature lets People Ops close a request that stopped being real without deleting the record — it stays visible, closed, with the reason on it, and reopening puts the chain back in play.

Every screen, explained

A closer look at each part of the app, in the order you'd actually move through it.

Case list — every request at a glance, with status so nobody has to ask where it's stuck.
New request wizard — captures scope, budget, and department in a guided flow.
Override mode on a case awaiting review — shows exactly who's holding it up.
Permissions and roles — the full team directory that drives who approves what.
A fully approved case — flat-rate terms and a document-action banner ready for DocuSign.
A withdrawn request — closed with its reason intact rather than deleted.