Method
Most retail research tools sell confidence. This one sells arithmetic you can check. Here is what that means in practice, and what it costs.
Last updated
The premise
A stock screener is not hard to build. What is hard is building one whose numbers you can trust six months later, when you have forgotten which assumptions went into them and the result disagrees with your instinct.
Almost every consumer tool in this space resolves that tension by hiding the working. A score appears. A badge says Strong Buy. The formula is proprietary, which is a commercial decision dressed as a technical one — because a formula you cannot inspect is a formula you cannot disagree with, and a tool you cannot disagree with is not a research tool. It is a horoscope with a chart.
This platform takes the other side of that trade. Every rule is visible, every number is reproducible, and where something cannot be computed honestly it says so instead of guessing.
The four rules everything else follows from
- Never invent a number
- A missing value renders as an em dash, not a zero. A stock with no fundamentals is excluded from a fundamental screen rather than scored as if it had none. Sentinels propagate; they do not silently become data.
- Say where every number came from
- Every screen carries a source badge — a live tick, or the date of the last close — and it reports the weakest source on screen, never the best. A strip where three indices are live and one is a stored close is not a live strip. There is no third state: where nothing has been measured, nothing is shown.
- Show the rule, not just the result
- Every marketplace screen publishes its exact conditions and thresholds before you install it. Where our implementation cannot fully reproduce a published strategy, the listing says which part is missing.
- A model proposes, a person commits
- AI features draft screens, summarise a journal and describe a chart. Nothing a model produces reaches the database without a person having read it as rules and pressed save.
Failing in the right direction
Every system fails. The design question is which way, and the answer is consistent throughout this codebase: fail towards showing less rather than towards showing something wrong.
- The live feed dropping does not blank a screen — every page renders complete from stored history first, and the tick stream is an overlay on top.
- A price with no history behind it is simply absent from the result, because an invented price becomes an invented unrealised P&L on your own money.
- A backtest window with too few sessions is refused rather than run on a sample too small to mean anything.
- A billing outage resolves everyone to the free tier. An outage must never hand out the paid one, and it must never lock out someone who paid.
The journal stays yours
Your trading journal is the one place your own money appears — entry prices, position sizes, what you lost and when. It lives in your browser and never reaches our servers.
This is a real constraint, not a slogan. It is why journal analytics are computed client-side, and why asking the assistant a question about your journal means sending the relevant trades with that one request rather than querying a copy we hold. There is no copy. The privacy policy sets out the exact mechanics.
Where a model is allowed to speak
Language models are good at turning a sentence into structure and bad at being reliably correct. So they are used for the first and never trusted for the second.
- Drafting screens
- “Stocks above their 200-day with RSI under 40” becomes a rule set in the builder. You see it as rules and edit it before it saves.
- Reading the journal
- Questions are answered by translating them into a query over your own trades and computing the answer arithmetically — not by asking a model what it thinks your numbers say.
- Describing a chart
- Constrained to a fixed vocabulary of named patterns plus “None”, because a model asked to find a pattern will find one. Nothing downstream consumes the verdict.
One request routes to one capability. Deliberately not an agent that chains them: an agent that strings decisions together is deciding on your behalf, and that is the line this platform does not cross.
Why it is priced the way it is
Market data for the Indian universe is the same rows for every subscriber. It is fetched once by the operator and read by everyone, so ingest cost is flat whether there are ten users or ten thousand. That is what makes a personal-scale subscription viable rather than a per-seat data licence.
The free tier is a real tier, not a trial. Screeners over stored history, sector rotation and email alerts do not expire, because a tool you cannot evaluate properly is one you should not be asked to pay for.
What this is deliberately not
- Not an execution platform. The broker client is read-only by construction — no order, funds, margin or holdings methods exist, and a runtime allowlist rejects those endpoints. Execution, if it ever ships, will be a separate system with its own arming and caps.
- Not a signal service. There is no feed of calls to follow. There are rules you wrote, or rules you can read before you install them.
- Not a black box. If you cannot reproduce a number the platform shows you from the inputs it names, that is a bug — please report it.
What we still get wrong
The watchlist has a column headed “Signal” reading Buy, Hold, Watch and Avoid. It is a fixed formula over moving averages and RSI, and the word is more confident than the calculation deserves. It is being reconsidered.
Pattern recognition has not been validated against market outcomes. The news sentiment lexicon feeds nothing and scores nothing. Both are labelled as reading aids rather than findings, which is the honest position until they have been evaluated properly — but the honest position is not the same as a finished one.