A personal PandaDoc is a template editor that fills in a proposal with a pricing table, a private link for the client, a signature pad, and a signed PDF with an audit page. An agent builds that in a weekend. The gaps are trust and plumbing: clients recognise PandaDoc's signing screen, the process behind it is SOC 2 audited with eIDAS options, and CRM sync, payments and email delivery come ready-made. For ordinary contracts a simple electronic signature with recorded consent is widely accepted, but check that for your country and contract type before you rely on it.
Before you buildIf you only need signatures, PandaDoc Free covers 5 documents a month, and DocuSeal or Documenso are free to self-host with no monthly cap.
Build me a proposal and e-signature app to replace PandaDoc. Requirements:
- Node.js 22 + TypeScript: Fastify with server-rendered pages. Admin UI on
http://localhost:4900; client pages under /s/:token on the same server.
- Storage: better-sqlite3 in ./data/docs.db; final PDFs in ./data/pdf/.
- Templates in Markdown (markdown-it) with {{client.name}}-style variables and
a pricing table block: items, quantity, unit price, optional items the client
can tick, discount and tax. Totals update live on the client's page.
- Send: create a document from a template, add 1-3 signers in order, and email
each a link with nodemailer (SMTP settings in .env). Tokens are 32 random
bytes and expire after 30 days.
- Signing page: the proposal as HTML, a consent checkbox, typed or drawn
signature (signature_pad) and a date. Log every open, view and signature
with time, IP and user agent.
- After the last signature: print the page to PDF with Playwright, append an
audit certificate (events plus the document's SHA-256) with pdf-lib, store
the hash, email the PDF to everyone and lock the document.
- Dashboard with draft, sent, viewed, signed and declined; resend and void.
- Single user, no signer accounts, no telemetry, local-first.
- Out of scope: payments, CRM sync, ID checks, qualified e-signatures.
- README: exposing /s/ through Cloudflare Tunnel, and a plain warning that
whether simple e-signatures hold up depends on country and contract type.Opens your agent with the prompt filled in, you press enter. Or copy it and paste it into an empty folder.
The first prompt builds the core. Run these one at a time in the same folder to grow it into your own PandaDoc.
Add payments to the proposal app in this folder. Requirements: - After the last signature, create a Stripe Checkout session for the accepted pricing-table total (STRIPE_SECRET_KEY in .env) and show a Pay now button. - Support a deposit percentage per template instead of the full amount. - A Stripe webhook marks the document paid; verify the signature with STRIPE_WEBHOOK_SECRET. - Develop against Stripe test mode first and say so in the README. - Update the README.
Add read tracking to the proposal app in this folder. Requirements: - Email me the first time each signer opens a document, and again if they come back after 24 hours. - Record time spent per section (by Markdown heading) with a small script that reports visible sections every 10 seconds. - Show the timeline and per-section time on the document's admin page. - Respect Do Not Track: if it is set, log only the open. - Update the README.
Add a template importer to the proposal app in this folder. Requirements:
- Take a .docx exported from PandaDoc and convert it to Markdown with mammoth.
- Turn PandaDoc-style variables like [Client.FirstName] into
{{client.firstName}} and list every variable it found.
- Detect tables with price and quantity columns and offer to turn them into
a pricing table block.
- Show a preview before saving the template.
- Update the README.Sales teams pay because a quote goes from template to signed and paid without leaving the CRM, with an alert the moment the client opens it. Freelancers pay to look professional and for signatures nobody questions, though reviewers often complain about price increases and an editor that slows down on long documents.
Estimate · Running it costs nothing if a tunnel exposes your own machine; a small VPS for always-on signing links costs a few dollars a month. The build is token usage on your agent plan.
| Plan | Monthly | Annual, per month | What you get |
|---|---|---|---|
| Free | $0 | $0 | 5 documents a month, shared across the app, API and MCP; up to 5 templates; signing order, audit trail and the mobile app. |
| Starter | $35 | $19 | Unlimited documents and e-signatures from the app, up to 5 templates, real-time notifications, audit trail. |
| Business | $65 | $49 | Unlimited templates, pricing tables and quotes, payments, content library, custom branding, approval workflows, recipient analytics, CRM integrations, webhooks, up to 3 rooms. |
| Enterprise | custom | — | Adds CPQ, workflow automation, smart content, SSO, team workspaces and notary. |
Free sends 5 documents a month for e-signature, with up to 5 templates and no pricing tables, payments or integrations.
Kinda. The core is a weekend build with the prompt on this page, but real gaps remain: A signing screen clients already recognise and trust, CRM sync with HubSpot, Salesforce and others.
About $35 a month on the Starter plan per seat, $420 a year (checked 2026-10-13).
A signing screen clients already recognise and trust; CRM sync with HubSpot, Salesforce and others; Payments collected on an accepted quote; Per-recipient view analytics and approval workflows; Compliance paperwork: SOC 2, HIPAA, eIDAS options, ID verification. If any of those matter to you, keep paying.
Yes: DocuSeal (open source), Documenso (open source), OpenSign (open source).