Shareholder Lens
Turning financial disclosures into clear, source-backed investor communications. I built a workspace that connects financial documents, structured analysis, investor briefs and communication drafts, with claim verification and human approval built into the workflow.
- Next.js, React, TypeScript, PostgreSQL, Drizzle

Financial communication takes interpretation: what changed, why investors might care, and where the supporting evidence comes from.
Shareholder Lens in action
Read the walkthrough
- Shareholder Lens connects financial documents, analysis, and investor communications.
- Start with filings and spreadsheets, keeping extracted figures organized.
- Read key developments and investor implications in a plain-English brief.
- Trace each figure to its source document, page, and row.
- Review communication drafts with highlighted claims and verification alongside.
- Human approval follows claim review. Publishing in this academic prototype is simulated.
One working record
I built Shareholder Lens to keep that interpretation connected to its evidence. A financial document becomes a structured record; that record supports an investor brief; the brief becomes a draft someone can inspect, edit and approve.
Public academic prototype: demo data is fictional. Narrative generation currently uses deterministic templates over extracted financial figures, with no live model generation configured. Publishing is simulated and sends no email or social posts. Approved TXT and HTML document exports are available.
From disclosure to communication
Establish the evidence
Upload filings, earnings releases, transcripts or financial spreadsheets. The extraction pipeline records figures with their document, page and row references so the source remains available during review.
Understand the movement
Deterministic calculations compare reporting periods, margins, guidance and segment mix. Each result retains its inputs and arithmetic. Materiality scoring helps prioritize the developments to investigate.
Read the investor perspective
The quarterly overview brings performance and review priorities together. Intelligence turns the record into a plain-English brief, with expandable explanations of why a movement matters and a sources rail for the evidence behind it.
Draft, verify and approve
Content Studio prepares newsletters, FAQs, talking points and other formats from a shared narrative. Claim highlights connect the draft to evidence. Unresolved claims or stale verification block approval; editing approved text returns it to draft for review.
Engineering the chain of evidence
My contribution spans the product architecture and the interface: document ingestion, financial calculations, structured briefs, the draft editor, claim review and approval. I separated arithmetic from narrative generation so calculations remain explicit and reproducible.
Review is tied to the version of the text and its source record. The server checks the approval gate again when content moves toward publication or export. Background processing uses durable hosted workflows and a transactional outbox to recover dispatches, while workspace permissions separate authoring from approval.
A workspace designed for reading
I shaped the research edition around the way someone reads a financial update: an editorial headline, a clear narrative, comparable figures and evidence close at hand. Warm paper, navy ink, serif headings and ruled sections give different tasks a distinct hierarchy.
The intelligence brief keeps sources in a companion rail. Expandable insight rows separate the headline from its explanation and calculation. The writing surface groups related editing controls and keeps verification beside the draft. Labeled evidence buttons, visible keyboard focus, reduced-motion support and scrollable financial tables help the same workflow work across screen sizes.
Behind the build
- End-to-end workflow, research-edition design system, evidence inspection and draft review
- Next.js 15, React 19, TypeScript, Tailwind CSS and Radix UI
- PostgreSQL and Drizzle ORM; PGlite for isolated local development
- PDF and spreadsheet extraction, deterministic financial analysis, source lineage and claim verification
- Vercel, Neon PostgreSQL, private Blob storage and durable Workflow jobs
Verification from the research-edition release
The September 13, 2026 release documentation records 1,491 passing regression tests, including 30 contrast assertions, and 40 passing browser tests. It also records type, lint and production-build checks, plus visual review across desktop, tablet and narrow mobile layouts.
Those are verification results from that release, not a guarantee of current behavior or financial accuracy. The test coverage includes source citations, approval invalidation after edits, role boundaries and the simulated publication workflow.
Explore the public academic prototype.