Announcing Periodic-Report Comparison in Plainview, Plus a Full Filings Feature Tour
Bollwerk Plainview, the research workspace for SEC filings, has grown substantially over recent months. The platform now supports reading, annotation, interrogation, comparison, and export of filings without requiring users to leave the page. This post consolidates that work into a single announcement and previews the next release.
The central addition is filing comparison. The remainder of this post surveys the complete filings feature set in Plainview and introduces the forthcoming watchlist keyword alerts.
Overview
- What's new: periodic-report comparison
- Viewing a filing
- Bookmarks and comments
- AI chat, with real citations
- Watch the agent think: red flag detection
- Trade ideas from filings
- Deep links and sharing
- Exporting
- Structured data: XBRL, insiders, offerings
- Discovery: semantic search and the filings index
- Coming next: watchlist keyword alerts
What's new: periodic-report comparison
Periodic filings carry much of their value in what changes between them. Risk factors shift from one 10-Q to the next, going-concern language hardens between successive 10-Ks, and customer-concentration footnotes lengthen over consecutive quarters. Until recently, surfacing those differences required a manual side-by-side review of two PDFs. Compare Periods, now available on every 10-K and 10-Q detail page, automates that work.
How it works
Selecting the Compare Periods button in the filing header, or the overflow menu on mobile, routes the user to /filings/compare/:sourceId/:targetId?. The target filing is selected automatically according to form type:
- 10-K: approximately 365 days prior (year-over-year)
- 10-Q: approximately 90 days prior (quarter-over-quarter, matching the previous reporting period)
Users can override the default from a dropdown of up to ten prior candidates, each labelled with its form type, period of report (for example, "Mar 2023"), and filed date. Changing the target updates the URL, so every comparison is shareable as a link.
%%{init: {'theme': 'default', 'themeVariables': {'fontSize': '12px'}}}%%
flowchart LR
Source([10-K or 10-Q]) --> Pick[Compare Periods]
Pick --> Auto[Auto-pick prior:<br/>10-K ≈ 365d<br/>10-Q ≈ 90d]
Pick --> Manual[Pick from<br/>candidate dropdown]
Auto --> View[Side-by-side view]
Manual --> View
View --> Metrics[Metric deltas<br/>+ charts]
View --> Risk[Risk-state<br/>transitions]
View --> Sections[Section status<br/>+ word-level diff]
Metrics --> AI{Generate AI<br/>narrative?}
Risk --> AI
Sections --> AI
AI -->|yes| Narrative[Executive summary<br/>+ key insights<br/>+ watch items]
AI -->|no| Done([Done])
Narrative --> Done
style Pick fill:#c9a0a0,color:#000
style AI fill:#c9a0a0,color:#000
What gets compared
The comparison is deterministic-first, with an optional AI layer applied above it. The deterministic analysis is always available and is not generated by a language model:
- Financial metrics: revenue, net income, earnings per share, and cash position, each presented with an absolute value for the current period, the prior period, a numeric delta, and a percentage change. Every metric renders alongside a small bar chart.
- Risk-state transitions: explicit alerts when the going-concern signal changes state (for example, "None" to "Substantial Doubt" in red, or "Substantial Doubt" to "Mitigated" in amber), and when a material weakness either appears or is resolved. Absence of change is indicated with a green "No risk-state change" banner.
- Section-by-section status: every canonical section (twenty-two for 10-Ks and eleven for 10-Qs, covering Risk Factors, MD&A, Liquidity, Legal Proceedings, Quantitative and Qualitative Disclosures, and the rest) receives a status badge of modified, added, removed, unchanged, or unavailable. Each modified section carries a percentage-change bar, colour-coded by magnitude: amber below 5%, orange between 5% and 20%, and red above 20%.
- Inline text diffs: expanding a section reveals a word-level diff rendered with green-background underlined additions and red-background strikethrough deletions. The output is plain monospaced text, with no HTML injection, and mirrors the diff conventions familiar to any user of Git.
AI analysis, layered on top
Appending ?ai=true to the URL, or selecting Generate Analysis in the UI, streams an investor-focused narrative above the deterministic diff:
- Executive summary: two to four sentences identifying the single most important change.
- Key insights: ranked findings, each with a severity rating (high, medium, or low), a confidence score, a "why it matters" line, and evidence anchors pointing to the exact source and target excerpts.
- Watch items: red-flag findings that warrant closer investor attention, including new risk factors, auditor changes, and new litigation disclosures.
- Section-level summaries: for each materially changed section, a classification (substantive, disclosure update, boilerplate, numerical, or uncertain), a rationale, and a business-relevant summary. The summaries describe the substance of the change rather than its text mechanics: "the company disclosed a new customer concentration in its top five" rather than "text was added".
Deterministically trivial changes (those below a 2% delta, containing no flagged keywords, and involving no numeric move greater than 5%) are filtered from the AI analysis automatically, so the model concentrates on material differences. Where the token budget requires that lower-ranked sections be omitted, the UI lists them explicitly; partial analysis is always signalled rather than implicit.
What this replaces
The prior workflow required opening two filings in separate tabs, searching each for key terms such as "going concern", reviewing risk factors visually, and recalling whether the MD&A liquidity paragraph had three sentences or four in the previous quarter. The replacement is a single page and a single shareable URL.
A number of deliberate limits apply. Compare Periods is a Plainview Pro feature and supports periodic reports only (10-K against 10-K, 10-Q against 10-Q, same issuer, no amendments). Trusts, REITs, and certain pre-2002 filings occasionally lack a standard MD&A or Risk Factors section; in those cases, Plainview reports "Section unavailable" rather than presenting extracted content that cannot be verified.
Viewing a filing
Each filing has a detail page that renders the document inline, eliminating the need to download the filing and open it in a separate application. Paragraphs are numbered for precise reference, and the header carries the metadata required to verify the document: ticker and company name, market capitalisation, SEC accession number, CIK, form type, filed date, period of report, and file size. Accession numbers and CIKs can be copied to the clipboard with a single click.
Multi-document filings, including those with exhibits, surface every attached document (such as EX-10.1 material contracts, press releases, and consent letters) with type, title, and file size. Selecting an exhibit switches the viewer to that document without leaving the page.
Amendments are linked explicitly. A 10-K/A is tied back to the 10-K it amends through the Plainview filing knowledge graph, so that the document lineage is visible and an original is never read in isolation when an amendment exists.
Bookmarks and comments
Plainview offers two forms of annotation, each addressing a distinct workflow.
Bookmarks serve as quick markers. Selecting a paragraph number or a text range opens a bookmark control; users choose a colour from yellow, green, blue, pink, or purple, optionally add a note, and save. The bookmarks side panel lists every bookmark across the filing, sortable by position or by document, and each entry scrolls the viewer to its location on click. Bookmarks function as a navigation layer.
Comments are used for analytical commentary. Two variants are available: text-level comments, anchored to a specific selection within the filing, and document-level comments, attached to the filing as a whole without a specific location. Comments can be marked public or private, are editable inline, and display the author and timestamp. Where bookmarks provide navigation, comments provide reasoning.
AI chat, with real citations
The quick-action buttons at the top of every filing are the fastest entry points. Summarize returns a structured overview, Spot Red Flags produces a formatted list of risk indicators, and Chat with Filing opens an AI conversation scoped to the document. Responses stream in real time.
Chat is designed for free-text questions, such as "describe executive compensation", "what are the material customer concentrations", and "summarise the going concern language". The system retrieves relevant sections and summarises them. For multi-document filings, users control which exhibits are included in the AI's context, permitting queries scoped to the main filing, to a specific exhibit, or to any combination of the two.
Every citation is verifiable. Each reference to the filing takes the form of a numbered citation (for example, [1], [2], [3]), and each number is an active pop-over. Hovering a citation reveals the form type, accession number, section or exhibit, and a block-quoted excerpt of the exact passage the model is drawing on. Selecting the citation scrolls the viewer to the referenced paragraph. Where a passage cannot be cited, Plainview does not assert it; this discipline is what makes chat output suitable for substantive research.
Answers can be tables as well as prose. A request such as "a table of every mentioned customer with its percentage of revenue" renders as an interactive table artifact: sortable by any column, globally filterable, with one-click copy and one-click CSV download. Structured questions receive structured output, removing the need for manual spreadsheet work.
Watch the agent think: red flag detection
Filings are scanned automatically for risk signals across three categories: financial distress (going-concern language, accounting irregularities, covenant issues), legal and regulatory exposure (litigation, SEC enforcement, subpoenas), and operational risk (management departures, internal-control weaknesses, auditor changes). Each red flag carries an importance score from one to ten, structured evidence extracted directly from the filing, and a source link that jumps to the originating passage. Every finding is verifiable against the document.
During detection, the agent's reasoning is visible. A live reasoning panel streams each step as it happens: the section being read, the tool being used, the intermediate finding just surfaced, and the hypothesis just ruled out. Steps can be expanded for full context or collapsed to a one-line summary. Rather than displaying an opaque loading indicator, Plainview exposes the work in progress, allowing users to notice a misdirected line of inquiry before reading the final output.
%%{init: {'theme': 'default', 'themeVariables': {'fontSize': '12px'}}}%%
flowchart TD
Start([Filing]) --> R1[Read Risk Factors]
R1 --> F1{{Finding: going-concern language}}
F1 --> R2[Read MD&A Liquidity]
R2 --> F2{{Finding: covenant at risk}}
F2 --> R3[Cross-check financial notes]
R3 --> F3{{Finding: auditor change}}
F3 --> Score[Score + rank<br/>with evidence links]
Score --> Report([Red flag report])
style F1 fill:#ffe4a0,color:#000
style F2 fill:#ffe4a0,color:#000
style F3 fill:#ffe4a0,color:#000
Each yellow node in the diagram represents a finding that streams into the UI in real time, accompanied by a source-linked excerpt. Findings are recorded as they are established rather than synthesised after the fact.
Individual findings can be bookmarked to an evidence library with a personal note, providing an organised record of the specific red flags under investigation within a given diligence project. The full red flag set for a filing can also be exported as a markdown report suitable for direct inclusion in a memo.
Trade ideas from filings
Generate Trade Ideas transforms filing analysis into structured, institutional-format trade ideas. Each idea specifies a position (long or short), an asset type, entry, stop, and target prices, a thesis statement grounded in specific evidence from the filing, and an explicit list of risks. Ideas are collected in a dedicated Trade Ideas section, where they can be upvoted, downvoted, and discussed in comments. The feature is not a recommendation engine; it is a mechanism for committing analysis to a specific, falsifiable claim that the author or a team can evaluate over time.
Deep links and sharing
Every filing supports section-level permalinks. Selecting a range of text and copying the URL encodes the paragraph location and highlighted selection in the hash fragment, so that a recipient opening the link is scrolled automatically to the same passage, with the selection highlighted. Two fragment conventions are used: #sel=… for a specific selection and #find=… for a text match. This capability converts filings from a private reading exercise into a collaborative one, because users can share a sentence by direct reference rather than by description.
Comparison URLs are deep-linkable as well. The form /filings/compare/:sourceId/:targetId?ai=true captures both the filing pair and whether the AI narrative has been generated.
Exporting
- Red flag reports: exportable as markdown, suitable for direct inclusion in a memo.
- Insider transactions and Form 144 notices: exportable as CSV for spreadsheet analysis.
- Documents and exhibits: downloadable as PDF or in their original format, with multi-select for batch download of multiple documents at once.
Content visible in Plainview can be retrieved in a usable format.
Structured data: XBRL, insiders, offerings
Filings contain more than prose, and Plainview parses the structured data to expose signal without requiring full-text review.
XBRL charts. 10-K and 10-Q filings render historical quarterly and cumulative revenue and net-income charts from XBRL facts, with toggles between quarterly and cumulative views. Currency values are formatted, and tooltips expose exact figures.
Insider transactions (Form 3, 4, and 5). Each Form 4 is parsed into the owner's name, title, officer/director/10%-holder status, transaction code (with an in-UI tooltip clarifying SEC codes), share count, weighted-average price, total value, and net buy or sell position. The list view adds ownership-change percentage, post-transaction ownership, and colour-coded totals. The practical effect is that a user can determine at a glance whether an insider is acquiring or disposing of meaningful size, without opening the filing. Preset filters isolate high-conviction events such as CEO and CFO buys above $25,000 or insider sales above $100,000, and a dedicated toggle excludes 10b5-1 pre-scheduled sales, distinguishing discretionary activity from plan-driven activity.
Form 144 notices (proposed insider sales). Form 144 indicates what an insider intends to sell, in advance of the sale. Plainview parses the seller, the relationship to the issuer, the proposed quantity, the aggregate market value, the implied price, and the approximate sale date. It also parses the acquisition lots (detailing how the shares were acquired, whether through option exercise, open-market purchase, or grant) and a prior three-month sales table that provides immediate context on the insider's recent activity. The feature converts a commonly overlooked form into a short-dated early warning.
Offerings (S-1). IPO prospectuses are among the densest filings in the SEC corpus. The offerings tab surfaces the elements that drive the diligence decision: price per share (flagged red where anomalously low), offering size (flagged orange where unusually small), net proceeds, the underwriter syndicate (flagged where members appear on the Plainview list of repeat-offender underwriters), the auditor (flagged against a similar list of problem auditors), and employee headcount. The view is optimised for rapid assessment of deal quality rather than for comprehensive coverage of the underwriting agreement.
Discovery: semantic search and the filings index
Navigation to the correct filing is as important as reading it. Plainview indexes every filing through a vector embeddings pipeline, which enables concept-level search rather than exact-string matching. A query such as "companies warning about softening demand in their core segment" returns filings expressing that idea, including those in which none of the query terms appear verbatim. The filings index complements semantic search with structured filters:
- Category tabs: Periodic Reports, Material Events (8-K), Insider Activity (3, 4, and 5), Form 144 Notices, IPO Filings, and Proxy Statements.
- Ticker and company search.
- Date-range and form-type filtering.
- Sort by filed date.
- Inline red-flag badges, surfacing high-signal filings directly in the list rather than after a click-through.
Dark mode is available throughout, with system-preference detection.
Coming next: watchlist keyword alerts
The natural extension of the features above is the ability to be notified when a filing of interest contains language of interest. That capability is the next Plainview release.
Watchlist alerts will allow users to attach keyword and phrase triggers to the tickers on a watchlist, and to receive a notification the moment a new filing is published that matches. Representative use cases raised by early users include:
- A 10-Q from any watchlist issuer that contains "going concern".
- An 8-K for a specific ticker that mentions "resignation", "restatement", or "material weakness".
- A new S-1 that contains "recurring revenue" within 100 words of "declined".
Alerts will trigger on newly indexed filings, will link directly to the matched passage using the same section-level deep links that Plainview already provides for sharing, and will be delivered by email at launch, with webhook and in-app delivery to follow. Multiple keyword rules can be attached to each watchlist entry. A set of pre-built rule templates, covering going concern, auditor change, management departure, and material weakness, is planned, so that common patterns need not be assembled from scratch.
A public launch date has not yet been set; it will be published here when the feature is live. Users who have a specific trigger pattern they would like supported out of the box are invited to write to hello@bollwerk.ai.
Try it
Existing Plainview users can access the new comparison feature on any recent 10-K or 10-Q detail page through the Compare Periods button. New users may begin at app.bollwerk.ai.
The Plainview roadmap is shaped substantially by user feedback. Compare Periods exists because a sufficient number of users requested it, and subsequent major releases are expected to follow the same pattern.