Applying structured methodology and source verification designed for longitudinal monitoring to show how institutions communicate publicly.
I built NarroVue using LLMs as my primary implementation tool. I don't write the code myself. What I do is frame the research question, direct the build, verify the output, and document the method.
The hard part was knowing what to build, breaking a problem down so a model can actually execute it, catching where the output is wrong or just plausible-sounding, and writing the process clearly enough so that I can re-run it.
The skill here is the part people underestimate: framing the problem and sequencing the build. The pipeline ran on a cross-model loop: one LLM wrote each stage, a second reviewed it, and I read the disagreements. I caught most of the errors by noticing when one model's code failed or didn't match the output I actually wanted. An experienced engineer would catch failure modes I'll miss; that's a real limit and I'm not hiding it. But the boundary runs both ways: the work of deciding what to build doesn't disappear just because someone else writes the code. It's just a different job.
Below is the live analyzer you can test yourself, right now, with no login. The rest of this list is end-to-end builds behind it: pipelines that ingest, classify, and produce real data, covering source evaluation, structured classification, longitudinal tracking, and document recovery.
Paste any two speeches, policy documents, or news coverage text and the analyzer scores each across six rhetorical dimensions: Power, Threat, Moral, Urgency, Us vs. Them, and Legitimacy. Every contributing word is highlighted in context. This is the lexicon scoring engine that runs underneath the Narrative Intelligence Pipeline.
End-to-end pipeline for processing policy documents into a structured Canonical Analysis Object (CAO). Ingests PDFs, chunks and embeds text, runs topic clustering via BERTopic, applies NLI-based rhetorical scoring across six dimensions, and produces three tiers of formatted intelligence reports. Designed for reproducibility, the CAO persists so reports regenerate instantly.
bart-large-mnli, all-MiniLM-L6-v2, distilbert-sst2
RSS-based monitor tracking ICE enforcement incidents, court rulings, and executive policy actions. Ingests from curated sources (SCOTUSblog, ACLU, ProPublica, etc.), structures events by overreach category and produces a formatted weekly brief.
feedparser, pandas, networkx
Similar RSS-based monitor tracking interstate public health compacts including membership dynamics, narrative volatility, and alliance network structure. Includes visualized network graphs and brief covering policy signal shifts.
OCR-based restoration pipeline for degraded or scanned records. Evolved from Tesseract wrapper to iterative restoration system with image preprocessing and quality assessment.
pytesseract, PIL, pdfplumber
Two self-archived documents on the framework behind NarroVue. The first describes how the pipeline models a body of documents as a network of claims. The second applies that framework to a single corpus and argues a position about what it finds. Both are archived on Zenodo, which issues a permanent DOI but does not review the work. Neither is peer-reviewed, and the argument in the second paper is mine, made from my own analysis.
Introduces Semantic Signal Analysis (SSA), the computational framework underlying NarroVue's pipeline. SSA models discourse as a network of claims rather than operating at the document or sentence level, enabling structural analysis of narratives across heterogeneous corpora.
DOI: 10.5281/zenodo.19470453A case study of Project 2025's "Mandate for Leadership." The paper argues that the document's rhetorical center is the restoration of presidential authority rather than cultural grievance — a reading that cuts against how it was often described publicly — and that it advances that case through thousands of falsifiable claims while citing specific evidence in fewer than a third of them.
DOI: 10.5281/zenodo.19470618Selected by the model during the build; I reviewed the choices.
This project is the clearest evidence I can offer of how I work: define a question, gather and verify sources, structure the evidence, document the method so someone else could reproduce it, and communicate what I found. I like tracing why a build went wrong. The habits I bring are close reading of long documents, source collection and organization, checking claims against primary material while I read, and version-tracking my builds so I can show how a project evolved.