Reading your Dashboard

The Dashboard reads from server-side aggregates so your charts stay instant — even after thousands of entries.


The Dashboard at /dashboard is where you see your data over time. Charts of weekly totals, monthly averages, streak counts — everything you've been tracking, summarised.

You don't have to configure aggregates. Kaizendex computes them as you log, so the Dashboard is always up to date and always fast.

What you'll see

Each numeric Property you've been tracking gets a chart. Examples of what shows up:

  • Push-ups (reps) — weekly total, peak day, current 7-day average
  • Run (distance) — distance per week, longest run, monthly total
  • Sleep (hours) — average hours per week, best/worst night
  • Coffee (cups) — cups per day, weekly total
  • Weight (kg) — line chart over the last 30 days
  • Meditation (minutes) — total minutes per month, streak
  • Pages read — pages per week, books finished
  • Mood (rating) — daily average, weekly trend

Each card shows a snapshot. Tap into a card for the full chart with date filtering.

How aggregates stay fast

Every time you log an Entry, the server updates a Rollup for the relevant Property. The Rollup keeps a running sum and count — that's it. From those two numbers Kaizendex computes:

  • Total = sum
  • Average = sum ÷ count
  • Daily / weekly / monthly aggregates = sum within a date window

min and max are computed on read because they're cheap when you only need the last N entries.

This means the Dashboard never scans your full history. Even if you've logged 100,000 entries, the charts open instantly.

Streaks and counts

For habit-style Collections (anything with a True/false Property), the Dashboard shows:

  • Current streak — consecutive days you've logged it
  • Best streak
  • Days logged this month

Use this to see how you're doing on:

  • Daily meditation
  • Vitamins / supplements
  • Smoke-free days
  • Journal entries
  • Reading streaks
  • Water intake (any cup that day)

Session-level views

A Collection with Sub-entries gets its own matrix on its database table at /collections/[id]. The matrix shows every entry as a row, every child Collection as a column — see The database table.

The Dashboard surfaces Property-level trends across all of your logging (e.g. "average reps across every workout"). The matrix view surfaces session-level trends within one specific Collection's entries.

Filtering and grouping

When you build a chart you already choose:

  • Date range / window — per widget (30/90 days, 6/12 months)
  • Collection — count one Collection, or scope a Property to it
  • Tag — count entries carrying a global Tag, across every Collection
  • Group by — day, week, or month for line/area/bar charts

Still on the roadmap: filtering by a linked Entry (e.g. "all pages read for Dune").

What aggregates won't tell you

Aggregates are summaries. They miss context: the why of a bad week, the story behind a 30-day streak break, the note you scribbled on a meditation session about why it landed differently.

For that, browse the feed at /chat or the Calendar to read individual entries.

Next