{% extends "public_base.html" %} {% block title %}{{ BRAND_NAME }} · {{ TAGLINE }}{% endblock %} {% block main %}
{{ BRAND_NAME }}

{{ TAGLINE }}

Built for investors who want to act rationally and tune out the high-frequency noise that comes from treating markets like a casino. We aggregate cross-asset news and macro signals, then write a plain-English read of what the underlying fundamentals justify versus what the crowd is doing. Refreshed hourly. A media service, not a financial one.

{% if cu and (cu.user or cu.is_admin) %} Open dashboard See pricing {% else %} Sign up free See pricing {% endif %}
News, aggregated

Headlines from across the macro universe

RSS and per-ticker feeds covering equities, rates, credit, FX, commodities, and geopolitics. Every headline is auto-tagged by theme so the noise stays as noise and the fundamentals-relevant stuff is easy to find. Ingestion follows the trading calendar — off-hours stay quiet.

Macro signals

A curated cross-asset tape

A hand-picked set of indicators across every asset class, refreshed hourly during market hours. Each group gets a short read that explains what the move means, not what it was. Anchored in earnings, policy, valuation — not chart patterns.

The hourly read

Rational vs irrational, every paragraph

We tie the day’s headlines and the cross-asset signals into a single short interpretation. Each paragraph separates rational drivers (earnings, policy, valuation) from irrational ones (positioning, narrative, flows) and names the gap. Two reading levels: novice and intermediate. This is editorial commentary on public data — not a forecast and not advice on any investment decision.

Paid users can also drop a Trading 212 pie CSV for an AI sense-check on concentration, regime fit, and currency exposure. Holdings stay in your browser by default; opt in to encrypted cloud sync to restore on another device.

What this isn’t.

By signing up you agree to our Terms and Privacy notice, and confirm you’ve read the financial disclaimer.

{% if cu and (cu.user or cu.is_admin) %} Open dashboard {% else %} Sign up free {% endif %}
{% endblock %}