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.

What will I see in the status bar in my text editor or IDE?

The status bar in your text editor or IDE shows two numbers: your KPM (keystrokes per minute) in your last recorded minute and your session time for your current session. We use the following icons to indicate your status:

  • Rocket: High KPM (your KPM is equal to or above your average KPM)
  • Alert: either you have no connection, you are not authenticated, or both
  • Circle: the fill (25%, 50%, 75%, or 100%) shows your current session vs. your average minutes per session

The KPM count and rocket are subtle reminders of coding focus and intensity during sessions. The longer the rocket stays visible the higher your average KPM will be. Longer sessions are generally more productive, because you can maintain context and more easily retain logical constructs related to your code. Session time helps as a subtle reminder to try and target longer, more productive sessions (as opposed to short sessions with lots of interrupts).

What is Software’s mission?

Your software matters. We track the data behind your software to help you code smarter.

What happens when I code without Internet access?

When you code offline, your data is temporarily stored in your data.json file in your .software folder. When you regain connectivity, we batch send data from this file to You can check your last update time for each plugin in your session.json folder.

What data does Software track?

First of all, your code is safe! We never process, send, or store your code, and our plugins are designed to send only productivity related data. Our plugins are open source and public on GitHub. Our first product measures the activity in your text editor or IDE listed below:

  • Number of keystrokes (total number and by file)
  • File open, close
  • File length
  • Pasted number of characters
  • Deleted number of characters
  • Lines of code (total, added, removed)
  • Display language (e.g. English)
  • Programming language
  • Project directory, name
  • Git remote URL and branch
  • Text editor or IDE plugin version
  • Session start time, end time
  • Spotify or iTunes track

You can see the data being sent every minute in the data.json file in the .software/ folder in your user directory.

Is Software GDPR-compliant?

Yes. Respect developer privacy is a core principle for Software. We give developers full control over their personal information, and we are fully committed to the spirit of privacy frameworks such as GDPR. For more information, please read our Privacy Policy.

Is my data private?

We will never share your individual identifiable data. We aggregate anonymized data to help developers improve, so we can show how your data compares to groups, such as all developers using Software. When we combine data into teams or groups, we strip away all personal identifiable data (e.g. name, project names, etc.), unless it’s your data shown only to you.

Software is a developer-first company. Our platform is built for developers. We believe data should be used as a motivational tool to help individuals improve (as opposed to companies that provide management spyware).

In the future, we will provide features that enable you to share your data with whom you choose in a clear transparent way. But you will have full control.

You can read more on our About Us page.

How will Software help me improve productivity?

Software collects data from your text editor or IDE and Google calendar to provide a range of insights that can help build productive habits. For instance, Software can help you identify natural times during the week when you achieve coding flow and set block times and reminders on your calendar to take advantage of those times. Software will automatically track how much you code during regular work hours versus nights and weekends, and can help you code more during regular work hours to achieve a happier work-life balance. Software can also help you track a range of weekly performance metrics, including coding time, total keystrokes, keystrokes per minute, lines of code, etc. to see if you are increasing or decreasing work volume week by week or month by month. Over time, we will provide even more data and value across developer tools.

How much does Software cost?

Software is free for individuals and teams. For access to historical data beyond six months, modest data charges may apply (pricing will be determined after beta). In the future, we will provide enterprise features and pricing as well.

How long does Software keep my data?

Software keeps all of your data, but only the most recent six months of data will be accessible for free accounts. You will be able to upgrade to a paid plan in the future, but paid plans are not yet available.

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 do I debug a plugin issue?

If you are having trouble installing your plugin, please follow these steps:

  1. Make sure you have the plugin properly installed following the setup instructions for your plugin.
  2. To complete setup of your account, you must click the “log in” prompt in your text editor or IDE. If the prompt did not appear, restart your text editor or IDE first.
  3. If you are still unable to install your plugin after completing these steps, send us an email at

How can I contribute?

We are working on an open source program that will allow anyone to contribute to our plugin repositories. Please contact us at if you would like to contribute.

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.

How accurate is Software?

Software is accurate down to the second, and data is sent every minute. For instance, if you started typing at 4:56:17 PM, your first payload would be sent at 4:57:17 PM. In addition, your data is captured by file and by project. So, if you were working on two different files during the same minute, your activity would be recorded for both files individually.

Can I use multiple text editors or IDEs?

Yes. Software works with multiple text editors or IDEs across multiple devices. See our plugin library here.

Can I obtain a copy of my data?

Yes, please contact us at to download a copy of your data.

Can I delete my data?

Yes, you have the option to delete your data under account management.