explainable market intelligence, local-first
A reading is worth nothing if it cannot say how it was taken.
The Pulse Engine reads two independent streams on every cycle and refuses to blend them silently. Thirty days of OHLCV price history comes from Yahoo Finance. Up to three hundred articles come from twelve curated RSS feeds, fetched in parallel, deduplicated by Jaccard similarity so the same wire story filed by six outlets counts once, and scored with VADER sentiment carrying an injected financial lexicon, because a general-purpose sentiment model reads "bond yields plunge" as bad news.
Those two streams become a composite score from -10 to +10, weighted across six components: trend direction, price momentum, RSI, news sentiment, trend strength and market or sector context. Each asset class carries its own weighting profile, since a commodity and a tech stock do not respond to the same signals in the same proportion. Twenty-four assets across commodities, cryptocurrency, tech stocks and market indices are rescanned every thirty minutes by a background daemon thread, so the dashboard never blocks on a scan it did not ask for.
The part that took the longest is the explanation, not the score. Every signal carries a built explanation naming which of the six components moved it and by how much, and eight event categories are detected separately so a central-bank decision does not disappear into a sentiment average. Snapshots are written to compressed JSON on disk under a tiered retention policy, full detail for seven days, reduced for thirty, deleted at sixty, and a backtester evaluates hit rate by signal strength so the platform can be checked against its own history rather than trusted on the strength of its interface.
It runs without paid infrastructure. There is no server to rent, no database to provision, and no API key that costs money. That is the constraint the whole architecture is built around, and it is the reason the historical store is files on disk rather than something that would need a subscription to stay alive.
The Pulse Engine reads prices and news and prints one number. The number was the easy part. Making it say how it got there took far longer, and that is the part that makes it worth anything.
5 min read · 2026-08-28