Pendantv1.0.1

Patent and Trademark Docketing Software for a Small Practice

Why Pendant? Named for the firm emblem it was built for: a gold and enamel pendant.

Runs on: A web server with PHP 8.1+ and SQLite (Linux, macOS or a shared host). Python 3 optional, for letters and forms.

✨ Install with Claude's help

Not sure how to install this? Let an AI assistant walk you through it, step by step, on your own system.

  1. Copy the instructions below.
  2. Open Claude (a free account works) and paste them in.
  3. Answer its questions and follow along, doing the typing yourself.

Claude in a web browser cannot reach your computer: it reads the instructions, asks about your system, and tells you what to type and what each command does, one step at a time. You stay in control of everything that actually runs.

Using Claude Code? That is the version that runs in a terminal on your own machine, so it can do the downloading and installing itself, asking before each step. Paste this into it instead:

Open in Claude Code ↗needs the Claude Desktop app

Watch the 5-minute demo

Pendant: patent and trademark docketing

Pendant dashboard: overdue and upcoming deadlines, with Done and Cancel on each row

Docketing for a small patent and trademark practice. Pendant keeps every matter's deadlines, reads USPTO notices, proposes when a deadline has been met, and drafts the client emails and letters that go with each step. One PHP app with one SQLite file. It has no framework and no build step.

What it does

Requirements

Install

tar xzf pendant-.tar.gz && cd pendant- ./install.sh # checks requirements, writes config.php + firm.php, creates the database and your admin login ./run.sh # try it at http://127.0.0.1:8090

Then:

  1. firm.php sets your firm's name, phones, web sites, e-mail domains, USPTO customer number and signing attorney. These details appear in page titles, email signatures, letters and forms.
  2. config.php holds the USPTO API keys, more users (role = admin or staff), and per-user signatures. Leave mail_mode at outbox (nothing is sent) until the templates are approved and you have tested a send. Then change it to live.
  3. Templates (Advanced → Templates) are seeded from one firm's actual wording. Read each one, edit it to suit you, and approve it.
  4. Letterhead. templates/*.docx are plain letters with empty headers. Open each one in Word, add your letterhead and logo to the header, and keep the body's labels (Re:, Subject:, Dear, Sincerely,), because the fillers look for them.

Serving it

Point the web server's document root at web/. That folder holds only index.php and two images. The config, the database and the code stay outside it.

Use HTTPS. Pendant has its own sign-in, so it does not need HTTP auth.

Add the jobs to the crontab of the user that owns the folder:

30 5 * * * php /path/to/pendant/bin/nightly.php --email=you@example.com # USPTO sweep, reminders, morning report, backup 15 * * * * php /path/to/pendant/bin/hourly.php # Gmail intake, Dropbox index, receipts, Office Actions 0 6 * * * php /path/to/pendant/bin/heartbeat.php --email=you@example.com # e-mails you if a job did not run

Optional connections

Your data

Everything lives in data/: the database, reports, attachments and Dropbox tokens. Keep that folder private and back it up. The nightly job writes copies to backup_dir.

Please test before relying on it

This is shared as-is, with no warranty. It works on my own computers, but your system, settings and software versions may differ, so please try it in a safe setting first. If something doesn't work, you can ask Claude (or another AI coding assistant) to look into it, and I'd appreciate hearing what you found and how you fixed it. You are also welcome to just let me know at support@veered.org, and I'll look into it.

License

MIT. The blank USPTO forms in templates/forms/ are U.S. government works; Lexend is under the SIL Open Font License.

Information for nerds: the source code

Everything this project is made of, as committed: the code, its README files and its license. No build step or account needed to read it.

⬇ Download source (.zip)

pendant-patent-docketing.zip · 2.4 MB · released under the license stated on this page.

Please test before relying on these tools. They are shared as-is, with no warranty. They work on my own computers, but your system, settings and software versions may differ, so please try them in a safe setting first. If something doesn't work, you can ask Claude (or another AI coding assistant) to look into it, and I'd appreciate hearing what you found and how you fixed it. You are also welcome to just let me know at support@veered.org, and I'll look into it.