AnalystOS Try it

Every number in the report is proven against your document.

AnalystOS turns a spreadsheet, Word file, PowerPoint, PDF or CSV into a written analytical report. Each figure is either a quote checked against your source or a calculation the software redoes itself. No figure is ever taken on an AI model’s word.

Built solo by Caleb Solway. Early stage, and this page says exactly where things stand.

Tap a figure to see how AnalystOS treats it. Example from a synthetic test document.
Orion delivered revenue of , up year over year, with an operating margin of .
5file formats read: CSV, Excel, Word, PowerPoint, PDF
503automated tests passing
3report tiers, so a weak AI draft degrades quality, not trust
49written specs behind the build

A published number has to survive a challenge

Analysts, consultants and finance teams put their names next to figures. Both common ways of producing a report have a weak spot.

Writing it by hand

Careful work, but slow turnaround. Every figure gets pulled, calculated and re-checked by a person.

Free-form AI writing

Fast, but the model reports its own sources, so a confidently wrong number reads exactly like a right one.

AnalystOS

Let the AI write, but make ordinary software prove every number first. Anything unproven is thrown away before a reader sees it.

How a document becomes a report

Seven stages, in order. Select one to see what happens there and whether it runs on your machine or calls a model.

There is also a structured path for jobs that use a template (for example an income statement). That path answers questions straight from a table and makes zero external model calls.

Watch a report get proven, step by step

A scripted walkthrough on a small synthetic document. It shows what the system does; it is not a live run.

Illustrative: fictional company

What comes out: a sample brief

Two real output styles. Tap any footnote number to see exactly how that figure was verified.

Orion Industrial Group: Q2 FY2027

Condensed from a system run on a synthetic test document. Illustrative example, not a real company.
$486.0MRevenue, up 20.9%
$302.0MIndustrial Systems revenue
54.2%Gross margin
$41.2MGAAP net income
$612.0MRecord backlog

Executive summary

Orion Industrial Group delivered Q2 FY2027 revenue of $486.0M, up 20.9% year over year and 5.4% sequentially from $461.0M, powered by Industrial Systems revenue that climbed to $302.0M from $210.0M a year earlier. Gross margin fell 1.6 points to 54.2% from 55.8%, and GAAP net income of $41.2MGAAP sits $22.3M below management’s adjusted figure of $63.5Mnon-GAAP. The company closed the quarter with a record $612.0M backlog, repurchased $45.0M of shares, and guided to $1.9Bguidance in FY2027 revenue.

Revenue, current quarter against two reference points

$402.0M $461.0M $486.0M Prior-year quarter Prior quarter Q2 FY2027

Analysis

Taken together, the revenue acceleration and record backlog point to real demand strength, concentrated in Industrial Systems. But gross margin slipped 1.6 points while a $22.3M gap opened between GAAP and adjusted earnings. That suggests growth is currently being bought at some cost to the quality of profit, which is worth watching as the Vantage Robotics acquisition is integrated.

What the source does not disclose

The document does not break out how much of the gross margin move comes from product mix versus input cost. It also gives no EPS or cash flow figures, which limits any view of per-share value creation or liquidity.

Outlook

Interpretation, not verified fact

Reiterating full-year guidance right after a quarter of margin softness suggests management sees the pressure as transitory rather than a structural reset, likely tied to integration costs from the Vantage Robotics acquisition and a mix shift toward faster-growing, lower-margin Industrial Systems volume.

Today’s output stops at analysis and outlook. It does not yet make a recommendation or lay out options; see Stage 3 on the roadmap.

Select a footnote number to see how that figure was verified.

What has been built

The working parts, grouped by job. Open a group for the detail. Everything below is built and tested unless it says otherwise.

Evidence store Built
  • Every upload is saved once, named by the SHA-256 fingerprint of its content, and encrypted at rest.
  • Optional automatic purge of old evidence after a set number of days.
Reading any document Built
  • One entry point reads CSV, Excel, Word, PowerPoint and PDF into a table, guessing column types if none are given.
  • A plain-text reader takes paragraphs, bullets and tables from any format, which powers the upload-anything path.
  • Shared cleaning of number formats: $ signs, commas, percentages, parentheses as negatives.
  • Legal “forward-looking statements” boilerplate is stripped so it is never mistaken for a fact.
  • Word footnotes are linked to their markers. Two-column PDFs are read left then right.
  • Charts embedded in PDFs are transcribed by a vision model and tagged as image-derived.
Fact extraction and proof Built
  • A model proposes facts; software verifies each one. Unproven facts are dropped.
  • Direct answers to lookup, growth and ratio questions, each with a citation.
  • Four fact types are checked independently: quotes, calculations, dated events and connective prose.
Writing and quality gates Built Quality still being tuned
  • A writer call structures the report from verified facts only. It cites facts by index and cannot type a number.
  • An independent proofreader judges prose quality without seeing the data, with a rubric against filler and fact-listing, plus up to two repair rounds.
  • GAAP, non-GAAP and guidance labels appear wherever a figure appears.
Delivery Built
  • Reports render to HTML and to a real server-generated PDF with bundled IBM Plex fonts, not a print-to-PDF.
  • Two visual styles: a flat report with footnotes, and a rich report with executive summary, KPI strip, inline charts and a separate outlook block.
  • Charts are plain inline SVG with no charting library.
  • A zero-model fallback assembles a full report from verified facts using fixed templates.
Web app and command line Built
  • A live upload page and API: preview a table first, then get a full cited report back. Access is gated by a shared code and per-IP rate limiting.
  • A command-line path that scaffolds a job file from a CSV and runs it end to end.
  • An income-statement template that recognizes common column names and generates the standard latest-period, growth and margin questions.
Testing Built
  • 503 automated tests with mocked calls: no network, no cost, passing in about 2.3 seconds.
  • A separate manual suite makes real, paid model calls against four fixed real documents, under a hard $1.00 spend ceiling.
Not built yet Planned
  • An analyst workspace (canvas, model and memo review), multi-tenant distribution, and participation in a real cross-agent mesh. Only a local, offline manifest validator exists for the mesh today.
  • Per-user accounts, an audit log, and a policy engine for what data reaches a model.

Three places it could fit

These are proposals based on what the system does today, not on knowing your workflow yet. The best first use case is whatever you actually publish numbers from.

Proposed

Filing and earnings briefs

Input: a quarterly filing or press release in PDF or Word.

Output: a cited executive summary with GAAP, non-GAAP and guidance labels, and a list of what the document does not disclose.

Before: an analyst pulls and re-checks each figure. After: a draft where every figure already carries its source, so the analyst reviews instead of re-deriving.

Proposed

Management packs

Input: a monthly Excel or PowerPoint pack.

Output: a written summary with year-over-year growth and margin calculations, each recomputed and footnoted.

Before: figures copied into prose by hand. After: prose generated from verified figures only.

Proposed

PDF extracts with human sign-off

Input: a PDF whose tables have no real structure.

Output: a report where a person confirms each extracted table before any figure from it can be cited.

Before: transcription errors slip through quietly. After: a required review step catches them.

Roadmap to executive-grade analyst output

The aim is reports a Fortune 10 executive could rely on for a decision. This is where AnalystOS stands against that bar today, and what it takes to close the gap. The current stage is outlined in amber.

What executive-grade means, and how each stage scores

Timing shown is the project’s own stated targets, not results. Stages 1 and 2 reflect the code and decision log as of 2026-09-21; stages 3 to 5 are plans.

Can I rely on it? How it stays honest

Trust here is enforced in software, not requested from the model. Each fact a model proposes is one of four types, and each type has its own check.

Quote

Must be a real substring of your source text. Formatting differences like $ and commas are normalized; the digits themselves never change.

Calculation

Sum, average, ratio, growth, share of total, difference or remainder. AnalystOS recomputes it with its own code and drops it on any mismatch.

Dated event

What, when, status and next step. Each part is verified separately.

Connective prose

Scanned and rejected if it contains any digit that is not cited.

Stays on your machine
  • The original file and the encrypted evidence store
  • Table extraction
  • All citation and number verification
  • Both fallback report tiers
  • Everything on the structured, template path
Goes to a model
  • On the narrated path only: the extracted text, sent to Anthropic’s API (Claude Sonnet 5)
  • Typically 3 model calls per report, plus 1 for each embedded image, whose cropped image is also sent

Controls in place

  • Two independent quality gates: one for correctness, one for prose, each blind to the other’s inputs.
  • Three-tier fallback: written report, then zero-AI template report, then plain fact list. A report is never lost and never shown unverified.
  • PDF tables need a person’s confirmation before they can be cited.
  • A figure is tagged GAAP only if the source says so; otherwise it defaults to “n/a”.
  • Forward-looking figures are visibly tagged wherever they appear.
  • Every fallback and its reason is logged.
  • Spend safety: an optional cap on API calls, an account-level monthly cap, and a $1.00 ceiling in the live test runner.

Known limits, stated plainly

  • Early-stage security posture: one shared access code and no per-user accounts yet. No audit log, no policy engine, no SOC 2 and no external security review yet.
  • It analyzes one document at a time. There is no peer, sector or market-data benchmarking.
  • Scanned, image-only PDFs that need OCR are out of scope.
  • On the structured path, the currency scale (thousands, millions, actual) is set by hand and a mistake there produces a confidently wrong number.
  • Whether a real model consistently writes to the intended quality is the project’s own stated open question, and live-run defects were still being found and fixed on 2026-09-12.

Evidence, and what hasn’t been measured

Only figures found in the project are shown here.

503 / 503

automated tests passing, run in 2.3 seconds

4 real documents

in a live test suite with paid model calls, capped at $1.00 and typically a few cents to a few tens of cents per full run

49 specs

written before the code they describe, each with a “done when” and a retrospective

A defect, and how it was closed

A model once smuggled a fabricated “$7.6M operating income” through a signed-subtraction trick. The fix was to check every operand’s actual value against its quoted text, not just that the quoted text exists. Dozens of defects like this are logged with root cause and proof of the fix.

Timing data point: a normal call on an ~8,500-character document should take 20 to 40 seconds. A run of 1 minute 38 seconds was diagnosed as the model hitting its output-length ceiling.

Not yet measured

There is no accuracy benchmark of the report-writing quality, no user-satisfaction or adoption data, and no commercial metrics. A pilot is how those get created.

Estimate the value for your team

Enter your own numbers. AnalystOS has no measured time-saved benchmark yet, so the savings slider starts at a placeholder you should replace with your own judgment.

Placeholder assumption, not a measured result.
0hours saved per month
0hours saved per year
n/avalue per year
0model calls per month

Estimate only. Model calls assume about 3 per report on the narrated path, plus 1 per embedded image not counted here. A pilot would replace the placeholder with a measured figure from your own documents.

A 30-day pilot, kept small

A proposal, to be shaped together. It starts with non-confidential documents because per-user accounts and an audit log are not built yet.

Week 1: choose and set up

Pick 3 to 5 representative documents, public or sanitized. Agree what a good report looks like. Set up access.

Week 2: run and review

Run every document. Review each output together, footnote by footnote, and log every defect.

Week 3: fix and rerun

Fix what broke, rerun the same documents, and test the weakest formats, including the PDF confirmation step.

Week 4: readout

Compare time and edits against your current process on the same documents. Decide whether to continue, widen, or stop.

What I need from you

  • 3 to 5 documents you would normally analyze
  • One or two people to review outputs
  • A 30-minute check-in each week

How success is measured (proposed)

  • Share of figures traced to a source
  • Reviewer edits needed per report
  • Time per report against your current baseline

Interested in a pilot?

Get in touch

Questions you are likely to ask

How is this different from asking a chat AI to summarize a document?
A chat AI reports its own sources. Here the model only proposes facts. Ordinary code then confirms each quote exists in the source and recomputes each calculation, and unproven facts are discarded. The writing step sees only verified facts and can refer to them by index, not type a number.
What if the AI writes something poor?
Two independent quality gates check every report, with up to two repair rounds. If they still fail, the system falls back to a template report with no AI writing, then to a plain list of verified facts. A bad response lowers the quality of a report, not its trustworthiness.
What data leaves my environment?
On the narrated path, the extracted text of the document, and any cropped embedded images, go to Anthropic’s API. The original file, the evidence store and all verification stay local. The structured template path makes no external calls.
Which files does it accept?
CSV, Excel, Word, PowerPoint and PDF. Scanned, image-only PDFs that need OCR are not supported yet.
Can it compare against peers or market data?
No. It sees one document, by design for now, and has no integration with market data, news or accounting systems.
Is it ready for confidential production data?
Not yet. Access is a single shared code and there are no per-user accounts, audit log or policy engine, and no SOC 2 or external security review. That is why the pilot starts with non-confidential documents. Those controls are on the roadmap.
How do you know it works?
503 automated tests, a live suite of real model calls on four real documents, and a defect log with root causes and proof of each fix. What does not exist yet is an accuracy benchmark on writing quality, which is one of the things a pilot would create.

Who built it

I’m Caleb Solway. I built AnalystOS on my own, writing a spec before every piece of code and recording every real bug with its root cause. I care about one thing above the rest: a report should never contain a number nobody can defend.

It is early, and I would rather show you where it is weak than hide it. That is why this page lists its limits next to its strengths.

Try it on one real document

Upload a filing, report or spreadsheet and see the cited report AnalystOS produces from it. If you’d rather talk it through first, that’s the 30-day pilot above.

One-page summary

Short enough to forward to a colleague.

AnalystOS: every number in the report, proven

What it is

Software that turns a source document (CSV, Excel, Word, PowerPoint or PDF) into a written analytical report in which every figure is either a verbatim quote checked against the source or a calculation the software recomputes itself.

Why it is different

A model proposes facts, but ordinary code proves each one and discards the rest. The writing step can cite facts by index and cannot type a number. Two independent quality gates and a three-tier fallback mean a weak draft lowers a report’s quality, never its trustworthiness.

Where it stands

Built solo, early stage. Reading, verification, writing, PDF and HTML delivery and a live upload page work, with 503 automated tests passing. Writing quality is still being tuned. Accounts, audit log, policy engine and SOC 2 are planned, not built.

What has not been measured

No accuracy benchmark for writing quality, no adoption data, no commercial metrics.

Proposed next step

A 30-minute walkthrough on a real or public document, then a 30-day pilot on 3 to 5 non-confidential documents.