Moments
A scrollable timeline of everything you and Beacon have logged together, grouped by day.
When to use this
Use Moments when you want to look back. Last week's chat about the meltdown, the journal entry from a hard Tuesday, the win you almost forgot. Beacon assembles your story automatically as you use the app, so this becomes your record without any extra logging step. Filter by type when you want to see only the wins, only the chats, or only the days behaviors got logged.
How it works
Your story, grouped by day
Every chat, win, journal entry, check-in, and behavior-logged day shows up here, sorted newest first. Days with multiple items collapse into a single day header so you can scan months at a glance.
Filter chips
Filter to just chat, journal, wins, behaviors, or check-ins. Useful when you remember 'I journaled about that' but don't want to scroll past every chat session.
Hero card for big wins
When a day has a logged win, that win is rendered as a larger Hero card at the top of the day's entries. Beacon prioritizes big-step and first-time wins; small moments stay as regular cards.
Show older
The default view is the last 90 days. Tap Show Older to extend to 180, 365, or up to 3 years. Up to 200 items render per page so the timeline stays fast.
What Beacon stores when you use it
user_moments: A read-optimized view that unions data from chat_sessions, wins, journal_entries, check_ins, and behavior_logs. You don't write to this table directly. Beacon assembles each Moment as you use the other features, then renders them here.
| Column | Type | Example |
|---|---|---|
| id | UUID | 8c2a... Original source row's id. |
| user_id | UUID | your-user-id RLS-locked to you. |
| type | enum | chat chat | win | journal | behavior_day | check_in |
| ts | timestamp | 2026-05-16T14:23:00Z When the underlying event happened. Drives the timeline sort. |
| preview | text | Talked through Avery's bedtime meltdown for 18 minutes. Short summary Beacon generates for the card. |
| meta | jsonb | { "win_type": "first_time", "full_length": 240 } Type-specific fields (mood for journal, win_type for wins, etc.). |
A real example
Maya has been using Beacon for 6 days. Here's what her Moments timeline shows for the past week.
| Day | Type | Preview | Why |
|---|---|---|---|
| Today | chat | Asked about whether to push for the OT eval | Used Discuss with Beacon from the Sensory page |
| Today | win | Avery brushed teeth without protest 3 nights in a row | Tapped Wins floating button after evening routine |
| Yesterday | journal | (Heavy) Today was hard. Avery had 2 meltdowns at school... | Used Journal check-in after a tough day |
| Mon | behavior_day | Logged 4 behaviors: 2 meltdowns, 1 elopement, 1 stim | Tapped chips on Behaviors page throughout the day |
| Sun | check_in | Avery: ๐ happy | Asked Avery in the morning, tapped Happy |
What Beacon auto-knows
- Every Moment's type, timestamp, and preview text.
- Counts: how many wins this week, how many tough journal days this month.
- Patterns across types: 'Behaviors days cluster on weekdays. Journal days cluster on Sundays.'
What Discuss with Beacon adds
- When you tap Discuss with Beacon from the Moments page, the most recent 30 days of Moments attach to the chat.
- Beacon can answer things like 'What pattern do you see in the last month?' or 'What was the day I journaled about the school call?'
- Filter the timeline first if you want a more focused chat (e.g., only behaviors), then Discuss pulls just those.
Try these with Beacon
โWhat did we talk about last week?โ
Pulls the chat-type Moments from the last 7 days and summarizes by topic. 'Three sessions: bedtime meltdowns Mon-Wed, OT eval question Thu, school accommodation drafting Sat.'
โHelp me see if there's a pattern to the hard days.โ
Cross-references journal mood + behavior_day Moments. 'Heavy and drowning journal entries cluster on Wednesdays. Behaviors days also peak Wednesdays. Look at what changes Tuesday night to Wednesday morning.'
โWhat was the win I logged on March 11?โ
Finds the win Moment by date and reads back the full content. 'March 11: First time using own words to ask for a break instead of melting down. You marked it big_step.'
โWrite a school email summarizing the last 14 days.โ
Uses the last 14 days of Moments (behaviors, wins, journals) to draft an evidence-based parent-to-teacher email. You can edit and copy.