Frequently Asked Questions

Why does Software track High KPM, and how is it defined?

You probably know when you typically code during the week, but it’s harder to get a sense of relative focus or intensity across different times during the day and different days of the week.

We track KPM (keystrokes per minute) as a proxy for coding focus and level of intensity. We track High KPM as a proxy for a state of high focus and heightened productivity. Our goal is to help you identify the times during the day when you naturally and repeatedly achieve flow (High KPM), so you can protect and expand those times to drive higher productivity.

We measure High KPM as any period of time when your keystroke rate exceeds your average KPM. Your average KPM is your rolling average KPM over the last 90 days. It is recalculated at the end of each day.

How does Software define a session?

A session starts after your first keystroke after opening your text editor or IDE. After 30 minutes of inactivity or if you close your text editor or IDE, we will mark the end of your session time after your last recorded keystroke. A new session will begin if you start coding again after 30 minutes of inactivity, or if you reopen your text editor or IDE.

How are projects created?

Projects are created based on the project root directory that you open in your text editor or IDE. In the future, we will add support for capturing projects from .git files and renaming projects.