Garmin Connect — building the UX foundation for a fitness platform's wellness era
Garmin Connect held billions of miles of athlete data but was built for one moment — the finished workout. From 2012 to 2014 I led UX to ready it for a new kind of user: the person tracking every step, every day.
Explore Training Plans — the filter system I redesigned, shown in a 2013 build. Activity type, level of effort, and a heart-rate toggle surfaced as visible controls instead of buried checkboxes.
Overview
From finished workouts to everyday wellness
Garmin Connect was the free online home for Garmin's athletes — the place a run, ride, or swim went after a Forerunner or Edge device recorded it. For years that was enough. But between 2012 and 2014, the ground shifted under the entire company, and Connect had to shift with it.
I joined the Garmin Connect UX team as a designer who also coded — fluent in the front-end, embedded with developers across a sprawling web platform. Over roughly two years I owned Training Plans end to end, authored the web style guide and the UX-to-development workflow that governed how design reached production, and led the CSS and interaction design for the widget system at the center of Connect's redesign.
Problem
A platform built for the workout, not the day
Garmin Connect was very good at one thing: receiving a completed activity and turning it into charts. By the start of 2014 it carried more than four billion miles of uploaded activity. But three pressures were converging, and the platform was not built to absorb any of them.
The business was changing underneath us. Garmin had been a navigation company, and the standalone GPS market was collapsing as smartphones replaced dedicated devices. Fitness was the growth story now — and Connect was no longer a companion to a running watch, it was strategic infrastructure.
A new kind of user was arriving. Garmin was preparing its first always-worn device — a wellness band that produced not one tidy upload but a continuous stream of steps, sleep, daily goals, and hourly nudges. Connect had no place to put that.
The platform itself had aged. The interface was dated, navigation inconsistent, and there were no shared front-end standards — so every design decision had to survive a lossy translation to production.
I felt that last one personally, and wrote it down at the time: "I have to go to a developer to change HTML and CSS. I cannot see an updated CSS fix locally since the HTML is not true to the way I left it." Design was trapped behind handoffs.
The real problem
The redesign wasn't a fresh coat of paint. It was re-architecting Connect so it could host a use case it was never built for — the everyday, all-day user — and fixing the broken pipeline between design and production so that re-architecture could actually ship.
Research & Information Architecture
Getting clarity before getting to pixels
A platform this large rewards untangling before redrawing. I wrote the Training Plans system down until it made sense — defining its three states explicitly — and tested with real runners, letting the findings overrule the plan.
1) Template A default or user-created plan that can be scheduled — no active state of its own.
2) Scheduled A copy in active use that never modifies its template.
3) Historical An inactive copy — completed or abandoned — available to revisit or reactivate.
4) Testing Three usability scenarios — new, intermediate, and advanced runners — run against the design.
5) Incorporations Findings overruled the plan: pre-filled dates, filters moved back to the top, copy cut to a step instruction.
The Training Plans states model — Template, Scheduled, Historical — written down to manage complexity before any interface was drawn.
Solution
Three pillars: a feature, a system, and a standard
My work on Garmin Connect concentrated in three areas — one end-to-end feature, one cross-cutting widget system, and one set of standards that changed how design itself reached production.
Pillar 1
Training Plans, end to end
Training Plans let a runner choose a structured, day-by-day plan, drop it onto a calendar, and send workouts to their device. I owned it from requirements through shipped interaction. The redesigned Explore page turned advanced filtering into something visible and usable — a duration slider, and activity and effort-level filters that toggled by icon. Each featured plan carried its coach's bio, answering a real question testers raised: where does this plan come from? On the calendar, I designed drag-and-drop rescheduling — a workout could move and the rest of the plan shifted around it, while race day never moved — with a reassurance prompt before every reversible action. A small deliberate copy decision: "delete" became "remove," because the user was taking a workout off their schedule, not erasing it.
Explore Training Plans: the listing and Sort By filter rail — activity, level, and plan type as visible controls. A real 2013 build.
Calendar reschedule: the reassurance prompt for a drag-and-drop move — shift one workout, or the whole series. The real dialog.
Pillar 2
The widget system for the wellness era
The redesign of Garmin Connect introduced a customizable, widget-based dashboard — and the widgets were how the platform would finally hold the everyday user's data. I led interaction design and front-end CSS for that system: the Daily Summary and Step Summary widgets that turned a continuous stream of steps, calories, distance, and sleep into something glanceable; the VIVO daily-summary widget built for Garmin's new wellness band; and the Calorie widget, including its MyFitnessPal integration — the connected, disconnected, and no-data states, and the plain-language equation Consumed − Active = Net. To get that integration right I studied how another platform, Withings, handled third-party connection, and mapped each step of its flow to a Connect equivalent. A widget is a small surface doing a hard job: glanceable, graceful when there's no data yet, and consistent with every other widget so a user learns it once.
Early concepts: the widget thinking started as ink on sticky notes — Daily Summary, steps, and an activity breakdown — before it became styled components.
Glanceable by design: the VO₂ Max module — a raw fitness number turned into a single readable gauge. Shipped for the Forerunner 620.
Pillar 3
Standards: a style guide and a workflow
The deepest problem wasn't any single screen — it was that design and development had no shared language, so quality leaked at every handoff. I authored the Garmin Connect web style guide: branding, color palette, typography, an icon-font system, layout grids, and full component specs, alongside code standards for HTML, CSS, and JavaScript. I also co-authored the UX-to-development workflow that defined the contract between the disciplines — UX hands off functional prototypes; development hands back clean, unstyled, data-injected markup; UX authors all CSS following OOCSS principles. It named the boundary precisely, and was reviewed and annotated by the engineering and UX leads. That document was the structural fix for the friction I'd written down at the start. The work carried straight into the redesign: across the GC2 effort I owned the CSS implementation for a long list of tracked components and pages, and the Global Changes area — where I pushed accessibility ahead of its time, adding alt text and title attributes across dozens of images and icon-only controls.
Color system: swatches tested under sun and fluorescent light, then mapped to workout and calendar event colors — accessibility-minded decisions for the style guide.
UX-to-dev workflow: the contract between disciplines — the structural fix that turned a lossy handoff into a defined process.
Design details
Three-state Training Plans model — Template, Scheduled, Historical — naming complexity to make it designable
Drag-and-drop calendar with reassurance prompts; race day fixed in place
Widget states designed for graceful no-data and consistency across the system
Style guide and UX-to-dev workflow as shared infrastructure, not one-off deliverables
Results
What I owned, and what shipped
Garmin Connect served millions of athletes, and I won't claim its platform metrics as my own. What I can state plainly is what I was accountable for and what reached production.
0B
Miles of uploaded activity
The scale of the platform the redesign had to serve — Garmin's own figure, January 2014.
0
Pillars owned
Training Plans end to end, the widget system, and the standards that govern how design ships.
0
Designers mentored
Onboarded and mentored three UX designers, sharing craft and domain knowledge.
0yr
Building the foundation
Two years readying Connect for its redesign and its first wellness experience.
Notes: Garmin Connect's redesign was announced in January 2014 and rolled out in phases; my work built the UX foundation toward it during my 2012–2014 tenure. Platform-scale figures are public, era-correct context — Garmin reported more than four billion miles uploaded by users as of January 2014 — and are not presented as individual results.
Testing & Discovery
Letting real runners overrule the plan
I wrote three usability scenarios around distinct user types and ran them — and the findings were direct, occasionally humbling, and always acted on.
A new runner committing to a first 5K, an intermediate runner editing and printing a plan, an advanced runner rearranging workouts
Users overlooked the start- and end-date fields entirely — so I pre-populated them and cut the explanatory copy to a step instruction
The proposed left-column filter layout tested badly — so I moved filters back to the top, where users actually looked
One tester was simply confused about when her plan started on the calendar — clear evidence that "obvious to the designer" and "obvious to the user" are different things
Testers also asked where plans came from and whether to trust them — which is why each featured plan ended up leading with its coach's bio.
Key Milestones
Building toward the wellness redesign
Training Plans, end to end
Owned the feature from requirements and states model through usability testing, the redesigned Explore page, and the drag-and-drop calendar.
The widget system
Led interaction design and front-end CSS for the Daily Summary, Step Summary, VIVO, and Calorie widgets at the center of Connect's redesign.
Standards that outlived the features
Authored the Connect web style guide and co-authored the UX-to-development workflow adopted across the team.
Lessons Learned
What this project taught me
Write the system down before you draw it. Training Plans only became designable once I'd named its three states. When a problem feels overwhelming, that's usually a sign the model isn't explicit yet — not that the model is too hard.
Fix the pipeline, not just the screen. The most useful thing I made at Garmin wasn't a screen — it was the UX-to-development workflow. A friction you feel every day is worth designing a process around, because the process keeps paying out long after any single feature ships.
Design for the data you'll have, not the data you have. Connect was built for the finished workout; the future was the everyday user generating a different shape of data. The widget system worked because it was designed around where the platform was going, not where it had been.
Protect scope honestly. Working across a sprawling platform, I learned to flag plainly when a sprint was overcommitted rather than quietly absorb it — surfacing the tradeoff is part of the job, not a failure of it.
Beyond the Features
What lasted
Beyond shipping features, this period was formative for how I work — it's where I became a designer who codes, who thinks in systems, and who treats the boundary between design and development as something to be designed deliberately, not left to chance.
People
Mentored and onboarded three UX designers, sharing craft and domain knowledge on a complex platform
Shared infrastructure
The style guide and UX-to-development workflow became shared infrastructure the team kept using after any single project moved on