Back to selected work
Local-first document workflowCommercial product Evidence reviewed 2026-07-16

SignKit

A desktop workflow for extracting handwritten signature images, cleaning them, and placing them into PDFs without requiring sensitive files to be uploaded to a server.

Primary user

People and small teams handling signature images inside sensitive, file-heavy document workflows.

My role

Product owner and hands-on builder across workflow design, desktop UX, image processing, PDF handling, packaging, and sales iteration.

Current outcome

Moved from a recurring workflow problem to a paid desktop product with early customer validation.

Visual evidence

SignKit local workflow from source document through signature selection, cleanup, local storage, and PDF placementWorkflow map
Workflow map of the current local-first product boundary. It explains the operating path and is not presented as an application screenshot.

What exists now

Current implementation boundary

This list is intentionally narrower than a product roadmap. It describes the current working surface used for this case study.

Local desktop file handling

Signature-image extraction and cleanup

PDF placement workflow

Cross-platform Python/Qt application surface

Commercial distribution and customer feedback loop

Key product decisions

Judgment is more useful than a technology list.

01

Keep document processing local.

The workflow involves sensitive PDFs and direct filesystem access; privacy and user control are part of the product value.

Trade-off

Desktop packaging, updates, and platform-specific behaviour are harder than a web uploader.

02

Treat signatures as visual assets, not certified e-signatures.

The product solves extraction and placement. It does not claim identity verification or legal-signature certification.

Trade-off

The scope stays honest and useful, but excludes regulated e-signature verification.

Constraints

  • No cloud upload as the default workflow
  • Imperfect scans, photos, and mixed backgrounds
  • Desktop reliability for non-technical users

Technologies used

PythonPySide6OpenCVPyMuPDFQt

Working mechanism · synthetic by default

Operate the browser-local image cleanup mechanism.

Adjust threshold, transparency, and crop against a synthetic signature scan or a local image without sending the file to a server.

Try local image cleanup