Your calendar shows your plans, but your screen shows what you actually did. What if you could automatically transform that screen activity into a clean, intelligently summarized timeline of your day?
That’s the promise of Dayflow, a native macOS app built with SwiftUI. It quietly works in the background, turning your screen time into an insightful narrative without becoming a distraction itself.

The Problem: Your Calendar Isn’t the Whole Story
We’ve all been there: at the end of a busy day, your calendar is filled with meetings, but you can’t quite account for the hours in between. Manual time tracking is tedious and often inaccurate. The true record of your workday is on your screen—if only you could capture it effortlessly and privately.
Dayflow was built on the principle that any tool watching your screen must prioritize transparency and user control. It’s open-source (MIT licensed), and you choose where your data is processed: using Google’s Gemini API or fully on-device with local models.
How Dayflow Works: A Lightweight, Intelligent Pipeline
Dayflow is designed for minimal system impact while providing maximum insight. Here’s its efficient workflow:
-
Capture: Records your screen at a low 1 frame-per-second (FPS), saving 15-second video chunks. -
Analyze: Every 15 minutes, it sends the recent footage to your chosen AI for processing. -
Generate: The AI creates timeline cards with concise summaries of your activities. -
Display: Presents your day as a clean, visual timeline in a native SwiftUI interface. -
Cleanup: Automatically deletes recordings older than 3 days to save space.
Two AI Processing Paths: Cloud vs. Local
Dayflow offers two distinct analysis modes to suit different privacy and performance needs, with vastly different technical approaches:
flowchart LR
subgraph Gemini["Gemini Cloud Flow: 2 LLM Calls"]
direction LR
GV[Video] --> GU[Upload + Analyze<br/>1 LLM call] --> GC[Generate Cards<br/>1 LLM call] --> GD[Done]
end
subgraph Local["Local Flow: 33+ LLM Calls"]
direction LR
LV[Video] --> LE[Extract 30 frames] --> LD[30 Frame Descriptions<br/>30 LLM calls] --> LM[Merge<br/>1 call] --> LT[Title<br/>1 call] --> LC[Merge Check<br/>1 call] --> LMC[Merge Cards<br/>1 call] --> LD2[Done]
end
The Gemini path leverages Google’s native video understanding capabilities for direct analysis, making it highly efficient. The Local path reconstructs understanding by analyzing individual frames, which is more complex and resource-intensive but keeps all data on your device.
Getting Started with Dayflow
For End Users: Simple Download and Install
-
Download the latest Dayflow.dmg
from the GitHub Releases page. -
Drag the Dayflow app into your Applications folder. -
Launch the app. When prompted, grant the Screen & System Audio Recording permission in System Settings > Privacy & Security.
For Developers: Build from Source
git clone https://github.com/JerryZLiu/Dayflow.git
cd Dayflow
open Dayflow.xcodeproj
You’ll need Xcode 15+ and macOS 13.0 or later. If using Gemini, set your GEMINI_API_KEY
in the Run scheme’s environment variables.
Deep Dive: Privacy and Data Handling
Where is Data Stored?
All Dayflow data is stored locally on your Mac:
-
Application Support Folder: ~/Library/Application Support/Dayflow/
-
Video Recordings: ~/Library/Application Support/Dayflow/recordings/
-
Local Database: ~/Library/Application Support/Dayflow/chunks.sqlite
To completely reset Dayflow, quit the app and delete the ~/Library/Application Support/Dayflow/
folder.
Gemini API: Controlling How Google Uses Your Data
A critical question for privacy-conscious users is whether Google uses data sent to the Gemini API for training. According to Google’s terms, there is a way to prevent this.
If you enable Cloud Billing on at least one project in your Google Cloud account, Google treats all your usage of the Gemini API and Google AI Studio under the “Paid Services” data handling rules—even for free tier usage. Under these rules, Google does not use your prompts and responses to improve its products or models.
Key Nuances:
-
Terms Reference: This is defined in the Gemini API Additional Terms. -
Abuse Monitoring: Google still logs data for a short period for policy enforcement and legal compliance, even under Paid Services. -
EEA/UK/Switzerland: The “Paid-style” data handling applies by default to all services, even without a billing account.
Practical Tip: Enabling billing on one project (which may incur minimal costs) can extend these data protections to all your Gemini API usage.
Local Mode: Privacy vs. Performance
Using Ollama or LM Studio offers the highest level of privacy but involves trade-offs:
-
Privacy: All processing occurs on your machine. No data is sent to the cloud. -
Performance: Local inference is GPU-intensive and can impact battery life on laptops. -
Quality: Current open-weight models may underperform cloud-based models on complex summarization tasks.
Beyond the Timeline: What’s Coming Next
Dayflow’s roadmap points to even deeper insights into your work habits:
Customizable Dashboard (Preview)

Ask Dayflow questions about your workday—”How much time did I spend on code review?” or “What was my longest focused block?”—and pipe the answers into customizable dashboard tiles.
Daily Journal (Preview)

Move beyond passive recording. Use Dayflow’s timeline as a starting point for a daily review, adding reflections, screenshots, and notes alongside the AI-generated summary.
Technical Specifications
-
Framework: Built with SwiftUI for a native Mac experience. -
Updates: Integrates Sparkle for automatic background updates. -
System Impact: ~100MB RAM, <1% CPU usage, 25MB app size. -
Requirements: macOS 13.0+, Xcode 15+ (for building from source).
Frequently Asked Questions (FAQ)
Q: Will Dayflow slow down my computer?
A: Dayflow is highly optimized. It typically uses about 100MB of RAM and less than 1% CPU, making it unnoticeable during everyday use.
Q: Can I use just the recording feature without AI analysis?
A: Currently, AI analysis is a core part of Dayflow’s functionality. However, you can choose the local mode to ensure all processing happens on your device.
Q: How is my privacy protected?
A: Dayflow is open-source, so its code can be audited. You control your data by choosing between Gemini (with configurable data handling) and fully local processing. All storage is local by default.
Q: Does it support multiple monitors?
A: Yes, Dayflow can capture and analyze content from multiple displays.
Conclusion: Rediscover Your Work Patterns
Dayflow is more than a utility; it’s a lens for understanding how you work. By automatically creating a timeline from your screen activity, it provides an objective record of your day, helping you identify patterns, minimize distractions, and work more intentionally.
In an age where focus is a precious resource, having an honest, automated account of your time is invaluable. Dayflow delivers this with a steadfast commitment to privacy and user control.
Your screen witnesses your work. Now it can tell you the story.
Dayflow is an open-source project. Contribute or suggest features on GitHub. This article is based on the project README and technical documentation.