Dates and times
One way to show when something happened.
Bridge writes dates one way everywhere, so people never decode two formats on one screen.
The problem
Bridge OS writes dates in several ways today: "3d ago" in one table, "Sep 12, 2026" in the intros table, "Thu, Aug 13 · 9:59 AM" on a meeting card. Two formats on one screen make people stop and decode. Bridge now has one rule for every date.
What to do
- Recent dates say how long ago. Under 7 days: "Today", "Yesterday", "4 days ago".
- Older dates are short. After that, the short month then the day: "Jul 20". Add the year only when it isn't this year: "Jul 20, 2025".
- The viewer's time, lined up. Times are shown in the viewer's own time zone. Dates in a column use
tabular-nums, so they line up.
Which one do I use?
| Situation | Do this | Bridge example |
|---|---|---|
| When an intro was made, in the intros table | The date rule, in a column with tabular-nums | 4 days ago · Jul 20 |
| When something happened, in the activity feed | The same rule; no "2d" or "3w" | Yesterday |
| Last met, or when the calendar last synced | The same rule inside the sentence, lower case | Last met 6 days ago · Calendar synced today |
| A date from another year | Short date with the year | 3 Nov 2025 |
| Someone needs the exact moment | A Tip on the date with the full date and time (approved, not built yet) | 12 Sep 2026, 14:05 |
See it work
Live examples built from the package on the sample network. Click through them.
One helper, every date
The same stored dates, written the Bridge way. Measured from the handbook's fixed today, 16 Sep 2026.
- 2026-09-16Today
- 2026-09-15Yesterday
- 2026-09-124 days ago
- 2026-08-18Aug 18
- 2026-07-20Jul 20
- 2025-11-03Nov 3, 2025
Dates in a table column
Newest first. The recent ones say how long ago; the July intro switches to a short date. `tabular-nums` keeps them lined up.
The exact time on hover or focus
The approved addition: hover a date, or reach it with Tab, to see the full date and time in your own time zone.
- Yesterday
Jonas Becker → Hannah Weiss
Intro by Ana Ruiz
- 4 days ago
Priya Natarajan → Leah Okonkwo
Intro by Ana Ruiz
- Jul 20
Priya Natarajan → Fatima Al-Sayed
Intro by Hannah Weiss
What to write
| Part | Rule | Example |
|---|---|---|
| Today | "Today" on its own; lower case inside a sentence. | Today · Calendar synced today |
| One day ago | "Yesterday", never "1 day ago". | Yesterday |
| Under 7 days | The number and "days ago", in words. No "d", "w" or "mo". | 4 days ago |
| Older, this year | The short month, then the day. No period. | Jul 20 |
| Another year | Add a comma and the year. | Jul 20, 2025 |
| Exact time | The full date, "at", then the 12-hour time, in the viewer's time zone. | Jul 20, 2026 at 2:05 PM |
Approved, not built yet
- Exact time on hover or focus ("Jul 20, 2026 at 2:05 PM") through Tip, for relative dates.
Accessibility
- Dates are written in words ("4 days ago"), so they read aloud the same way they look.
- A Tip is a visual extra that screen readers don't announce: the date people can see must make sense on its own.
- A date with an exact-time Tip uses Tip's
focusable, so keyboard users can reach it with Tab, not only mouse users.
| Keys | What happens |
|---|---|
| Tab | Moves to a date that has an exact-time Tip and shows it. |
| Esc | Closes the Tip. |
Components this uses
Each opens that component’s own page, with its options and code.
| Component | Its job here |
|---|---|
| DataTable | Date columns (Created, Updated); render the cell with tabular-nums. |
| InfoHint, HoverTip and Tip | Tip shows the exact date and time on hover or focus (approved, not built yet). |
Not decided yet
Proposals for Aman to approve, change or reject. Not rules.
- How to write future dates and meeting times (an upcoming meeting today, tomorrow or next week), and whether times use 24 hours as in the approved "14:05" example.
- Whether the activity feed keeps minutes and hours for very recent items ("5m", "3h") or always says "Today".
- Whether date ranges (a growth chart's week, "Week of 7 Sep") follow a fixed wording.
Where Bridge OS differs today
Follow this page, not the gap.
- Bridge OS's
timeAgowrites "3mo ago" / "2 years ago" in some tables. - Bridge OS's intros table writes "Sep 12, 2026" (US order, always with the year) in its Created and Updated columns (
intros-table.tsx→formatIntroDate). - Bridge OS's activity feed writes "5m", "3h", "2d", "3w", "2mo" (
activity-feed-item.tsx→feedTime), and the sharing table writes "3d ago", "2w ago" (connectors-tab.tsx→relativeTime). - Bridge OS's meeting card writes "Thu, Aug 13 · 9:59 AM" (
upcoming-meeting-card.tsx→formatMeetingWhen), and the growth chart's week labels follow the browser's locale.
Sources
- Decision 2026-11-02
- Rule: Numbers line up
- 01-decisions.md → Answers from Aman (Phase 4 start) → Sentence case everywhere
- Package
info-hint.tsx→ Tip; handbook InfoHint guidance → Accessibility - Bridge OS
intros-table.tsx(Created / Updated columns);recently-met-rail.tsx;calendar-sync-status.tsx - Proposals approved by Aman 2026-11-02.