A full-stack internal tool for writing, managing, and publishing smart contract security audit reports.
Paladin audits smart contracts and delivers formal PDF reports to clients. Each report has a cover page, a findings section with severity-ranked issues, resolution tracking across multiple audit rounds, and client-facing notes. Before this tool existed, that probably meant Word docs, manual formatting, and hoping nothing got out of sync between the fifth finding and the third resolution round.
I built a web editor that handles the whole thing. Editors log in, create a report, and fill out metadata, contracts, and security issues in a sidebar with rich-text fields and drag-and-drop ordering. Everything autosaves. When two editors are in the same report, they see each other’s presence in real time, and optimistic locking prevents them from overwriting each other’s work.
PDF export runs through Puppeteer. The print page does careful height estimation to pack content across A4 pages without splitting issue cards mid-card or leaving orphaned table rows. It’s finicky work, but it means the output looks like a real professional document instead of a browser print dialog disaster.
Each report gets a shareable public link with an optional password. Clients open it, read through the findings, leave comments per issue, and submit fix statuses with commit URLs. There’s a separate issue tracker view for responding to everything at once. Admins can reply to comments directly from the viewer.
Version header on every save catches concurrent edits and throws a 409 before data gets clobbered
1.5s debounce, runs silently. Editors don't touch a save button.
Spawned as a child process, captures the print page with authentication baked in, streams the PDF back.
Tracks multiple rounds of fixes with per-issue statuses (resolved, partially fixed, acknowledged, failed).
Shareable link, scrypt-hashed passwords, HMAC-signed cookies, rate-limited auth attempts.
One-shot batch submission view where clients respond to all findings with fix statuses and commit URL.
User management, editor-to-report assignments, message template editor.
Next project
Super Events Calendar WordPress Plugin