Generate a timeline of your day, automatically
GitHub Repo

Generate a timeline of your day, automatically

@the_ospsPost Author

Project Description

View on GitHub

Automate Your Daily Timeline with Dayflow

Ever finish a workday and wonder, "What did I actually do?" We switch between code, meetings, and messages so often that the day becomes a blur. Manually logging activity in a journal or time-tracking app is a chore that most of us drop after a couple of days. What if your computer could just… figure it out for you?

That's the idea behind Dayflow. It’s a clever open-source tool that automatically generates a timeline of your day by quietly observing your activity on macOS.

What It Does

In simple terms, Dayflow runs in the background and collects data about which applications you're using and what you're doing in them. It then processes this data to create a clean, readable timeline of your day. Think of it as a passive logger that builds a diary of your digital footprint without you having to lift a finger.

It intelligently groups events, so instead of a thousand entries for "Switched to Chrome," you get meaningful blocks of time like "45 minutes on GitHub" or "30 minutes in Slack."

Why It's Cool

The magic of Dayflow isn't just that it tracks time; it's how it does it. The implementation is developer-friendly and privacy-conscious.

  • Privacy-First: All the data is stored locally on your machine. Nothing is sent to the cloud. You're not signing up for a service; you're running a script on your own computer.
  • Context-Aware Grouping: It doesn't just log raw window titles. It understands context. For example, it can distinguish between different tabs in your browser if they have distinct titles (like a specific GitHub repo vs. a Google Doc), creating a much more accurate and useful log.
  • Simple, Hackable Output: The timeline is generated as a straightforward text file. This makes it easy to parse, extend, or integrate with other tools you might already use for productivity or logging.
  • It's a Building Block: As a developer, you can see the potential. You could write a script to feed this data into a dashboard, calculate time spent on specific projects, or even just have a better record for your weekly stand-up notes.

How to Try It

Ready to see your own day visualized? Getting started is straightforward.

  1. Clone the repo: Head over to the GitHub repository and clone it to your local machine.

    git clone https://github.com/JerryZLiu/Dayflow
    cd Dayflow
    
  2. Run the script: The project is a Python script. You'll need to run it, granting it the necessary accessibility permissions so it can observe your system events (don't worry, it's all local).

    python3 dayflow.py
    

The script will start collecting data. Let it run for a few hours or a full day, then check the generated timeline.txt file to see your activity laid out in a clean timeline.

Final Thoughts

Dayflow is one of those simple tools that solves a specific problem elegantly. It’s not a bloated time-tracking suite with a million features; it’s a focused script that does one job well. For developers, it’s a great example of how a bit of code can automate a mundane task and provide genuine insight into your work habits. It’s also a fantastic starting point if you want to build your own custom productivity analytics.

Give it a run for a day. You might be surprised by what you learn about your own workflow.


Found this interesting? Follow @githubprojects for more cool projects from the open-source community.

Back to Projects
Project ID: 1971662327310410160Last updated: September 26, 2025 at 07:45 PM