Live demo: https://robfernan.github.io/Paperworks/
Paperworks is a free, offline-first document and business automation suite. Create invoices and proposals, ATS-friendly resumes, and print-ready business cards, and fill, sign, and mark up PDFs — in the browser or via the Chrome Extension, with no account and zero file uploads.
Web is live. Manifest V3 Chromium Extension is built and available. Native desktop and mobile packaging is in progress (coming soon).
If Paperworks is useful, a star helps other people find it.
These captures are the live web app. Native desktop and mobile builds are not released yet.
| Invoice Studio | PDF Pro |
|---|---|
![]() |
![]() |
Paperworks is a document workstation that runs offline in the browser, with no cloud account and no remote telemetry. It includes visual layout tools, Word .docx export, print-ready PDFs, and PDF annotation.
The web app is live, including an installable PWA: open the demo. Native desktop (Wails) and mobile (Capacitor) packaging is in progress and coming soon — those apps are not shipped yet.
Documents are compiled in the browser with pdf-lib and jsPDF, instead of being uploaded to a third-party PDF service.
| Principle | How Paperworks protects you |
|---|---|
| Local processing | PDF manipulation, text extraction, and invoice calculations run on your device. |
| Local storage | Invoices, resume drafts, and business cards persist in browser IndexedDB. Native filesystem storage (data/blobs) is part of desktop packaging, which is coming soon. |
| Data you can take with you | JSON backup export and import moves the vault without a vendor account. |
| Flattened PDFs | Signed and stamped documents can be flattened into the page so the marks stay on the file. |
- Service and product catalog: Save preset goods and services with SKUs, descriptions, and default rates for one-click line items.
- Multi-currency: Switch among
$,€,£,¥,CHF,C$,A$, and₹. - Deposits and balance: Log partial payments, tax rates, and discounts with a live balance due.
- Sign in PDF Pro: One-click bridge that pushes the rendered invoice directly into PDF Pro for digital signing, stamping, and checkmarks.
- PDF and Word export: Print-ready PDFs and editable
.docxfiles with financial tables.
- Local vector engine: In-browser canvas rendering via bundled
pdfjs-distand native vector output withpdf-lib. Zero external network calls. - Click-to-Type with Auto-Shrink: Type anywhere on flat or scanned forms. Text dynamically scales down to fit bounded box dimensions.
- Baseline alignment: Snaps typed entries onto underlying printed form lines for professional contract filling.
- Vector Checkmarks & Crosses: Place checkmarks (✓) and crosses (✕) with crisp, resolution-independent vector rendering.
- Digital Signatures & Initials: Draw or upload signatures and initials to stamp onto signing blocks.
- Pre-populated Sample Document: Instant 2-page non-fillable contract template to test typing, checkmarking, and signing.
- One-Click Flattening: Permanently bakes all text fields, vector marks, and signatures into the PDF stream before downloading.
- Automatic PDF Interception: Detects
.pdfURLs andapplication/pdfMIME types, offering an in-page banner to jump straight to the editor. - Context Menu: Right-click any PDF link or open document and select "Open and Fill in Paperworks".
- Extension Popup: Quick drag-and-drop zone to open and fill any PDF directly.
- Single-column layouts aimed at applicant tracking systems.
- Type styles: Modern sans (Inter), executive serif (Georgia/Times), and technical mono (Courier).
- Themes: Modern Sky, Classic Slate, Executive Blue, Minimalist Mono, and Forest Emerald.
- Sign in PDF Pro: Send generated resumes directly to PDF Pro to initial and sign before submission.
- PDF and Word export.
- Print bleed: Commercial 3.75" × 2.25" sheets with corner crop marks and a 0.125" safety margin.
- Nudge controls: Small X/Y adjustments with snap-to-grid alignment.
- Stock finishes: Studio White, Bone Stock Ivory, Eggshell Linen, Obsidian Luxury, and Brushed Platinum.
- Point-in-time snapshot timeline for undo and redo.
- Searchable archive of created documents, with backup and restore.
| Capability | Paperworks | Canva Pro | Adobe Acrobat Pro | Smallpdf |
|---|---|---|---|---|
| Price | Free (MIT) | Paid subscription | Paid subscription | Paid subscription |
| Where files are processed | On your device | Cloud upload | Adobe cloud | Cloud upload |
| PDF annotation and sign | Included | Limited | Yes | Limited |
| Chrome Extension (MV3) | Included | None | Yes (Cloud) | Limited |
| Resume builder | Included (.docx + PDF) | Design-heavy layouts | None | None |
| Itemized invoices | Included (.docx + PDF) | Basic templates | None | None |
| Commercial print bleed | Included (0.125") | Pro only | InDesign | None |
| Command palette (⌘K) | Included | None | None | None |
┌─────────────────────────────────────────────────────────────────────────────┐
│ Paperworks Presentation Layer │
│ React 18 • TypeScript • Tailwind CSS • shadcn-ui Components │
└──────────────────────────────────────┬──────────────────────────────────────┘
│
┌──────────────────────────────────────▼──────────────────────────────────────┐
│ Unified Document Core & Command Engine │
│ • Universal Command Palette (Ctrl+K / ⌘K) │
│ • Deep Undo/Redo Transaction History (Ctrl+Z / Ctrl+Y) │
│ • PDF Pro Local Engine (pdfjs-dist + pdf-lib Vector Graphics) │
│ • Autosave Snapshot Timeline (IndexedDB v3 Stores) │
└──────────────────────────────────────┬──────────────────────────────────────┘
│
┌──────────────────────────────────────▼──────────────────────────────────────┐
│ Platform Storage Bridge Abstraction │
│ (src/lib/platformBridge.ts) │
├───────────────────────────────┬───────────────────────────────┬─────────────┤
│ Chrome Extension (MV3) · ready│ Desktop · coming soon │ Web · live │
│ Service Worker & Interceptor │ Wails packaging, in progress │ IndexedDB │
│ dist-extension/ │ (not released yet) │ blob store │
└───────────────────────────────┴───────────────────────────────┴─────────────┘
The web build is the released product. Wails and Capacitor adapters in this repository are packaging work, not shipped apps.
# Clone repository
git clone https://github.com/robfernan/Paperworks.git
cd Paperworks
# Install dependencies (Node or Bun)
npm install # or bun install
# Start local Vite development server
npm run dev # or bun run dev
# Run unit tests and type checks
npm run test
npm run typecheck
# Build both Web PWA and Chrome Extension
npm run build:all- Run
npm run build:extension(outputs todist-extension/). - Open Chrome or Chromium and navigate to
chrome://extensions. - Enable Developer mode in the top right corner.
- Click Load unpacked and select the
dist-extensionfolder inside this repository. - (Optional) Enable “Allow access to file URLs” in the extension details to intercept local PDF files.
Or skip the clone and use the live demo.
Licensed under the MIT License. See LICENSE.


