Skip to content
K. VAISHNANI
Home

Fundamental Analyzer for Screener.in

A browser extension that reads a company's published numbers and commits to a view on whether they justify the price.

Kind
Chrome extension
Role
Author and maintainer
Status
Released — v1.0.0
Years
2026 — present

Context

Screener.in already publishes every table a retail investor needs. Reading them is not the hard part.

The problem

What a chartered accountant or a fund manager is actually paid for is holding two questions apart — does the business work, and is the price reasonable for it — and then committing to an answer. A single blended strength score collapses them, so a great business at a silly price and a mediocre one at a fair price both come out "Moderate", which is the one distinction that decides the outcome.

What I did

The headline is a stance, not a grade. Business quality and price are scored separately and crossed into four positions, so "the numbers support the price" and "cheap, and here is the catch" are different verdicts rather than the same middling number. Each stance also carries the specific figure that would change it and the evidence that would prove it wrong, because a judgement that cannot be wrong is not a judgement, and a reader who knows what to re-check does not need me afterwards.

Everything runs in the page the reader already has open, with no network calls at all. That was a privacy decision first — nobody's holdings or research interests leave their machine — and it turned out to be a correctness decision too. The scoring engine is a pure function of the captured page, so a bug report containing only a URL reproduces the exact report the user saw.

A universal set of thresholds lies confidently in predictable places, so some sectors get their own model. Return on capital employed is meaningless for a bank, where deposits are the raw material sitting in the denominator; a healthy lender prints single digits and a universal curve reads that as value destruction. Cyclicals get a peak-earnings check, because a steel company at the top of its cycle shows its best margins and its lowest multiple in the same quarter, and that trap is the most expensive mistake retail makes.

An early build printed over two thousand words. A retail investor gives you about thirty seconds, so the report is tiered to a decision on the first screen with the analyst depth one click below, and a test fails the build if that first screen exceeds its word budget in any of the three languages. The constraint means a new feature has to displace something rather than quietly adding to the reading load.

It is deliberately not advice. There is no buy, sell or hold instruction, no price target and no entry price anywhere in it, and tests assert that none of the generated copy in any language drifts into that register. The report tells you whether the numbers justify the price; what to do about that is the reader's call, and keeping that line sharp is what makes the tool publishable at all.

Where it landed

Released as v1.0.0 in August 2026, in English, Hindi and Gujarati, and I maintain it. It is not on the Chrome Web Store yet, so installing means developer mode and a folder the user has to keep — real friction that will cost adoption until the listing is approved. The zero-network decision has a price too: when a report is wrong I cannot see it, which is why the bug template asks for a URL, and why feedback from someone who knows a company well is worth more to me than a feature request.

Built with

  • Chrome Extensions (Manifest V3)
  • JavaScript
  • esbuild
  • Vitest
  • Internationalisation

Working on something in this shape? Tell me about it.

Book a call