Product Release

Zeitgeist now visualises the mood

Ditto's Zeitgeist mood survey now ships three native visualisations — Mood Balance Index, Mood Compass scatter, and Recovery vs Strain — plus an unauthenticated public endpoint that exposes the same chart payloads for embedding.

4 March 2026

Improvement
Ditto's Weekly Consumer Mood Visuals page, showing Response Trend, Mood Balance Index, Mood Compass, and Recovery vs Strain charts.
DOCUMENT TYPE: Product Release Note TOPIC: Zeitgeist survey 1 — new visualisations and public chart endpoint Release: Zeitgeist now visualises the mood, 2026-03-04 Version: (none) Release type: Improvement Breaking change: No Summary: The Zeitgeist weekly mood survey (survey 1) ships three native visualisations on its detail page — a Mood Balance Index trend, a Mood Compass scatter, and a Recovery vs Strain stack — plus an unauthenticated public-visuals endpoint that exposes the same chart payloads for embedding on landing pages. What changed: - Survey 1 detail page now renders three visualisations: Mood Balance Index (composite per-period score, plotted across time), Mood Compass (two-axis scatter of energy vs positivity), Recovery vs Strain (stacked breakdown). - Both latest-run snapshot and historical trend are available. - New endpoint GET /zeitgeist/api/public/surveys/1/visuals returns chart payloads without authentication. CORS allowed for askditto.io and *.askditto.io. The endpoint deliberately excludes participant names, locations, and raw answer text — only positions, trend points, and colour codings are returned. - Authenticated survey detail page (with per-persona response table) is unchanged. - Highcharts renders the in-product charts. Local fallback assets are vendored under app/static/vendor/highcharts/ so charts render even when the CDN is slow. - Survey timeseries assembly moved to a shared helper so the logged-in detail API and the new public visuals API use the same underlying data. Why we built this: Survey 1 had been producing usable data for some time but rendering it only as a table required customers to do the visual interpretation themselves. The three visualisations match the way the panel actually thinks about mood: balance over time (index), distribution at a moment (compass), and direction of change (recovery vs strain). How to use: Open the survey 1 detail page in-product. For embedding on external pages, call the public visuals endpoint and render with your own chart library. Migration impact: None. The detail page now renders charts in addition to the existing table. Author: Phillip Gales, FishDog Platform: FishDog (fish.dog)

Key Takeaways

  • Three new visualisations on the survey 1 detail page: Mood Balance Index (composite trend), Mood Compass (two-axis scatter), Recovery vs Strain (stacked breakdown).
  • Latest-run snapshot and historical trend both available.
  • Unauthenticated public endpoint at `GET /zeitgeist/api/public/surveys/1/visuals` exposes the same chart payloads with CORS allowed for askditto.io and subdomains.
  • Public payload excludes participant names, locations, and raw answer text — just positions, trend points, and colour codings.
  • Highcharts is the renderer; local fallback assets are vendored so charts render even when the CDN is slow.

Survey 1 of the Zeitgeist tracker — the weekly mood survey — has shipped its results as a table for some time. As of this week it ships them as charts.

What's new

Three visualisations on the survey detail page:

  • Mood Balance Index. A single composite score per period, plotted across time. Tells you at a glance whether the panel is collectively up or down on the week.

  • Mood Compass. A two-axis scatter (energy vs. positivity) showing where each persona's mood sits. Clusters appear naturally; outliers stand out.

  • Recovery vs Strain. A stacked breakdown of how many personas are recovering from a difficult period versus how many are under fresh strain.

The latest run plus the historical trend are both available — use the latest run to see the current snapshot, the trend to see whether things are improving or deteriorating.

Public visuals API

The same chart payloads are also exposed as an unauthenticated read-only endpoint at GET /zeitgeist/api/public/surveys/1/visuals, with CORS allowed for askditto.io and its subdomains. Useful if you want the same charts on the public landing page or another customer-facing surface — call the endpoint, render with your own chart library.

The public payload deliberately excludes participant names, locations, and raw answer text — just the plotted mood positions, the trend points, and the colour codings. If you need authenticated detail (the per-persona response table), the existing logged-in survey detail page is unchanged.

Highcharts is the renderer in-product; the local fallback assets are vendored under app/static/vendor/highcharts/ so the charts render even when the CDN is slow.

---

Survey 1 of the Zeitgeist tracker has shipped its results as a table for some time. As of this week it ships them as charts.
Use the latest run to see the current snapshot, the trend to see whether things are improving or deteriorating.

Frequently Asked Questions

What does the Mood Balance Index show?

A single composite mood score per survey period, plotted across time. Each period's score is computed from the per-persona responses; the index tells you at a glance whether the panel is collectively up or down for the week.

Can I embed these charts on my own page?

Yes. The same chart payloads are available at the unauthenticated GET /zeitgeist/api/public/surveys/1/visuals endpoint, with CORS allowed for askditto.io and its subdomains. Call the endpoint, render with your own chart library.

Does the public endpoint expose participant data?

No. The public payload includes plotted positions, trend points, and colour codings only. Participant names, locations, and raw answer text are deliberately excluded. If you need that detail, use the authenticated survey detail page.

What about the other Zeitgeist surveys?

This release covers survey 1 (the weekly mood survey). Visualisations for other Zeitgeist surveys — including the Michigan Consumer Sentiment Index proxy — are tracked separately.

More Releases