Personal Project · Research & Information Analysis
NarroVue

Applying structured methodology and source verification designed for longitudinal monitoring to show how institutions communicate publicly.


About

Built it.

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.

Type Independent, self-directed project
Domain Civic & institutional research, information analysis
Location New Jersey

Projects

What I built.

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.

Live Tool Rhetorical Analysis

Rhetorical Fingerprint Analyzer

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.

🟢 Live. Runs on Hugging Face Spaces. No login required.
Framework Gradio · Python
Hosted Hugging Face Spaces
Scoring Lexicon-based, normalized per 1,000 words
Six-category rhetorical score table
Color-coded word highlighting
Side-by-side passage comparison
Auto-generated insights
Prototype Policy Monitoring

Unified 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.

Prototype pipeline, built on Project 2025's "Mandate for Leadership" (740 sections, 7,397 segments). Not in production use.
Format Jupyter Notebook (Python)
Models bart-large-mnli, all-MiniLM-L6-v2, distilbert-sst2
Clustering BERTopic + KMeans
Output .parquet CAO + .docx tiered reports
Three-tier .docx intelligence reports
Canonical Analysis Object (.parquet + JSON)
Network graph export (.graphml)
Topic summary and target CSVs
Prototype Immigration

ICE & Immigration Law Monitor

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.

Prototype pipeline, built on RSS feeds from SCOTUSblog, ACLU, ProPublica, and related sources. Can be run daily, weekly, or monthly. Not a deployed service, not in production use.
Ingestion RSS/feedparser across 10+ sources
Libraries feedparser, pandas, networkx
Entities tracked 6 (ICE, DHS, DOJ, SCOTUS, ACLU, White House)
Structured HTML brief
Court ruling, incident, and policy logs
Overreach category tagging
Prototype Public Health

Public Health Compacts Monitor

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.

Prototype pipeline. Can also be run daily, weekly, or monthly. Not a deployed service, not in production use.
Format Jupyter Notebook (Python)
Visualizations Alliance network graph, membership chart
Output HTML dashboard + weekly brief
Interactive HTML dashboard
Alliance network visualization (.png)
Structured briefs
Archived Document Recovery

Document Restoration Tool

OCR-based restoration pipeline for degraded or scanned records. Evolved from Tesseract wrapper to iterative restoration system with image preprocessing and quality assessment.

📦 Complete. Built for any historical records.
Format Jupyter Notebook, 4 versions
Engine Tesseract OCR + image preprocessing
Libraries pytesseract, PIL, pdfplumber
Structured text extraction
Quality scoring per page

Research

Self-archived working papers

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.

01
Computational Linguistics

From Text to Structure: Cross-Document Narrative Analysis Using AI-Assisted Semantic Signal Extraction Working Paper

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.19470453
02
Policy Analysis

Manufactured Authority and Narrative Engineering in Policy Documents Case Study

A 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.19470618

Technical Stack

What the work runs on.

Selected by the model during the build; I reviewed the choices.

Core language
Python 3 Jupyter
Data
pandas numpy parquet
NLP / ML
sentence-transformers BERTopic transformers spaCy scikit-learn
Models used
bart-large-mnli all-MiniLM-L6-v2 distilbert-sst2
Graph / network
networkx graphml
Document / ingestion
pdfplumber python-docx feedparser pytesseract
Output / reporting
matplotlib HTML/CSS
Infrastructure
Jupyter (local) PyCharm Gradio Hugging Face Spaces
Archival
Zenodo DOI registration

Contact

Email or call for more information.

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.