01 · The problem
Proof approvals lived in email threads.
[Describe the printing client's situation: how proofs were sent and approved before, what went wrong — missed changes, delays, reprints — and what it cost them.]
02 · The approach
A drop-in widget, built like payments infrastructure.
Instead of another portal customers have to log into, ProofKit embeds into the print company's existing order page — the same way a payment form does.
- Multi-tenant by design — PostgreSQL row-level security keeps each print company's data isolated.
- Signed order tokens — JWTs tie every proof link to one order, so customers approve without an account.
- India-first billing — Razorpay Subscriptions for plans, Resend for proof and approval emails.
- Three focused codebases — backend, embeddable widget and marketing/web app, each deployed on its own.
03 · How it fits together
tenant sitePrint shop
embedWidget
Node.jsAPI
RLSPostgreSQL
billingRazorpay
04 · Results
[XX]%
faster proof turnaround
[XX]
proofs approved in the first month
[X]
print companies onboarded
“[Quote from the anchor print-company client.]”