Renewal tracking for small businesses

Never miss a renewal.

Upload a licence, contract, insurance policy, permit or certification. Lapse reads the dates for you, you confirm them, and it emails reminders 60, 30 and 7 days before anything expires.

The demo gives you a private workspace in your browser. Nothing to install.

Your documents Soonest expiry first
  • Fire Safety CertificateLagos State Fire and Rescue Service 5 days left
  • Business Premises PermitLagos State Ministry of Commerce 25 days left
  • Tax Clearance CertificateFederal Inland Revenue Service 92 days left
Reminders go out at 60, 30 and 7 days.

The problem

Expired paperwork is expensive.

A typical small business holds a dozen documents that quietly expire: tax clearance and company filings, fire safety certificates, insurance policies, premises permits and leases. The dates are buried in PDFs and phone scans, nobody owns the calendar, and one missed renewal can mean a fine, a sealed shop or an uninsured loss.

Dates hide in documents

Some documents print an expiry date. Others only say “valid for twelve months from the date of issue”, and someone has to do the maths.

Nobody owns the calendar

Renewals come round once a year, often long after whoever filed the paperwork has moved on to other work.

Lapses cost real money

Penalties, lost contracts that require valid certificates, and claims refused because the cover had already lapsed.

How it works

Four steps, then you can forget about it.

  1. 1

    Upload

    Drop in a PDF or a photo. It goes straight to private storage through a short-lived upload link.

  2. 2

    Lapse reads it

    AI extraction finds the document type, issuer, parties and every date, along with the exact quote each date came from. “Valid for 12 months” becomes an expiry date, calculated in code rather than guessed.

  3. 3

    You confirm

    Nothing is scheduled until you’ve checked the details against the document and fixed anything that’s off.

  4. 4

    Reminders go out

    Email reminders 60, 30 and 7 days before expiry, plus an in-app feed so nothing is missed if an email is.

Architecture

Serverless on AWS. Nothing runs while it’s idle.

Every component is pay-per-use, defined in Terraform and deployed to us-east-1. Each Lambda function has its own least-privilege IAM role.

Browser ─► API Gateway (HTTP API) ─► Lambda ─► DynamoDB
Browser ─► S3 (presigned upload) ─► ObjectCreated ─► Lambda ─► Bedrock ─► DynamoDB
EventBridge Scheduler ─► Lambda ─► SES email + in-app feed
Amazon API Gateway + AWS Lambda
HTTP API with one Node.js 22 function per route on Graviton (arm64).
Amazon S3
Private document storage. Browsers upload directly with presigned URLs, and each upload triggers extraction.
Amazon Bedrock
Claude reads each document and returns structured fields with evidence quotes. It escalates to a larger model when confidence is low, with Amazon Textract as the fallback.
Amazon DynamoDB
Single-table design with on-demand capacity and point-in-time recovery.
Amazon EventBridge Scheduler
One-time schedules for each reminder, deleted automatically after they fire.
Amazon SES
Reminder emails, also recorded to an in-app notification feed.
Amazon CloudWatch + AWS X-Ray
Structured logs, traces and custom metrics through Powertools for AWS Lambda, with a dashboard and alarms.
Terraform
All infrastructure as code. State is kept in S3 with native locking.

See it with your own documents.

Upload a permit, certificate or policy and watch Lapse find its dates.

Try the demo