Ben Blum

Case study

easy-pdf-sign

A static PDF page with no backend. The design keeps the file in the browser.

The live URL is a placeholder until that app is deployed. It is not a running site.

Stack

  • pdf.js
  • Static site

Screenshots

Placeholder screenshot of easy-pdf-sign with a document open. Not a capture of the running app.
Placeholder. Not a capture of the running app. Intended view: document in the browser.
Placeholder screenshot of easy-pdf-sign staying on the device. Not a capture of the running app.
Placeholder. Not a capture of the running app. Intended view: file stays in the browser.

Problem

The low-level design describes easy-pdf-sign as a static app with no backend. The privacy argument in that design is that the file stays in the browser.

Architecture

  • Static files only. Supabase is not part of this app.
  • pdf.js is the document library named in the design. The content security policy for this app needs blob: on worker-src and img-src.
  • The finish spec includes a generic demo PDF. This portfolio does not embed that file.

Decisions

  • No server upload. The design treats the browser-only path as the point of the product.
  • A public copy is a new squashed repository after review. The design mentions draft pull request 1 as work to finish with explicit approval. This page does not merge it.

Tests

The low-level design does not record a test list or a test count for this repository. The shared CI outline is lint, unit tests, and a production build. This page does not claim those commands were run.

Sources

The benforcapita/easy-pdf-sign README was not available while this page was written (the GitHub API responded not found). Behavior beyond the notes above was not filled in.

All projects