Open-source project
swdotcom/swdc-vscode-musictime avatar
swdotcom/swdc-vscode-musictime

Music Time puts a Spotify player in the status bar

A VS Code extension to discover the most productive music to listen to as you code

638 stars20 forksTypeScriptApache-2.0

At a glance

What is it?
Music Time for Spotify is a VS Code extension that plays your playlists from the editor and then goes further, ranking songs by a productivity score built from music metrics and coding activity across more than 150,000 developers, which makes it an interesting case of a productivity extension that also asks for a paid subscription and your listening history.
Who is it for?
Music Time fits an individual developer who wants a player inside the editor and is curious about the relationship between what they listen to and how they code, since the extension is the only place that data is joined and visualised.
Can I use it commercially?
Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 123 days ago.
What is it written in?
Mainly TypeScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What the extension actually does for you

Music Time for Spotify is a VS Code extension that discovers the most productive music to listen to as you code, and it is built on the Code Time extension by the same vendor, Antenna, with the homepage at software.com/music-time.

The player part is the straightforward half. Player controls are integrated into the editor's status bar, embedded playlists let you browse and play your Spotify playlists and songs from the editor, and the side panel lists your songs. The like control adds a track to your Liked Songs playlist on Spotify, and clicking the heartbeat icon shows the name of the currently playing song. The extension exposes commands for the transport too, which is the part that makes it scriptable:

json
  "name": "music-time",
  "displayName": "Music Time for Spotify",
  "version": "2.2.47",
  "publisher": "softwaredotcom",

The commands in the manifest are musictime.next, musictime.previous and musictime.play, each with a title prefixed with the extension name, so they appear in the command palette and can be bound to keys.

The second half is the part that makes the project interesting rather than merely convenient. The extension performs machine learning against a range of music metrics together with productivity data from over 150,000 developers to determine song recommendations, and it presents the result as a productivity score for each song.

Two dependencies decide whether it works for you

The README is blunt about the requirements, and they are not small.

First, Code Time. The extension is described as built on the Code Time extension, which provides automatic programming metrics and time tracking, and the explanation of why is that Music Time works with Code Time to combine your music and coding data to find your most productive music. So this is not a standalone tool. It needs a second extension, which itself measures when you code, and the value of the whole arrangement depends on that data existing.

Second, Spotify. The README says you need a Spotify account to get started, and it states that Apple Music, Google Play and any other players are not currently supported, though they may come in a future plugin.

There is a platform wrinkle that is easy to miss. Music Time requires a premium Spotify account and an internet connection to control your music on Windows and Linux. On macOS it can also control the Spotify desktop app using AppleScript, as either a premium or a non-premium user. So the same feature, controlling playback, has a different requirement depending on the operating system, which is a consequence of driving the desktop player locally rather than going through the web API.

The score, the dashboard and the music metrics

The central claim is that as you listen to music while you code, Music Time calculates a productivity score by combining your coding metrics with your listening history and data from over 150,000 developers.

There are three ways to look at the output. The dashboard is generated in the editor, from the dropdown next to your email address, and it reports your top songs and artists by productivity score. More data at Antenna opens the web version, where you can see your most productive songs, artists and genres by that score.

The metrics behind it are the interesting part, and they are the standard acoustic descriptors: tempo, loudness, speechiness, energy and valence. The extension offers these as something you can learn about, so the direction of the claim is that you can see how the underlying metrics of music impact how you code, rather than being handed a single opaque number.

There are also two leaderboards. The personal top 40 shows your most productive songs and artists every week, and the global Software Top 40 is a playlist generated by the vendor's algorithms from developers around the world, refreshed every week. The weekly cadence is a design decision: it gives the feature a reason to be opened without turning it into a permanent distraction.

Recommendations by mood and by genre

The recommendation panel works from your listening history and offers two levels of control.

The first is mood. Hovering over Recommendations and clicking the beaker icon adjusts the mood of the recommendations, with the guidance that happy, energetic or danceable music suits upbeat work while classical or jazz suits slower, more complex tasks. The second is a filter icon next to Recommendations, which filters by more than one hundred different genres.

Songs can be added to a playlist with the plus button that appears when you hover over a song name, which is the small affordance that makes the extension more than a player.

The share feature is the third piece. The share icon next to a song in the playlist tree offers Facebook, Twitter, WhatsApp and Tumblr, and there is a Slack integration for sharing songs with a team. The Slack connection has a permission condition worth knowing before you try it: connecting requires team member permissions or above, so a single or multi-channel guest will not be able to connect it.

Where this is the wrong tool

The first case is a developer without a Spotify account, or a team that has standardised on a different player. The extension supports Spotify only, and the README says other players may come in a future plugin, which is a promise rather than a plan.

The second case is anyone who objects to the data model. The extension needs Code Time, Code Time measures when you code, and the extension joins your coding activity to your listening history and sends it to a server that computes a score against a population of more than 150,000 developers. That is a much broader data trail than a music player needs, and a team with a policy about developer monitoring will want to read what Code Time collects before anyone installs it.

The third case is anyone who wants an independently verifiable productivity score. The score is produced by the vendor's machine learning, the training data is not published, and the README does not describe the model. The extension can show you that it believes one song is better for you than another, and it can show you the acoustic metrics, but it cannot show you why a given song scored the way it did.

The fourth is a team that dislikes a second extension in the editor at all. The manifest sets activation to onStartupFinished, so Music Time activates in every window, and its category in the Marketplace is listed as Other.

Apache-2.0 terms, and a repository that stopped moving in June

The licence recorded for the repository is Apache-2.0, with the LICENSE file at the root, while the package manifest itself says SEE LICENSE IN LICENSE, so the terms to read are the ones in that file.

The project has two identities and both are in the tree. The repository is swdotcom/swdc-vscode-musictime, the GitHub home for issues and support, while the published extension is under the publisher softwaredotcom with the name music-time, which is what appears in the extension list. The project page is on the vendor's own site, and support is offered through the issue tracker or by email at [email protected].

The maintenance picture is the part to check. The repository has no GitHub releases, and the last push was on 2026-06-22, more than six months before the present date, so the tree has not been updated since then. The version in the manifest is 2.2.47, and a packaged artefact, music-time-2.2.47.vsix, sits in the repository alongside a dist/ directory.

That combination suggests the extension is published from this tree with the built output committed, and the tooling reflects a long-lived project: the scripts use tslint for linting alongside webpack for bundling, the repository carries both eslint.config.js and eslint.config.mjs as well as tslint.json, and there are both eslint and tslint configurations. The engines field asks for VS Code ^1.52.0, which is a low floor and means the extension will load in older editors.

Editorial conclusion

Music Time fits an individual developer who wants a player inside the editor and is curious about the relationship between what they listen to and how they code, since the extension is the only place that data is joined and visualised. It does not fit a team that cannot install a companion extension, that has no Spotify account, or that objects to a vendor correlating listening history with coding activity, and the productivity score itself is the vendor's model rather than a published measure. Before installing, read what Code Time collects, check that your Spotify plan works on your platform, since Windows and Linux need premium while macOS can drive the desktop app either way, and note that the repository was last pushed on 2026-06-22 and has no GitHub releases.

Frequently asked questions

What does Music Time need to work?

It needs the Code Time extension, which provides the coding metrics and time tracking it combines with listening data, and a Spotify account. Apple Music, Google Play and other players are not currently supported.

Do I need a premium Spotify account?

On Windows and Linux, yes, because Music Time requires a premium Spotify account and an internet connection to control your music. On macOS it can also control the Spotify desktop app using AppleScript, as either a premium or a non-premium user.

What is the productivity score and what data is it based on?

It is calculated by combining your coding metrics with your listening history and data from over 150,000 developers, using machine learning over music metrics including tempo, loudness, speechiness, energy and valence.

How do I control playback from the editor?

The status bar carries the player controls for play, pause, rewind and skip, and the side panel lists your Spotify playlists so you can start a track from there. The extension also contributes commands such as musictime.next, musictime.previous and musictime.play.

Can I share songs from Music Time with my team?

Yes, through a Slack integration, and there is also a share menu for Facebook, Twitter, WhatsApp and Tumblr. Connecting Slack requires team member permissions or above, so a single or multi-channel guest cannot connect it.

Official sources

  1. Issues
  2. License: Apache-2.0
  3. Project website
  4. README
  5. swdotcom/swdc-vscode-musictime on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/swdotcom-swdc-vscode-musictime.svg)](https://hysenlabs.com/projects/swdotcom-swdc-vscode-musictime)

Was this useful?