Designing private daily briefs for calm mornings
Synthesizing calendars, reminders, and notes into three actionable items each morning.
Marcus Vance
Interface & Human Factors
A morning interface should inform without overwhelming. Dimlit scans upcoming commitments and pending reminders locally, distilling the noise into three essential priorities for the day ahead.
Heuristics for information density
Modern notification systems frequently compete for attention with high frequency and low signal. A calm morning brief takes the opposite stance: strict information triage applied before any pixels render.
Calm software respects attention before action. The interface should explain what matters without demanding an immediate reaction or interrupting morning focus.
The three-item constraint
To maintain clarity, the local synthesis engine limits the primary morning card to exactly three items:
- Anchor commitment: The earliest immovable event requiring travel or preparation.
- Critical task: The single pending reminder with high deadline sensitivity.
- Contextual note: A relevant detail gathered from recent notes or past calendar meetings.
export interface MorningBriefItem {
id: string;
category: 'anchor' | 'critical' | 'contextual';
headline: string;
timestamp?: string;
priorityScore: number;
}
export function filterPriorities(items: MorningBriefItem[]): MorningBriefItem[] {
return items
.sort((a, b) => b.priorityScore - a.priorityScore)
.slice(0, 3);
}Comparing presentation models
| Approach | Update Frequency | User Cognitive Load | Privacy Surface |
|---|---|---|---|
| Raw notifications | Continuous streams | High fragmentation | Cloud push servers |
| Static widget list | Hourly polling | Medium scanning effort | Local storage |
| Synthesized brief | Single morning card | Minimal glance time | On-device sandbox |
Each step builds directly upon our on-device speech parsing model and executes through the local neural architecture.