Independent tools, openly made
Make serious work faster without making it harder to trust.
I build local, inspectable systems for the work that survives the meeting: models, data, decisions, and the review paths around them.
Current projects
Presentation CI
SlideFence
A local-first change-assurance CLI for PowerPoint OOXML packages. It makes stored click, hover, and mouse-over actions, external relationship classes, VBA-project presence, and embedded OLE/package/control evidence reviewable without rendering a deck, following a target, or exposing slide text and operational identifiers in CI output.
Presentation research
Presentation Change Assurance Benchmark
An open, deterministic paired-PresentationML benchmark for tools that must review stored PowerPoint interaction and opaque-payload changes, make their findings scoreable, and state their static limits without opening a deck.
Document research
Document Change Assurance Benchmark
An open, deterministic paired-WordprocessingML benchmark for tools that must review stored Word and legacy VML shape hyperlinks, simple and fragmented complex field instructions, DDE sources, persisted document variables, legacy form fields, editable-range permission markup, task-pane Office web-extension and Office 2013 comment metadata, attached-template, mail-merge data-source and recipient-selection settings, XML-save transform, attached-custom-XML-schema, field-recalculation-on-open, template-style-update-on-open, personal-information-removal-on-save, form-data-only-save, preview-thumbnail-on-save, content-control lock declarations, and static OPC package-signature declaration coverage including a standard relationship-type reassignment; subdocument, frameset-source, linked-OLE, linked-picture, direct DrawingML nonvisual visibility declarations, relationship-bound OPC package-thumbnail, and OOXML Markup Compatibility choice-requirement relationships; alternate-format imports, review markup, settings, bound and unbound custom XML, embedded ActiveX control-persistence relationships, and opaque payload changes without exposing targets or opening a document client.
Document CI
DocFence
A local-first change-assurance CLI for Word documents and templates. It records stored content-block changes, hidden review surfaces, sensitivity-label, package digital-signature and static declared package-signature coverage, relationship-bound package-thumbnail, OOXML Markup Compatibility branch and rule-attribute evidence, Word protection, document-variable, DOCVARIABLE-field-reference, HYPERLINK-field-reference, direct Word hyperlink, DrawingML action, nonvisual visibility, and linked-picture markup, legacy VML shape-link, external-image, image-data hyperlink, linked-OLE and embedded-OLE, WordprocessingML linked-object-property and embedded-control-anchor markup, editable-range permission material, document-task and task-pane Office web-extension state, modern-comment metadata, document-property, mail-merge, XML-save transform, attached custom XML schema association, field-recalculation-on-open, template-style-update-on-open, personal-information-removal-on-save, form-data-only-save, and preview-thumbnail-on-save settings, content-control lock declarations and data-binding, conventional custom-XML package data, external-source field, external-document dependency state, embedded payloads, and alternative-format imports without uploading or exposing document material in CI output.
Spreadsheet CI
FormulaFence
A local-first change-assurance CLI for Excel workbooks. It turns a binary spreadsheet diff into a reviewable account of formula changes, downstream impact, hidden controls, refresh behavior, policy failures, and portable browser review artifacts.
Spreadsheet research
Workbook Change Assurance Benchmark
An open, deterministic paired-workbook benchmark for tools that must review spreadsheet changes, show static impact, and state what they cannot establish. Its fixtures are generated from source, not copied from private models.
How I work
- Evidence before hypeStart with a real workflow, test the uncomfortable cases, and show the limits.
- Local control by defaultImportant source material should not need to leave a team’s environment to be useful.
- Policies people can readCritical guardrails belong in reviewable files, not hidden product settings.
Latest note
A batch manifest must not double-count its sources
PDFFence 1.27 catches accidental repeated private source references in batch review without revealing paths or guessing identity.