← Back to Work
Full-Stack + Automation[PRODUCT][CLIENT WORK]
Countersign
E-signature & approval workflow systemA role-based admin dashboard that runs a document e-signature workflow end to end: generation, approval chains, storage sync, and one shared status view.
- My role
- Built the intake flow and the role-based admin dashboard end to end, including document generation, storage sync, and the correction flow.
- Built with
- Next.js, PDF Generation, Cloud Storage API, Admin Auth
- Status
- Client work
- 2 trackers to 1one shared status view replaced two
- 0 code changesfor day-to-day access management
- Auto-voidedold links when a corrected document is resent
Before
The problem
Signing status lived in email threads and a spreadsheet that drifted out of sync. Fixing a bad submission meant resending by hand and hoping the old copy didn't cause confusion.
The system
How the pieces connect
- Intake formVendor submits
- CRMRecord created
- TemplatingSignable PDF
- DashboardRole-based approval
- Cloud storageSync and track
Simulation
See it run
Client Workspace
Live
Approval Chain
Legal Review
→COUNTERSIGN→
Fully Executed
› Countersignature in progress
Request Queue
Northwind Talent Agreement
PENDINGBluecrest Vendor NDA
PENDING+2 more
SIM: a simplified illustration of how the system behaves, with invented data. Not a capture of the real build.
Step by step
How it works
- 1A submission creates the CRM record automatically. Nothing is re-entered.
- 2The right template fills per document type and becomes a signable PDF.
- 3Role-based access decides who can view or approve each request.
- 4On completion the signed file syncs to storage and the tracker updates in the same pass.
- 5A correction flow fixes a bad submission and voids the old link without breaking the audit trail.
After
What changed
› Access management moved from developer-dependent to self-serve. No code changes needed for day-to-day admin work.
› Resending a corrected document now auto-invalidates the old link.
› One shared status view replaced two disconnected trackers.
Stack
For technical readers
Technical detail
The problem, in detail
› No shared source of truth. Status tracked in email threads and a spreadsheet that drifted out of sync.
› Fixing a vendor's bad info meant manually resending and hoping the old copy didn't cause confusion.
› A team member tracking outreach kept a second, disconnected status tracker, because there was nowhere shared to check.
Build notes
A two-repo system: a public-facing intake flow and an internal admin dashboard, both driving the same signing pipeline.
› Submission triggers a CRM contact record automatically, so nothing has to be re-entered by hand downstream.
› Document generation runs through a templating engine that fills the right fields per document type, then converts to a signable PDF.
› On completion, the signed file syncs to cloud storage and a tracking sheet updates in the same pass. No one is manually renaming files or copy-pasting status into a spreadsheet.
› Role-based access controls who can view or approve requests inside the dashboard, with a dedicated queue for tracking pending access requests.
› Built a correction flow for the failure mode that actually happens in production: a vendor submits the wrong document or a mistyped field. Rather than treating that as a support ticket, the system has a built-in path to fix and resubmit without breaking the audit trail.
› Every piece here is infrastructure the team runs on daily, not a one-off script.