---
title: Intended Audience
product: tide
doc_type: concept
version: master
source: git2docs (code-derived, validation-filtered)
canonical: https://git2docs.com/wabam/docs/tide/tide-capital-pressure-observatory/intended-audience
---

# Intended Audience

_Who this project is for_

## Overview

This page describes who TIDE is built for and what background you need to use it effectively. Understanding the intended audience helps you decide whether TIDE fits your workflow as-is, or whether you need to adapt it before it becomes useful to you.

## Content

## Who TIDE is for

TIDE is designed for **macro-focused developers and analysts** who want a single, self-hosted view of financial market conditions without subscribing to paid data vendors. If you find yourself opening a dozen browser tabs each morning — checking FRED for credit spreads, a brokerage terminal for VIX, the CFTC website for COT positioning data — TIDE is built to collapse that routine into one dashboard backed entirely by free-tier sources.

The project sits at the intersection of two disciplines: software engineering and macro finance. You do not need to be an expert in both, but you should be comfortable in each.

## Technical background assumed

TIDE is a self-hosted application with a FastAPI backend, a SvelteKit frontend, and a DuckDB database. The primary developer interface is a `Makefile`. To install, extend, or operate TIDE you should be comfortable with:

- **Python ≥ 3.10** — the backend, the `tide-ingest` CLI, and the scheduler are all Python. Adding a new metric means writing a Python module.
- **The command line** — setup, data ingestion, and the scheduler are all driven through `make` targets and the `tide-ingest` CLI. There is no GUI installer.
- **Basic web tooling** — the frontend uses Node.js and npm. You do not need to write frontend code to use TIDE, but familiarity with `npm` helps if you want to modify the dashboard appearance.
- **Environment configuration** — TIDE reads settings (including your `FRED_API_KEY`) from a `.env` file via pydantic-settings. You should be comfortable editing environment files and understanding how they affect application behaviour.

You do **not** need expertise in DuckDB SQL, APScheduler, or SvelteKit SSR to run TIDE. Those are implementation details you will encounter if you extend the system, and the source is documented inline to guide you.

## Finance background assumed

TIDE does not explain its indicators from first principles. The dashboard displays z-scores, tier averages, a composite Capital Pressure reading, and a vote tally. To interpret those numbers meaningfully you should already have a working understanding of:

- **Z-scores** — TIDE expresses every indicator as a rolling z-score: how many standard deviations today's reading sits above or below a three-year historical average. A z-score near zero means conditions are normal; a large positive z-score means unusual stress.
- **Credit spreads** — HY credit spreads (BAMLH0A0HYM2 from FRED) are a core Tier I indicator. You should understand that a widening spread signals tighter financial conditions.
- **COT reports** — Tier IV includes net speculative positioning from the CFTC Commitments of Traders report. Familiarity with how to read a COT report helps you assess that indicator's signal.
- **Volatility term structure** — Tier IV uses the VIX/VIX3M ratio. Understanding contango versus backwardation in implied volatility is useful for interpreting this reading.
- **Sector relative returns** — the watchlist compares eight healthcare tickers against the XLV ETF over a 30-day window. You should understand what relative return means in a sector-benchmarking context.

If any of these concepts are unfamiliar, the dashboard will still run correctly, but the composite Capital Pressure score and per-indicator readings will be harder to act on.

## What you can do with TIDE

There are three natural entry points depending on your goal:

**Self-hosting the dashboard** is the primary use case. You set up TIDE once, configure the scheduler to refresh data automatically after market close each weekday, and thereafter open the dashboard to read the composite score and tier indicators without touching external data sources.

**Extending TIDE with new metrics** is the next level. TIDE has 15 of 19 planned metrics live; four (`ici_etf_flows`, `buyback_yield`, `put_call`, `uvol_dvol`) are stubbed — registered in the metric registry with metadata but without a live data-fetching function. The per-tier `__init__.py` docstrings document exactly what each stubbed metric needs to become live. If you have access to an alternative free source, or want to wire in a completely new indicator, the adding-a-metric pattern is documented and consistent across all existing metrics.

**Studying the architecture** is a valid goal in itself. TIDE deliberately separates the ingest process (`tide-ingest` CLI) from the API (FastAPI) from the frontend (SvelteKit), with DuckDB as the only shared state. A wedged ingest job cannot take the dashboard down. The composite z-score uses each metric's `directional_z` so that inverted-convention metrics (lower VIX = bullish, tighter HY spread = bullish) contribute correctly without special-casing in the aggregation layer. These design choices are intentional and worth examining if you are building similar observability tooling.

## Who TIDE is not for

TIDE is not a turnkey SaaS product. There is no hosted version, no one-click deploy, and no support tier. It is also not a trading system — it produces a Capital Pressure reading, not buy or sell signals. If you need real-time tick data, paid data vendor integrations, or a multi-user access control layer, TIDE's free-tier-only constraint means it will not meet those needs without significant modification.

## Related concepts

- **Composite reading** — understand how the single Capital Pressure number is constructed from all four tiers and 19 indicators before interpreting the dashboard.
- **Z-score** — the unit TIDE uses to express every indicator. Read this if you need a refresher on how rolling z-scores work and why TIDE uses them.
- **Tier** — the four groups of indicators (Macro Liquidity, Capital Flows, Market Microstructure, Sentiment & Positioning) and what each covers.
- **Stubbed metric** — what it means when an indicator appears on the dashboard but does not yet fetch live data, and how to unblock one.
- **Sources page** — the `/sources` page in the dashboard where you can inspect the freshness and status of every data source, useful context for understanding how stale data is handled.
- **Stale data** — how TIDE handles indicators that publish on a lag, and why the as-of date on each metric card matters.
