Skip to content

Quickstart

This guide gets a signer flow running with the current Aoexl product stack.

1. Start The App

bash
npm run dev

Open the app at http://127.0.0.1:5173.

2. Prepare A Document

  1. Open a PDF.
  2. Add signature and initials fields.
  3. Save the document state.

For reusable flows, save the prepared document as a template from the prepare screen.

3. Create A Signing Request

Use the sender flow or call the edge function:

bash
curl -X POST "$SUPABASE_URL/functions/v1/create-signing-request" \
  -H "Authorization: Bearer <access_token>" \
  -H "apikey: <anon_key>" \
  -H "Content-Type: application/json" \
  -d '{
    "documentId": "<document-id>",
    "signerName": "Jane Doe",
    "signerEmail": "jane@example.com"
  }'

When Resend is configured, the app can email the signing link directly.

Signing URLs use this shape:

txt
https://sign.aoexl.com/sign/<token>

If you deploy signing on a different hostname later, set SIGNING_BASE_URL and the generated links will follow that host.

5. Completion Artifacts

On completion, the current product can:

  • append a completion certificate
  • upload the signed PDF to Supabase storage
  • emit a completion webhook
  • store signed URL expiry metadata

Before shipping changes, run:

bash
npm run test:unit --workspace=pdf-esigner
npm run build --workspace=pdf-esigner
npm run smoke:create-request --workspace=pdf-esigner
npm run smoke:bulk-create --workspace=pdf-esigner
npm run smoke:detect-fields --workspace=pdf-esigner
npm run smoke:sequential --workspace=pdf-esigner

Built for product, engineering, and operations teams shipping PDF signing flows.