Changes to Garmin Import

We’re moving to the updated Garmin API.

If you currently import from Garmin take a second right now and go to your Settings Sync Page and connect your account to the new Garmin API.

This new Garmin API is replacing our existing API connection starting today, so please make sure you connect.

Once you’re connected your next run will automatically sync to Smashrun as soon as it arrives on Garmin Connect. That means no more need to click the sync button. (If you’re a Pro user once you move to the new API everything should be the same as it was.)

For the moment historical synchronization from the Garmin API will be disabled. If you’re an existing user, this shouldn’t make a difference at all. If you’re a new user then check back next week after we work out all the bugs with historical import (or use a 3rd party site like Fitness Syncer).

UPDATE 4/8/21

We had a deadline from Garmin to switch to this new API, so unfortunately these changes had to go live for everyone before we had done the usual beta testing. We’re continuously releasing patches, so please report any issues you spot and we’ll keep knocking away at them.

Import changes

Tonight we released a major rewrite of our import architecture in preparation for migrating to the Garmin Health API.

Smashrun has integrations for a lot of different sources, and then there’s our API, and FIT/TCX/GPX file import, and of course import via email. And it’s all inextricably intertwined. We’ve done a lot of testing over the past week, but there’s a lot of moving parts, and we updated a *lot* of lines of code, and well….it’s been a long night, and it’s not entirely impossible that we broke something.

If all goes well then everything should work exactly the same as it always has. However, if you happen to notice any unexpected behavior, anything weird or out of place, please shoot us an email at and we’ll sort it out.

A better calendar view

There’s a lot packed into that little calendar on the bottom of your overview page. The calendar heatmap with its 3 distinct views for all time, yearly, and monthly stats is kind of a sleeper. When you first start using Smashrun you might think “oh that looks kind of cool” but not give it too much attention, but then as time passes and you play around with it a bit more it starts to reveal itself.

On the all time view, every single week you’ve ever run is there. You can scan vertically and see the seasonal changes over years of training. Or you can scan horizontally and see the buildup in training for different races at different times each year.

Or you can hover over the legend and know immediately how many weeks you’ve ever exceeded a certain training volume. But when it gets really cool is when you start moving your mouse over the scatter plot, and realize that you can instantly see which years and months you had your longest or and fastest runs.

But there’s always been this problem. The most important information was somewhat obscured. Sure, the marathons and the really high volume weeks stood out with their proud little black dots, but the whole gamut could get a bit lost in the noise. And this was doubly apparent to those with some type of color blindness.

The lead up to the NYC marathon in 2014, that twisted ankle from the cursed pair of sneakers, the oh, so nearly successful attempt at the Towering Staircase badge should have stood out in technicolor, but it didn’t, not really.

Well, we’ve done our absolute best to try and change that. First, we compressed the color range, so that if a high mileage week for you means breaking 10 miles [Chris: I have 104 such weeks] then you should still see a nice range of shades to discern the difference.

As your weekly volume passes 50km or 30 miles a dot appears (yes!), and that dot scales relative to your volume and then itself starts to change color, and then eventually shape creating a visual scale all the way up to 200km or 120 mile weeks.

For the yearly view it gets more interesting. Since the blocks in this view represent daily volume or for the most part individual runs, it was an opportunity to create a visual language for the types of distance runs in structured training plans.

Runs under 10km are delineated by a color scale. Middle distance runs between 10 km and 15km (6 – 10miles) are shown as a dot that scale with the length of the run. Then runs from 15km to marathon length, are shown as a semicircle indicating the percent of the way to a complete marathon. A half marathon is thus a half circle, and a full marathon is a complete circle. The marathon gets a bright red hue chosen for the color of the rash across every contact surface on your body when you finish one.

The aim of all of this is to reduce the gap between seeing and understanding. At first you might need to reference the scale, but the hope is that pretty quickly when you review your training for previous races you should be able to just glance at it, and get it. That’s right, that year, I stacked two nearly marathon length runs into the week before the race, what was I thinking?! In a word, the hope is that this new view will deliver insight, but failing that, at the very least it’s nicer to look at.

UPDATE 7/14/2020

If you run weeks over 50 miles (80km) and prefer less information density you can now toggle to an alternate scale using the link below the legend. This alternate scale does not adjust the dot sizes by training volume, and uses only 2 dots one black and the other white. The cutoffs for the 2 dots are dynamically configured based on your individual training volume history.

Tracking the coronavirus

The pandemic is at once a global and a local phenomenon. For the first time since the Second World War, nearly the entire population of the world is living through a shared experience of fear, grief and hope. We are all learning how to operate in a new reality, we are experiencing isolation, and we are learning how to live without things we once took for granted.

The experience worldwide is the same, but the degree and the timing is hugely varied. There is no single narrative. If you live in New Zealand the story of the virus is one of resilience and success, if you live in NYC it was the tale of a dark, terrifying and isolated winter followed by a spring awakening with each new day bringing better news. But if you live in Brazil or South Africa, then you’re in the midst of that dangerous Winter now.

Within the US, there’s thousands of diverging stories depending on the town or the city you live in. But the basic information that really matters for you, is how likely is it that someone you have had contact with has the virus, and how is that likelihood changing.

We built a coronavirus tracker that will hopefully make it easier for you to get that answer. It’s pretty straight forward to use, but there’s some important things to understand.

How the tool works

There are 3.5 main views.

You can view trends and totals By Country, By US state, By US city, or by city within a US State (hence 0.5), by selecting a state and the clicking “cities”.

Sorting is powerful

Sort by name – This is useful for finding the place you’re interested in.

Sort by total – This answers where was the outbreak the worst historically

Sort by new – This helps answer how bad is the outbreak is now.

Sort by Trend – This shows where the outbreak is getting worse the quickest. (As of July 1 that’s the USA, followed by India and South Africa)

The data comes from Johns Hopkins

We track cases and deaths. The data is refreshed once a day and it comes directly from the John Hopkins data set. There are other interesting data sets like recovered cases, testing rates, and hospitalizations, but a lot of that data is incomplete or reported differently depending on the location, and that can be misleading.

An important toggle

You can adjust all of the data by population. This is really important because there’s a big difference between the roughly 240 new cases yesterday in NYC yesterday and the roughly 240 new cases in Glynn, Georgia. The experience of many smaller towns has been worse than large cities, and with fewer resources to respond.

Steps to understand your risk

The most important data point for you as an individual is the number of new cases each day per 1m population.

To find and bookmark this information for your location:

  • Click on the top heading to select US State
  • Click the name heading to Sort by Name
  • Scroll down and select your State
  • Click the word “cities” next to the name of your state
  • Find your city or county and select it
  • Select “Per 1m population” to toggle it on.
  • Sort by “New”
  • Bookmark the page for your location and return to it each week because things change fast.

If the number for your location is above 100 that means you’re in one of the highest risk places in the world. For reference, in NYC at the peak of the epidemic there were roughly 600 new cases per 1m people every day.

Watching out for a resurgence

If you live somewhere where things are under control, then the most important number to track is the change in daily new cases on a rolling 7 day basis.

Reporting tends to follow a weekly pattern, it’s administrative, and so if fewer people are working, there are lower numbers reported. This doesn’t necessarily mean that cases are down. A rolling 7 day average helps correct for this.

You can see this data in the bottom chart. Right now for example Japan has very low case numbers, but those low case numbers are rising quickly, and if that keeps up there could be a big problem.

Rolling 7 day case growth in Japan

You can see the same thing happening in Connecticut. Although it’s ranked 41 out of 50 states by new cases, in the last 3 days the cases have suddenly jumped up. The numbers are still small, but the growth is the important thing to watch.

Rolling 7 day case growth in Connecticut

The good news for runners

What we didn’t know months ago, but we’re starting to understand now, is that the Coronavirus seems to spread in a very particular way. It’s transmitted by water droplets expelled during speech (laughs, coughs, sneezing and singing). This transmission happens most readily indoors, and also in low humidity.

If you’re outside running by yourself in the muggy weather, then the odds of transmitting or catching the virus would seem to be very low. If it’s breezy and humid, then the chances are even lower. Add if you add a mask to that equation and some social distancing, then you’ve reduced a small risk to almost nothing.

But what it turns out is actually really dangerous is being inside with the windows closed, with the A/C on (which lowers humidity dramatically) among a large number of people who are talking, laughing, shouting without wearing masks. Picture millions of tiny water droplets being expelled with each word, then hanging in the air with no breeze to blow them away and no humidity to block them, gently floating from one person to the next. That’s the scenario you want to avoid even in places that seem to have things under control.

Running in a pandemic

For some, running is a solitary experience, a chance to be by yourself, to collect your thoughts alone and be lost in nature. But for many of us, it’s something very different – running through city streets and crowded thoroughfares, passing through throngs of people.

And so now, we each have a choice to make. Suddenly we’re responsible not just for our own health, but the health of our loved ones and the health of our community. How much risk are we taking? And how can we mitigate those risks?

For those running streaks, the choice can be much harder. A streak is something you’ve invested in. Many runners haven’t missed a day this year, but others are on multi-year streaks. These streaks are a real accomplishment, they represent hundreds of hard choices where you put your health first when you really didn’t feel like running. But now, suddenly, that math has changed.

We can take less busy routes. We can cross the street. We can wear a mask. We can head straight to the shower when we’re done. But at the end of the day, each run represents a non-zero risk not just to ourselves but to others.

Being human means taking on and managing risk. We weigh the variables and we make informed choices. Sometimes we’ve run by motorways, or down icy trails, or pushed our body and heart to the limit to hit a PR. But those choices were different. They were personal choices.

And sometimes, and I don’t say this lightly….sometimes, the trappings that go along with those choices can really make things complicated. Trappings like streak numbers, goals you’ve set for yourself, and super-awesome-and-rare badges.

So, I have a proposition. If one day, you go to leave for your daily run, and you think “I’m not really sure this is a good idea.” Just do this: *Skip the run* Give yourself a pass. Sure, you ran through rain and snow. You ran on hot days and freezing ones. You ran for a dozen days in a row, you ran for a hundred or even a thousand. But, today, you didn’t run because it wasn’t the right thing to do. And that’s a good thing.

If you decide to make that choice, we’ll sort out the badges and even the streak counters. There’s a global pandemic. You get a pass. Email us, and we’ll figure it out. We’re not sure how we’ll implement it just yet. But even if it means writing code for specific for individual users we’ll do what’s needed, just email us and let us know.

Better streak tracking

We’ve adjusted the streak tracker to make it a bit easier to keep track of your current streak. Now, if you’re running a streak but it’s not your longest streak, we display your current streak alongside your longest streak.

Like this…

And likewise if you’re taking a break from running, but it’s not the longest break you’ve taken, then we also show your current break.

Like this…

That said, if you’re not on a streak or on a break (or if your longest streak/break is the one you’re currently in the middle of) the streak tracker will look the same as it always has.

This release also contains dozens of assorted bug fixes. If you’ve reported a problem recently then the odds are that it should be patched in this release. If not, let us know, as we’ll sort it out.

Earn badges again

Update Jan 3, 2020. If you decide to reset your badges, but you’re also going for the 366 days in a year badge, then you’ll run into an issue, because your badges will start counting from the day you reset it. Email us at and we’ll manually adjust the reset date to Jan 1.

For many of us there’s this kind of honeymoon period with the badges on Smashrun. You earn a few badges, it seems silly, but fun. You set your eyes for some harder ones. Before you know it you’re running a streak, you’re building a staircase, you’re piling on longer and longer runs each month. And what started out as just a little fun, has ended up transforming you into altogether better runner. It’s the Smashrun magic.

But then you run out of badges to earn. The magic wears off a bit. Sure you don’t need badges to motivate you to run, but it might be nice to have something to shoot for again.

Starting today, we’ve got a pretty good solution to this problem. If you’re a Smashrun pro user you can go to your Settings page and select reearn badges.

What this will do, is take all of your existing badges and add a +1. That’s it. All the badges will start again with your next run. Run a mile or more for your next run – You’ll get the 1 mile badge. Good on ya!

Now, let’s say, you do this, and suddenly you think: “Good lord, what have I done! I only had one stair left in my Towering Staircase. Now I’m back at the first step!”

No problem. Just click Undo. This will get rid of your +1’s and flatten everything out just the way it used to be.

So, let 2020 be a year of badges! Start your staircase. Kick off your streak. Or just take the simple pleasure of counting off each new month with 10 days of running.

The Leap Year Sweep

It’s a new year, a new decade, and a chance to put your running front and center. 2020 is also a leap year, and that means that it’s a chance to pick up one of the most rare and coveted badge on Smashrun – the Leap Year Sweep.

To get it you’ll need to run every single day for 366 days starting on Jan 1. There’s no minimum distance requirement (although some people set one for themselves). You just have to run Every. Single. Day.

That means scheduling, making sacrifices, and being very, very careful to avoid injury. You’ll need to listen to your body, keep the long range goal in mind, and not take risks by going too hard or too far than your body is ready.

If you pull it off, you’ll earn at least 5 badges, but more importantly you’ll have taken your running to a whole new level.

There’s a reason that just 137 people have earned it. If you want to take a shot you have to commit now and stick with it. Are you in?

We hit Strava’s daily rate limit today. This is pretty disappointing, but the first time it has happened so far. We’ve had a lot of new registrations connecting to Strava today, so hoping this won’t be a problem going forward.

That unfortunately means, until the rate limit resets, you’ll need to upload a TCX or FIT file.

Plan your goals

You can now setup your goals for months in future. It’s simple. Just select the date, and add your goal. 🙂

* Note that the dates will be greyed out because there’s no data yet.

Virtual Runs
We’ve also added another small improvement. If you run on a a treadmill that does virtual runs (like a Zwift for example), then you may find yourself collecting location notables for places you’ve never physically been. You can now tag these runs as “Virtual” and that will solve the problem.

New integrations are live

Import for Suunto, Polar, Strava, Fitbit and MapMyRun

You can now import from 5 new sources: Polar, Suunto, Strava, Fitbit and MapMyRun!

This means that Smashrun now supports every single app and watch with an open API. There’s still a lot of closed ecosystems out there (we’re looking at you Nike), but this should still give you a lot of flexibility to run with what you want, and use it with Smashrun.

Some things to keep in mind before syncing a newly supported source:

  • We try to do our best to prevent duplicates, but for some of these sources the start times can be a little off the original source. This can sometimes create dupes, if you already have runs on Smashrun that you’ve synced another way. So remember: set a minimum import date.
  • If you notice an issue, please send us an email at We’ve done our best to address all the issues that came up in the beta, but sometimes there’s problems unique to certain accounts or certain runs, we’ll fix them as soon as we can, but be sure to let us know.
  • Remember, there’s a ton of ways to get your data on Smashrun. In addition to syncing from a support source, you can import via email, use an integrated app, or import FIT/TCX/GPX files directly. You can even zip up a whole bunch of files and import that.
  • More importantly, there’s also a ton of ways to get data out of Smashrun. Unlike many sites we’ve spent a lot of time making sure you can easily export high quality data and store it for you records, or use it on another site.
    • You can request a full export.
    • You can export individual runs.
    • You can use our API (immediately without prior approval).
    • You can export a CSV file you can use in Excel

Thanks to all the beta testers who helped us iron out the bugs! We couldn’t have done it without you.