SnapPDFSnapPDF
← back to showcase
EXAMPLE BUILD — illustrative architecture, not a published case study

ContractPilot

A DocuSign-lite we shipped over a long weekend.

Startup tooling · Bootstrapped · 3 engineers

The build

Replaced DocuSign for simple B2B contracts. 200 envelopes/month, $725/mo DocuSign bill → $79/mo SnapPDF + $0 SignBolt (base tier).

Stack

  • · Remix
  • · PlanetScale
  • · SignBolt
  • · SnapPDF

Architecture

your app/mergeSnapPDF/fill-formSnapPDF/signSnapPDF/protectSnapPDF/metadataSnapPDFdelivery

Ops used: /merge → /fill-form → /sign → /protect → /metadata

How they use SnapPDF

ContractPilot builds internal tooling for startups. Their own contract flow — SOWs, NDAs, MSAs with early customers — ran on DocuSign Business Pro at $65/user × 5 = $325/month, plus envelope overages of ~$400/month on their 200-envelope volume.

The team loved DocuSign's UI for counterparties but resented the cost and the template-editing experience (which required specific DocuSign training and lived entirely inside DocuSign's UI, not in version control).

Over a long weekend, the three engineers shipped a replacement using SnapPDF + SignBolt. Templates live as PDFs in their git repo, reviewable by counsel as GitHub PRs. The flow:

1. SnapPDF merge: cover + body + exhibits into a single PDF. 2. SnapPDF fill-form: pre-populate client name, deal value, dates from their CRM. 3. Hand off to SignBolt for counterparty signing (retains the polished signing UX that DocuSign offers). 4. On signature completion (SignBolt webhook), SnapPDF sign with their CFO's typed signature, SnapPDF protect with AES-256, archive to S3 with metadata-tagged contract ID.

Result: $646/month saved, templates now reviewable in PRs (counsel gets a diff instead of a DocuSign admin login), and contracts close 22% faster on average (no waiting for DocuSign's UI to render envelope flows).

The hardest part was deciding not to over-engineer it. The first draft had an in-house signing UI; they deleted it and went with SignBolt for the counterparty side. That decision — combine SnapPDF for prep + SignBolt for signing — is now their standard recommendation to other startups.

Outcomes

Monthly cost
$725 → $79
Time to send template
30 min → 2 min
Close time
–22%
Legal review
via GitHub PR

Integration pattern

A simplified excerpt showing the core SnapPDF calls.

// apps/contracts/src/flows/send-sow.ts
import { SnapPDF } from '@snappdf/sdk';
const snap = new SnapPDF({ apiKey: process.env.SNAPPDF_KEY! });

export async function sendSOW(deal: Deal) {
  // 1. assemble
  const { pdf: merged } = await snap.pdf.merge({
    files: [COVER_TEMPLATE, SOW_TEMPLATE, deal.exhibits.map(e => e.url)].flat(),
  });

  // 2. pre-fill from CRM
  const { pdf: filled } = await snap.pdf.fillForm({
    file: merged,
    values: {
      client_name: deal.company,
      deal_value: formatUSD(deal.amount),
      effective_date: deal.startDate.toISOString().slice(0, 10),
      project_description: deal.scope,
    },
    flatten: false,
  });

  // 3. hand off to SignBolt
  const envelope = await fetch('https://api.snappdf.dev/api/v1/signbolt/handoff', {
    method: 'POST',
    headers: { Authorization: 'Bearer ' + process.env.SNAPPDF_KEY },
    body: JSON.stringify({
      file: filled,
      recipients: [{ email: deal.contactEmail, name: deal.contactName, role: 'signer' }],
      subject: `SOW — ${deal.company}`,
    }),
  }).then(r => r.json());

  await db.deals.update(deal.id, { envelopeId: envelope.id, status: 'sent-for-signature' });
}

Start building like this

Free tier gives you 100 ops/month — enough to prototype any of the flows on this page. No card required.

Other builds