I build open-source tools that help AI agents handle paperwork.
- CEO, UseJunior (2024-present) -- AI-powered contract review, SOC 2 Type II attested
- Associate Attorney, Ropes & Gray LLP (2019-2024)
- Technical Advisor, Ropes & Gray LLP (2013-2019)
25+ free legal agreement templates with DOCX output. NDAs, cloud service agreements, employment contracts, and more -- fill via CLI or API.
I'd welcome contributions -- if you're a practitioner who'd like to contribute templates, forms, or practice notes, email steven@usejunior.com.
Formatting-preserving DOCX edits for AI agents. Surgical text replacement that keeps styles, numbering, and tracked changes intact.
- #960 -- Implemented the
ParentNode.childrengetter. Shipped in 0.9.9. - #962 -- Backported a regex fix to the 0.8.x branch so
ProcessingInstructiondata preserves trailing whitespace (XML spec §2.6). - #990 -- Added accessors so direct assignment to
CharacterData.nodeValueordatakeeps both properties in sync; bug reported in #989. Merged April 18, 2026.
- #879 -- Added
MoveFrom/MoveTotracked-change support and updatedParagraph::raw_text()so moved text is not emitted twice. Merged April 22, 2026.
- #1478 -- Added PATCH support to the Outlook preset so agents can update drafts and message state via Microsoft Graph; gap documented in #1477. Merged April 23, 2026.
- #1452 -- Reordered steps in
Range.deleteContents()andextractContents()to collapse the range before removals, addressing #1446. Merged March 2026.
- Accord Project (Linux Foundation, DocuSign-backed) -- AI-native legal infrastructure (recording, April 2026)
- Harvard Club of NYC -- AI in Legal Practice (March 2026)
- National Bar Association Conference, Managing Partners Dinner -- UseJunior presentation
- Ropes & Gray Alumni Podcast -- conversation with Ed Black, former Head of AI Strategy on UseJunior and AI adoption in legal workflows (September 2025)
- Harvard Law School, Juris Doctor (2015-2018)
- MIT, SB Mechanical Engineering (2009-2013)
This account, UseJunior, and open-agreements all share a single Ed25519 key as a cross-domain identity binding:
- Key ID:
ed25519:e88cad0abc1ecf1b - Public key:
usejunior.com/.well-known/arp/pubkey.json - DNS-anchored at
arp._arp.usejunior.com(alsoarp._arp.openagreements.organdarp._arp.openagreements.ai) - Registered as a GitHub SSH signing key on this account; the same key signs every commit on this profile.
This is an experimental local profile inspired by IETF draft-deforth-arp-00 (Agentic Reasoning Protocol).




