# Componentry > Bike component tracking and maintenance management software that helps cyclists know exactly when to service, charge, or replace every part on their bikes. This file contains the complete content of Componentry's documentation, blog posts, and changelog entries. ## Documentation - [Activity Tags](https://www.componentry.app/docs/activity-tags/activity-tags): Learn how to organize and categorize your activities using Activity Tags in Componentry. Activity Tags are a powerful way to organize, categorize, and filter your activities in Componentry. They help you quickly find specific workouts, analyze training patterns, and maintain better organization of your fitness data. ## What are Activity Tags? Activity Tags are labels that you can apply to your activities to group them by various criteria such as training focus, location, equipment used, or any other classification that's meaningful to your fitness routine. ## Tag Types Componentry supports three different types of Activity Tags, each serving a specific purpose: ### System Tags System Tags are automatically created and managed by Componentry. These tags are generated based on activity data and system events. System Tags cannot be edited or deleted by users as they provide essential functionality for the platform. **Note:** Activity types (such as "Indoor", "Outdoor") are automatically captured in your activity data and don't need to be recorded as tags. Tags are best used for additional context like conditions, terrain, or training focus that isn't captured in the basic activity information. **Examples of System Tags:** - `Wet` - Can be applied to activities detected in wet conditions - `Gravel` - Can be applied to activities detected on gravel surfaces - `Road` - Applied to activities detected on paved roads - `Trail` - Applied to activities detected on trails ### Strava Tags Strava Tags are automatically synchronized from your connected Strava account. When you connect Strava to Componentry, any tags you've applied to activities in Strava will be imported and kept in sync. **Features of Strava Tags:** - Automatically imported from your Strava activities - Kept in sync with changes made in Strava - Cannot be edited directly in Componentry (changes must be made in Strava) - Identified with the Strava logo for easy recognition ### Personal Tags Personal Tags are custom tags that you create and manage yourself. These provide the most flexibility for organizing your activities according to your personal training methodology and preferences. **Examples of Personal Tags:** - `Base Training` - For aerobic base building activities - `Tempo` - For threshold training sessions - `Recovery` - For easy recovery workouts - `Hill Repeats` - For specific hill training sessions - `Morning Workout` - For activities done in the morning - `Gym` - For activities performed at the gym - `Kit` - For tagging activities based on the equipment or clothing used - `Nutrition` - For tagging activities related to nutrition or fueling strategies ## Benefits of Using Activity Tags ### Organization Tags help you organize your activities in a way that makes sense for your training. Instead of scrolling through long lists of activities, you can quickly filter by relevant tags. ### Analysis By consistently tagging your activities, you can analyze patterns in your training. For example, you can see how many recovery runs you've done in a month or track your interval training frequency. ### Quick Filtering The activity filter system allows you to quickly find specific types of workouts by selecting one or more tags, making it easy to review past sessions or plan future training. ### Training Planning Tags help you maintain balance in your training by making it easy to see what types of workouts you've been doing and what might be missing from your routine. ## Getting Started with Activity Tags To begin using Activity Tags effectively: - **Review existing tags** - Check what System and Strava tags are already available - **Create Personal tags** - Add custom tags that match your training style - **Apply tags consistently** - Develop a habit of tagging activities as you review them - **Use filters** - Take advantage of tag filtering to analyze your training The following sections will guide you through creating, editing, and managing your Activity Tags to get the most out of this organizational system. - [Creating Activity Tags](https://www.componentry.app/docs/activity-tags/creating-activity-tags): Learn how to create new Personal Activity Tags to organize your workouts in Componentry. Creating Personal Activity Tags allows you to organize your activities according to your unique training methodology and preferences. Only Personal tags can be created by users - System and Strava tags are managed automatically. ## Accessing the Activity Tags Page To create new Activity Tags, navigate to the Activity Tags management page: - From the main navigation, go to **Settings** - Select **Activity Tags** from the settings menu - You'll see a list of all existing tags organized by type ## Creating a New Personal Tag ### Step 1: Open the Create Dialog On the Activity Tags page, click the **"Create New Tag"** button. This will open the tag creation dialog. ### Step 2: Fill in Tag Details In the creation dialog, you'll need to provide the following information: #### Tag Name (Required) - Enter a descriptive name for your tag - Keep it concise but clear (e.g., "Base Training", "Hill Repeats", "Recovery") - Tag names should be unique across all your Personal tags - Use consistent naming conventions for better organization #### Description (Optional) - Add a brief description to explain when this tag should be used - This helps maintain consistency when applying tags to activities - Useful for complex training concepts or when sharing access with coaches ### Step 3: Save the Tag - Review your tag details for accuracy - Click **"Create Tag"** to save - The new tag will appear in your Personal Tags list - You can immediately start applying it to activities ## Best Practices for Creating Tags ### Naming Conventions **Use Clear, Descriptive Names** - ✅ Good: "Tempo Run", "Strength Training", "Recovery Ride" - ❌ Avoid: "Workout 1", "T", "Fast stuff" **Be Consistent with Terminology** - If you use "Base" for aerobic training, don't also create "Aerobic" or "Easy" - Establish your vocabulary early and stick to it **Consider Training Phases** - "Base Phase", "Build Phase", "Peak Phase" - "Off-Season", "Pre-Season", "In-Season" ### Organization Strategies **Training Intensity** - "Zone 1", "Zone 2", "Zone 3", "Zone 4", "Zone 5" - "Easy", "Moderate", "Hard", "Very Hard" - "Recovery", "Endurance", "Tempo", "Threshold", "VO2 Max" **Training Type** - "Long Run", "Speed Work", "Hill Training" - "Strength", "Mobility", "Cross Training" - "Race", "Time Trial", "Group Ride" **Location or Equipment** - "Treadmill", "Track", "Trails" - "Home Gym", "Commercial Gym", "Outdoor" - "Pool", "Open Water" **Training Focus** - "Technique", "Endurance", "Power", "Speed" - "Upper Body", "Lower Body", "Core" - "Flexibility", "Balance", "Coordination" ## Tag Hierarchy and Relationships While Componentry doesn't have nested tags, you can create logical groupings using consistent naming: **Example Training System:** - `Base-Easy` - `Base-Moderate` - `Build-Tempo` - `Build-Threshold` - `Peak-VO2Max` - `Peak-Neuromuscular` **Example Location System:** - `Indoor-Treadmill` - `Indoor-Bike Trainer` - `Outdoor-Road` - `Outdoor-Trail` ## Common Tag Ideas ### Endurance Sports - `Base Building` - `Tempo` - `Interval Training` - `Long Slow Distance` - `Fartlek` - `Hill Repeats` - `Track Work` - `Time Trial` - `Race Simulation` - `Recovery` - `Easy Spin` - `Brick Workout` (for triathletes) ### Strength Training - `Upper Body` - `Lower Body` - `Full Body` - `Core` - `Functional` - `Olympic Lifts` - `Bodyweight` - `Machine Work` - `Free Weights` ### General Fitness - `HIIT` - `Circuit Training` - `Yoga` - `Pilates` - `Stretching` - `Mobility` - `Balance` - `Coordination` ## After Creating Tags Once you've created your Personal tags: - **Apply them to existing activities** - Review recent activities and add appropriate tags - **Develop tagging habits** - Make tagging part of your post-workout routine - **Test your filtering** - Use the activity filters to ensure your tags work as expected - **Refine as needed** - You can always edit tag names and descriptions later Remember that consistent tagging is key to getting the most value from this organizational system. Start with a few essential tags and expand your collection as your training becomes more structured. - [Editing and Deleting Activity Tags](https://www.componentry.app/docs/activity-tags/editing-and-deleting-activity-tags): Learn how to modify and remove Personal Activity Tags in Componentry. As your training evolves, you may need to update your Personal Activity Tags to better reflect your current methodology. Componentry allows you to edit and delete Personal tags, while System and Strava tags are managed automatically and cannot be modified directly. ## Which Tags Can Be Modified? ### Personal Tags ✅ - **Can Edit**: Name, description, and visibility - **Can Delete**: Yes, with confirmation - **Full Control**: Complete management capabilities ### System Tags ❌ - **Cannot Edit**: Name, description, or functionality - **Cannot Delete**: Required for platform functionality - **Read-Only**: View and apply only ### Strava Tags ❌ - **Cannot Edit in Componentry**: Must be changed in Strava - **Cannot Delete in Componentry**: Managed by Strava sync - **Automatic Sync**: Changes in Strava will reflect in Componentry *[Screenshot placeholder: Activity Tags list showing edit options only available for Personal tags]* ## Editing Personal Activity Tags ### Accessing the Edit Function - Navigate to **Settings > Activity Tags** - Locate the Personal tag you want to edit - Click the **Edit** button (pencil icon) next to the tag - The edit dialog will open with current tag information *[Screenshot placeholder: Personal tag with edit button highlighted]* ### Modifying Tag Details #### Changing the Tag Name - Update the name field with your new preferred name - Ensure the new name doesn't conflict with existing Personal tags - Consider the impact on existing activities that use this tag - The tag will be automatically updated on all activities where it's applied #### Updating the Description - Modify or add a description to clarify the tag's purpose - Helpful for maintaining consistency, especially if multiple people have access - Can include usage guidelines or examples #### Visibility Settings - Tags can be hidden without being deleted (see "Hiding Activity Tags" section) - Hidden tags remain applied to activities but don't appear in selection lists *[Screenshot placeholder: Edit tag dialog showing name, description, and visibility options]* ### Saving Changes - Review your modifications carefully - Click **"Update Tag"** to save changes - The updated tag will immediately reflect across all activities - No data is lost - the tag maintains its connections to existing activities ## Deleting Personal Activity Tags ### When to Delete Tags Consider deleting a tag when: - You no longer use that training method or classification - You've consolidated multiple similar tags into one - The tag was created in error - Your training philosophy has changed significantly ### Before Deleting: Important Considerations **Impact on Activities** - Deleting a tag removes it from ALL activities where it was applied - This action cannot be undone automatically - Consider hiding the tag instead if you might want to restore it later **Alternative to Deletion** - **Hide the tag** instead of deleting it to preserve historical data - Hidden tags maintain their connections but won't appear in selection lists - You can always unhide tags later if needed ### Deletion Process #### Step 1: Initiate Deletion - On the Activity Tags page, find the Personal tag to delete - Click the **Delete** button (trash icon) next to the tag - A confirmation dialog will appear *[Screenshot placeholder: Delete button and confirmation dialog]* #### Step 2: Confirm Deletion The confirmation dialog will show: - The tag name being deleted - Number of activities currently using this tag - Warning that this action cannot be undone #### Step 3: Final Confirmation - Read the warning carefully - Type the tag name to confirm (if required) - Click **"Delete Tag"** to proceed - The tag is permanently removed from your account and all activities *[Screenshot placeholder: Deletion confirmation dialog showing activity count and warning]* ### What Happens After Deletion **Immediate Effects:** - Tag is removed from all activities - Tag no longer appears in filter lists - Tag is not available for future use **Data Integrity:** - Activities maintain all other tags and data - No other activity information is affected - Deletion is logged for audit purposes ## Best Practices for Tag Management ### Regular Review - Periodically review your tag list for unused or outdated tags - Consolidate similar tags to maintain a clean organization system - Archive old training phases rather than deleting historical tags ### Before Making Changes **Document Your System** - Keep notes about your tagging methodology - Consider the impact on historical analysis before major changes - Plan tag consolidation carefully **Backup Considerations** - Export activity data before major tag restructuring - Consider creating a new tag before deleting an old one - Test changes with a small set of activities first ### Editing vs. Creating New Tags **Edit When:** - Correcting typos or improving clarity - Adding descriptions to existing tags - Minor refinements to tag names **Create New When:** - Significantly changing the meaning or purpose - Splitting one concept into multiple tags - Adding completely new training concepts ## Bulk Tag Management ### Replacing Deleted Tags If you've deleted a tag and want to apply a different tag to those activities: - Use activity filters to find activities that previously had the deleted tag - Look for activities missing expected categorization - Apply appropriate replacement tags - Update your tagging methodology documentation ### Tag Consolidation Strategy When consolidating multiple tags into one: - **Create the new consolidated tag** first - **Apply the new tag** to all relevant activities - **Verify coverage** before deleting old tags - **Delete the old tags** one at a time - **Document the change** for future reference *[Screenshot placeholder: Activity list showing the process of replacing a deleted tag]* ## Troubleshooting Common Issues ### "Tag Not Found" Error - Occurs when trying to edit a recently deleted tag - Refresh the page and try again - Check that you have the correct permissions ### Changes Not Reflecting - Clear browser cache if changes don't appear immediately - Ensure you clicked "Update Tag" to save changes - Check that you're editing the correct tag type (Personal only) ### Accidental Deletion Recovery - Contact support immediately if a tag was deleted accidentally - Provide the exact tag name and approximate deletion time - Recovery may be possible from system backups (not guaranteed) Remember that thoughtful tag management improves your ability to analyze training patterns and find specific workouts. Take time to plan changes rather than making hasty modifications that might disrupt your organizational system. - [Hiding Activity Tags](https://www.componentry.app/docs/activity-tags/hiding-activity-tags): Learn how to hide Activity Tags to keep your tag list organized while preserving historical data in Componentry. Hiding Activity Tags is a powerful feature that allows you to declutter your tag selection lists while preserving all historical data and connections to activities. This is particularly useful for managing seasonal training phases, deprecated tags, or maintaining a clean interface without losing valuable training history. ## What Does Hiding a Tag Do? ### Visibility Changes **Hidden from Selection:** - Hidden tags don't appear in the tag selection dropdown when editing activities - They're not shown in the main tag filter on the Activities page - Tag creation dialogs won't suggest hidden tag names **Still Visible Where Applied:** - Activities that already have the hidden tag will continue to display it - Hidden tags appear in activity detail views and tag lists - They're shown with a visual indicator (typically dimmed or with an icon) **Preserved Functionality:** - All tag connections to activities remain intact - Hidden tags can still be used in advanced filters - Historical data analysis includes hidden tag data *[Screenshot placeholder: Activity view showing hidden tag still displayed on activities but dimmed]* ## When to Hide Tags Instead of Deleting ### Seasonal Training Phases Hide tags for training phases that are currently inactive but will return: - `Base Phase` during racing season - `Peak Phase` during off-season - `Indoor Training` during summer months - `Outdoor Training` during winter months ### Deprecated Training Methods When you've moved away from certain training approaches but want to keep historical data: - Old periodization systems - Replaced training terminology - Equipment-specific tags for gear you no longer use ### Experimental Tags For tags you created to test new organizational systems: - Trial categorization methods - Temporary event-specific tags - A/B testing different naming conventions ### Clutter Reduction To maintain a clean, focused tag list while preserving options: - Rarely used but still valid tags - Very specific tags for occasional use - Legacy tags with good historical value *[Screenshot placeholder: Activity Tags management showing mix of visible and hidden tags]* ## How to Hide Personal Activity Tags ### Step 1: Access Tag Settings - Navigate to **Settings > Activity Tags** - Locate the Personal tag you want to hide - Click the **Edit** button (pencil icon) next to the tag ### Step 2: Toggle Visibility - In the edit dialog, find the **"Hidden"** toggle or checkbox - Enable the hidden setting - Optionally, update the description to note why it's hidden - Click **"Update Tag"** to save changes *[Screenshot placeholder: Edit tag dialog with "Hidden" toggle highlighted]* ### Step 3: Verify Hidden Status After saving: - The tag will show a "hidden" indicator in the tag list - It will disappear from activity tag selection dropdowns - Activities with this tag will still display it (usually dimmed) ## Managing Hidden Tags ### Viewing Hidden Tags **In Tag Management:** - Hidden tags appear in the Activity Tags list with a visual indicator - Usually shown with an eye-slash icon or dimmed appearance - May be in a separate "Hidden Tags" section **On Activities:** - Hidden tags still appear on activities where they're applied - Often displayed with reduced opacity or special styling - May include a tooltip indicating the tag is hidden *[Screenshot placeholder: Tag management interface showing hidden tags with visual indicators]* ### Unhiding Tags To make a hidden tag visible again: - **Find the hidden tag** in your Activity Tags list - **Click Edit** on the hidden tag - **Disable the "Hidden" setting** - **Save the changes** - The tag will immediately become available in selection lists again ### Bulk Hide Operations When hiding multiple related tags: - **Document your reasoning** for future reference - **Hide tags one at a time** to avoid mistakes - **Test the interface** to ensure the desired tags are hidden - **Verify activities** still display correctly ## Hidden Tag Behavior in Different Areas ### Activity Editing **Tag Selection Dropdown:** - ✅ Visible tags appear in the list - ❌ Hidden tags are excluded from selection - ℹ️ You can still see hidden tags already applied to the activity **Manual Tag Search:** - Some interfaces may allow searching for hidden tags - Advanced users can still apply hidden tags if needed - Typically requires typing the exact tag name ### Activity Filtering **Standard Filters:** - Hidden tags don't appear in the main tag filter dropdown - Prevents accidental filtering by deprecated tags - Keeps filter interface clean and focused **Advanced Filtering:** - Hidden tags may be available in advanced search - Useful for analyzing historical data - Allows coaches or analysts to access full tag history *[Screenshot placeholder: Activity filter showing only visible tags in dropdown]* ### Reports and Analysis **Automatic Inclusion:** - Hidden tags are typically included in data exports - Historical analysis includes all tag data regardless of visibility - Comprehensive reporting maintains data integrity **Manual Exclusion Options:** - Some reports may offer options to exclude hidden tags - Useful for current-state analysis vs. historical analysis - Helps focus on active training methodologies ## Best Practices for Tag Hiding ### Strategic Hiding **Seasonal Approach:** - Hide off-season tags rather than deleting them - Create a schedule for showing/hiding seasonal tags - Document when tags should be visible vs. hidden **Gradual Deprecation:** - Hide old tags before deleting them - Test that hidden tags don't break your workflow - Give yourself time to adjust to the new organization ### Documentation **Record Your Decisions:** - Note why tags were hidden in tag descriptions - Maintain a list of hidden tags and their purposes - Document when hidden tags should be restored **Team Communication:** - If sharing access, communicate tag hiding decisions - Explain the rationale for hiding specific tags - Provide guidance on when to unhide tags ### Regular Maintenance **Periodic Review:** - Review hidden tags quarterly or seasonally - Assess whether hidden tags should be permanently deleted - Consider unhiding tags that have become relevant again **Clean Up Strategy:** - After 1-2 years, consider deleting truly obsolete hidden tags - Keep hidden tags that have seasonal or cyclical relevance - Maintain hidden tags that preserve important historical context ## Troubleshooting Hidden Tags ### "Tag Not Available" Issues **Problem:** Can't find a tag when editing activities **Solution:** Check if the tag is hidden and unhide if needed ### Filter Problems **Problem:** Can't filter by a tag you know exists **Solution:** Verify the tag isn't hidden or use advanced search ### Display Inconsistencies **Problem:** Hidden tags appearing in some places but not others **Solution:** Refresh the page or clear browser cache ### Accidental Hiding **Problem:** Important tag accidentally hidden **Solution:** Edit the tag and disable the hidden setting immediately *[Screenshot placeholder: Troubleshooting interface showing how to unhide a tag]* ## Advanced Hidden Tag Strategies ### Training Phase Management Create a system for managing training phases: - **Current Phase:** All relevant tags visible - **Transition Phases:** Gradually hide old phase tags - **Off-Season:** Hide competition-specific tags - **Archive Phases:** Hide very old training methodologies ### Equipment-Based Hiding Hide tags related to equipment you no longer use: - Tags for sold or broken equipment - Location-specific tags for gyms you no longer attend - Weather-specific tags for seasonal equipment ### Coaching and Shared Access When sharing access with coaches or training partners: - Hide personal/private tags from shared views - Maintain professional tag organization - Hide experimental or testing tags from official analysis Remember that hiding tags is reversible and preserves all your historical data. Use this feature liberally to maintain a clean, organized tagging system that adapts to your evolving training needs while preserving valuable historical insights. - [Bike Fit Measurements](https://www.componentry.app/docs/bike-fit/bike-fit): Track and compare your bike fit measurements to maintain consistent positioning and optimize comfort across your bikes. Bike Fit Measurements in Componentry help you record, track, and compare your bike positioning over time. Whether you've had a professional bike fit or dialed in your own setup, keeping accurate records ensures you can maintain consistency, replicate your position on new bikes, and track how your fit evolves. ## What are Bike Fit Measurements? Bike Fit Measurements are a comprehensive record of your bike's setup and your position on it. This includes everything from saddle height and handlebar reach to cleat position and frame geometry. Each measurement set captures a snapshot of your bike fit at a specific point in time. In Componentry, measurements are organized by bike (gear) and stored as versions. This allows you to track changes over time, compare before and after adjustments, and maintain a complete history of your bike fit evolution. *[Screenshot placeholder: Bike Fit page showing measurement categories and version selector]* ## Why Track Your Bike Fit? ### Maintain Consistency Once you've found a comfortable and efficient position, you want to keep it. Recording your measurements means you can: - Restore your position after maintenance or travel - Set up a new bike to match your existing fit - Verify nothing has shifted after a crash or transport ### Track Adjustments Over Time Your ideal fit may evolve as your flexibility, fitness, or riding style changes. Version history lets you: - See how your position has changed over months or years - Compare measurements before and after adjustments - Revert to a previous setup if a change doesn't work out ### Collaborate with Bike Fitters Professional bike fitters appreciate detailed records. With your measurement history you can: - Share your current setup before an appointment - Document the changes made during a fit session - Reference specific measurements in discussions ### Recover from the Unexpected Crashes, rebuilds, and major component changes can disrupt your fit. Having records means: - Quickly restoring your position after repairs - Knowing exactly what changed if something feels off - Documenting your setup for insurance or warranty purposes *[Screenshot placeholder: Version selector showing multiple measurement versions with dates]* ## Measurement Categories Componentry organizes bike fit measurements into six categories, covering over 35 individual measurements. You don't need to record every measurement - only fill in what you have or what's relevant to your setup. ### Saddle Measurements related to your saddle position and setup: - Saddle height (from bottom bracket to saddle top) - Saddle setback (horizontal distance from bottom bracket) - Saddle angle (tilt in degrees) - Saddle fore/aft position - Saddle width and length ### Handlebar Measurements for your handlebar setup: - Handlebar width - Handlebar drop (road bars) - Handlebar reach (road bars) - Handlebar rise (flat/MTB bars) - Handlebar rotation angle ### Stem Stem-specific measurements: - Stem length - Stem angle - Spacer stack height ### Cockpit Overall position measurements that define your riding posture: - Stack (vertical height from bottom bracket to handlebar) - Reach (horizontal distance from bottom bracket to handlebar) - Saddle-to-handlebar drop - Saddle-to-handlebar reach ### Cleat Cleat and foot positioning: - Cleat fore/aft position - Cleat rotation - Cleat lateral position - Q-factor / stance width ### Frame Reference geometry measurements (useful when comparing across bikes): - Seat tube length - Effective top tube length - Head tube length - Frame stack and reach *[Screenshot placeholder: Expanded measurement category showing individual measurement fields with values]* ## Key Features ### Partial Measurements You don't need to fill in every field. Record only the measurements you have - empty fields are simply omitted. Each category shows a badge indicating how many measurements are filled. ### Fit Date Each measurement set includes a fit date - the date the measurements were taken. This is separate from when the record was created, allowing you to accurately document when a fit was performed. ### Names and Notes Give each measurement set a descriptive name like "Initial Setup", "Post-Fit Session", or "Winter Position". Add notes to record context, conditions, or observations. ### Version History Every measurement set is saved as a version. You can view any previous version, compare versions side-by-side, and track how your fit has evolved. ### Side-by-Side Comparison Select two versions to compare directly. Differences are highlighted, making it easy to see exactly what changed between measurements. *[Screenshot placeholder: Comparison view showing two versions with differences highlighted]* ## Getting Started ### 1. Navigate to Bike Fit From your gear list, click the Ruler icon on any bike card. Or from the gear detail page, click the Fit button in the header next to Settings. ### 2. Record Your First Measurement Click "New Measurement" to open the measurement form. Select the fit date, add an optional name and notes, then expand each category and enter your measurements. ### 3. Save Your Measurements Click "Save Measurements" to create your first version. You can always edit later or add more measurements as you obtain them. ### 4. Track Changes Over Time After adjustments or new fit sessions, create new measurement versions to build your fit history. Use the comparison feature to see what changed. *[Screenshot placeholder: New Measurement button and empty state prompting first measurement]* ## Benefits of Using Bike Fit Measurements ### For Recreational Cyclists - Keep a record of your comfortable setup - Restore your position after bike shop visits - Document changes as you dial in your fit ### For Competitive Cyclists - Maintain precise positioning across training and race bikes - Track seasonal adjustments for different disciplines - Document aero position changes and their effects ### For Bike Fitters and Coaches - Access client measurement history - Track progress over multiple fit sessions - Provide professional documentation ### For Multi-Bike Owners - Ensure consistent positioning across your fleet - Compare geometry differences between bikes - Maintain separate fit records for each discipline The following section guides you through the detailed process of recording, editing, and comparing your bike fit measurements. - [Using Bike Fit Measurements](https://www.componentry.app/docs/bike-fit/using-bike-fit): Learn how to record, edit, and compare bike fit measurements in Componentry. This guide walks you through the complete process of using Bike Fit Measurements in Componentry - from recording your first measurement set to comparing versions and tracking changes over time. ## Accessing Bike Fit There are two ways to access the Bike Fit page for any of your bikes: ### From the Gear List On the main Gear page, each bike card displays a Ruler icon button. Click this button to go directly to that bike's Bike Fit page. *[Screenshot placeholder: Gear list showing bike card with Ruler icon button highlighted]* ### From the Gear Detail Page When viewing a specific bike, you'll find a Fit button in the header row next to the Settings button. Click this to access the Bike Fit page. *[Screenshot placeholder: Gear detail header showing Fit button next to Settings button]* ## Recording Your First Measurement ### Opening the Measurement Form Click the "New Measurement" button to open the measurement form. If you haven't recorded any measurements yet, you'll see an empty state with a prompt to record your first measurement. *[Screenshot placeholder: Empty state with "Record First Measurement" button]* ### Setting the Fit Date The fit date is when the measurements were taken - not when you're entering them into Componentry. This is important for accurate historical tracking. Select the date using the date picker at the top of the form. ### Adding Name and Notes Give your measurement set a descriptive name to identify it later. Examples: - "Initial Setup" - "Post-Fit Session - March 2026" - "Winter Training Position" - "Race Day Configuration" Use the notes field to record any relevant context: - Who performed the fit - Conditions or goals for this setup - Equipment used (specific saddle, pedals, etc.) - Any observations or feelings about the position *[Screenshot placeholder: Measurement form header showing date picker, name field, and notes field]* ### Entering Measurements The form organizes measurements into six collapsible categories. Click any category header to expand it and reveal the measurement fields. **Category Badges** Each category header displays a badge showing how many measurements are filled (e.g., "3/8"). This helps you track your progress and see which categories have data. **Measurement Fields** Each measurement shows: - A reference code badge (e.g., "SH" for Saddle Height) - The measurement name - A brief description of what to measure - An input field for the value - The unit of measurement **Partial Measurements** You don't need to fill in every field. Only enter measurements you actually have. Empty fields are simply omitted from your saved record. You can always come back and add more measurements later. *[Screenshot placeholder: Expanded Saddle category showing measurement fields with some values filled in]* ### Saving Your Measurements Once you've entered your measurements, click "Save Measurements" at the bottom of the form. Your measurement set is saved as version 1 and becomes immediately visible on the Bike Fit page. ## Editing Measurements To edit an existing measurement set, first select it using the version dropdown, then click the "Edit" button. ### Understanding Save Options When editing, you have two options for saving your changes: **Save (Primary Button)** Updates the current version in-place. The existing record is modified with your changes. Use this for: - Correcting typos or errors - Adding measurements you missed initially - Updating notes or the name - Fixing incorrect values **Save as New Version (Secondary Button)** Creates a new version entry while preserving the original. Use this for: - Recording measurements after a new fit session - Documenting adjustments you want to track - Preserving history before making experimental changes - Creating a new baseline after significant modifications *[Screenshot placeholder: Edit form footer showing info message, Cancel, Save as New Version, and Save buttons]* ### The Info Message When editing, an info message appears above the buttons explaining the difference: > "Save" updates this version. "Save as New Version" creates a separate entry to preserve history. This helps you make an informed choice about which action is appropriate for your situation. ### When to Use Each Option ScenarioRecommended ActionFixing a measurement errorSaveAdding forgotten measurementsSaveAfter a professional bike fitSave as New VersionAfter adjusting your saddle heightSave as New VersionCorrecting a typo in notesSaveDocumenting a new position to trySave as New Version ## Comparing Versions The comparison feature lets you see differences between two measurement sets side-by-side. ### Selecting Versions to Compare - **Primary Version**: Use the main version dropdown to select the version you want to view - **Comparison Version**: Click "Compare with..." and select a second version from the dropdown *[Screenshot placeholder: Version selector showing primary version selected and comparison dropdown open]* ### Understanding the Comparison View When comparison mode is active: - Both versions' values are displayed for each measurement - Differences are highlighted to draw attention to changes - The version labels (e.g., "v1", "v2") identify which value belongs to which version This makes it easy to see exactly what changed between fit sessions or adjustments. *[Screenshot placeholder: Measurement display in comparison mode showing differences highlighted]* ### Clearing the Comparison To exit comparison mode and return to viewing a single version, click the clear button next to the comparison version selector. ## Deleting Versions You can delete any measurement version you no longer need. ### How to Delete - Select the version you want to delete using the version dropdown - Click the delete button (trash icon) in the version selector - Confirm the deletion when prompted ### Important Notes - Deleting a version is permanent and cannot be undone - Version numbers are not renumbered after deletion - You can delete any version, including the last remaining one - If you delete the currently selected version, the view will switch to the next available version *[Screenshot placeholder: Version selector with delete button visible]* ## Tips for Accurate Measurements ### Consistency is Key For meaningful comparisons over time, take measurements under consistent conditions: - Same tire pressure - Same shoes and cleats - Bike on level ground - Same measurement tools and techniques ### Use Consistent Reference Points When measuring, always use the same reference points: - Saddle height: Center of bottom bracket to top of saddle at the center - Reach: Consistent points on handlebar (tops, hoods, or drops) - Setback: Plumb line from saddle tip to bottom bracket center ### Record Immediately After Fits The best time to record measurements is immediately after a professional fit or adjustment session: - Values are fresh and accurate - You can ask the fitter for specific measurements - Context and reasoning are easy to remember for notes ### Document the Context Use the notes field to capture important context: - Why changes were made - How the position feels - Goals for this particular setup - Any equipment that's specific to this measurement (saddle model, cleat type, etc.) ### Start Simple You don't need to record every measurement right away. Start with the most important ones: - Saddle height - Saddle setback - Handlebar reach - Saddle-to-bar drop Add more detailed measurements over time as you become more familiar with your setup. *[Screenshot placeholder: Completed measurement set with comprehensive data filled in]* ## Common Workflows ### After a Professional Bike Fit - Create a new measurement set with today's date - Name it something like "Pro Fit - [Fitter Name] - [Date]" - Enter all measurements provided by the fitter - Add notes about the session, goals, and any specific recommendations - Save as your new baseline ### Experimenting with Adjustments - Record your current setup if not already saved - Make your adjustment - Open the edit form for your current version - Update the changed measurements - Click "Save as New Version" to preserve both the before and after - Add notes about what you changed and why ### Setting Up a New Bike - Go to your existing bike's Bike Fit page - Note the key measurements from your preferred version - Set up the new bike to match those measurements - Record the new bike's measurements in its own Bike Fit section - Use comparison to verify the positions match ### Seasonal Position Changes - Create separate versions for different setups (e.g., "Summer Race Position", "Winter Base Position") - Use descriptive names and the fit date to identify each - Compare versions when transitioning between seasons - Reference previous seasons' setups when making changes - [Getting started with Componentry](https://www.componentry.app/docs/getting-started/getting-started): Componentry tracks each component of your bike for you. Learn the key concepts and how to get started. Componentry is a comprehensive bike maintenance and activity tracking platform that helps you know your bike down to the individual component. It tracks the usage and wear of each component so you know exactly when it's time to charge, service, or replace parts. ## What is Componentry? Componentry serves as a companion app for your bike - think of it as "Strava for your bike components." While Strava tracks your activities, Componentry tracks the health and maintenance needs of every component on your bike, from your chain and cassette to electronic shifting systems and power meters. *[Screenshot placeholder: Componentry dashboard overview showing bike components and their status]* ## Key Concepts Understanding these core concepts will help you get the most out of Componentry: ### Activities Activities are the foundation of Componentry's tracking system. These can be: - **Automatically synced** from connected services like Strava - **Created manually** for activities not captured digitally Activities provide the usage data that drives component wear calculations and maintenance scheduling. ### Gear (Bikes and Components) Gear represents your physical equipment: - **Bikes** - Your complete bicycle setups - **Components** - Individual parts like chains, cassettes, brake pads, batteries - **Devices** - Electronic components like power meters, heart rate monitors, bike computers Each piece of gear can be tracked independently for usage, wear, and maintenance needs. ### Activity Tags Activity Tags help organize and categorize your rides: - **System Tags** - Automatically applied based on conditions (Wet, Gravel, Road, Trail) - **Strava Tags** - Synced from your Strava activities - **Personal Tags** - Custom tags you create (Base Training, Recovery, Hill Repeats) Tags enable powerful filtering and analysis of your training patterns. ### Devices Devices are electronic components that can be: - **Paired with activities** to track usage - **Monitored for battery life** and charging needs - **Associated with specific bikes** or used across multiple bikes - **Set up with maintenance reminders** *[Screenshot placeholder: Navigation menu showing the main sections: Home, Activities, Gear, Devices, Activity Tags]* ## Core Features ### Automatic Activity Sync Componentry automatically syncs your activities from connected platforms: - **Strava Integration** - Seamless two-way sync with your Strava activities - **Direct File Upload** - Support for .fit, .gpx, and other activity file formats - **Smart Matching** - Activities are automatically matched to the appropriate bike/gear ### Component Tracking Track every component on your bike: - **Usage Monitoring** - Distance, time, and activity count for each component - **Wear Calculations** - AI-powered models predict when components need attention - **Maintenance History** - Keep records of services, replacements, and upgrades ### Smart Notifications Stay on top of maintenance with intelligent reminders: - **Component Wear Alerts** - Notifications when parts are approaching replacement time - **Battery Reminders** - Alerts for electronic components needing charging - **Service Scheduling** - Customizable maintenance intervals for different components ### Comprehensive Dashboard Get a complete overview of your bike's health: - **Activity Summary** - Recent rides and activity breakdown - **Component Status** - At-a-glance view of all component wear levels - **Maintenance Calendar** - Upcoming service needs and reminders *[Screenshot placeholder: Dashboard showing recent activities, component wear status, and upcoming maintenance items]* ## Getting Started To begin using Componentry effectively, follow these steps: ### 1. Set Up Your Gear Start by adding your bikes and components: - Navigate to **Gear** in the main menu - Add your bike(s) with details like manufacturer, model, and year - Add individual components (chain, cassette, brake pads, etc.) - Specify which components are installed on which bike ### 2. Connect Your Data Sources Link your existing activity data: - **Connect Strava** for automatic activity sync - **Upload device files** for activities not on Strava - **Configure devices** like power meters and bike computers ### 3. Configure Activity Tags Organize your training data: - Review automatically created System and Strava tags - Create Personal tags that match your training methodology - Apply tags to existing activities for better organization ### 4. Set Up Maintenance Reminders Configure alerts for your components: - Set replacement intervals based on manufacturer recommendations - Configure battery charging reminders for electronic components - Customize service schedules based on your riding patterns ### 5. Start Tracking Once configured, Componentry automatically: - Syncs new activities from connected sources - Calculates component wear based on your rides - Sends notifications when maintenance is needed - Provides insights into your bike's overall health *[Screenshot placeholder: Step-by-step setup wizard or onboarding flow]* ## Benefits of Using Componentry ### Prevent Costly Failures Avoid mechanical failures and accidents by replacing components before they fail. Componentry's predictive models help you stay ahead of wear patterns. ### Optimize Performance Keep your bike running at peak performance by maintaining components at their optimal condition. Fresh chains shift better, new brake pads stop more effectively. ### Save Money Extend component life through proper maintenance timing. Replace chains before they stretch cassettes, service bearings before they fail. ### Peace of Mind Ride with confidence knowing your bike is properly maintained. Componentry handles the tracking so you can focus on riding. ## Integration with Strava If you're already using Strava, Componentry enhances your experience by: - **Automatic Sync** - No need to manually upload activities - **Enhanced Data** - Add component and maintenance context to your rides - **Tag Synchronization** - Your Strava tags are automatically imported - **Gear Matching** - Strava activities are matched to specific bikes in Componentry *[Screenshot placeholder: Strava integration setup page]* ## Next Steps Now that you understand the key concepts: - **Explore the Activities section** to see how your rides contribute to component wear - **Set up your first bike** in the Gear section with its components - **Create some Personal Activity Tags** to organize your training - **Configure device reminders** for components that need regular attention The following documentation sections will guide you through each area in detail, helping you master every aspect of bike maintenance tracking with Componentry. - [Managing Notification Preferences](https://www.componentry.app/docs/notifications/managing-notification-preferences): Step-by-step guide to accessing and configuring your notification preferences in Componentry. Componentry gives you complete control over your notifications. This guide walks you through accessing the notification settings and configuring each notification type for your preferred channels. ## Accessing Notification Settings ### From the Settings Menu - Click on **Settings** in the main navigation menu - Look under the **Configuration** section - Select **Notifications** ### Direct URL You can also navigate directly to your notification preferences at: ``` /home/notifications ``` ## Understanding the Preferences Interface The notification preferences page displays all available notification types in a list format, with toggle switches for each delivery channel. ### Layout Overview - **Left side** - Notification type name and description - **Right side** - Three toggle switches for Web, Email, and Mobile channels ### Toggle States - **Enabled (On)** - You will receive this notification on this channel - **Disabled (Off)** - You will not receive this notification on this channel ## Configuring Your Preferences ### Enabling a Notification - Find the notification type you want to enable - Locate the channel column (Web, Email, or Mobile) - Click the toggle switch to turn it **on** - The change saves automatically ### Disabling a Notification - Find the notification type you want to disable - Locate the channel column you want to disable - Click the toggle switch to turn it **off** - The change saves automatically ### Bulk Configuration There is no "select all" option - each notification type must be configured individually. This ensures you make intentional choices about what notifications you receive. ## Recommended Configurations ### For Active Riders If you ride frequently and want to stay informed without notification overload: NotificationWebEmailMobileActivity Processed✓✓Components Processed✓Bike Matched✓✓New Reminder✓✓✓App Token Refresh✓✓✓Strava Matched✓ ### For Casual Riders If you ride occasionally and prefer minimal notifications: NotificationWebEmailMobileActivity Processed✓Components ProcessedBike Matched✓New Reminder✓✓App Token Refresh✓✓Strava Matched ### For Multi-Bike Owners If you own multiple bikes and need careful tracking: NotificationWebEmailMobileActivity Processed✓✓Components Processed✓Bike Matched✓✓✓New Reminder✓✓✓App Token Refresh✓✓✓Strava Matched✓ ## Channel-Specific Considerations ### Web Notifications - Appear in the notification bell in the top navigation - Only visible when you're actively using Componentry - Non-intrusive and don't interrupt your workflow - **Recommendation:** Enable for most notification types ### Email Notifications - Delivered to your registered email address - Visible even when you're not using the app - Can accumulate if enabled for high-frequency notifications - **Recommendation:** Enable only for important alerts (Reminders, Token Refresh) ### Mobile Push Notifications - Require the Componentry mobile app - Delivered immediately to your device - Most interruptive notification type - **Recommendation:** Enable for time-sensitive notifications ## Saving Your Preferences All changes are saved automatically when you toggle a switch. There is no "Save" button - your preferences are updated in real-time. If you navigate away from the page, your changes are already saved. You can verify your settings by returning to the Notifications page. - [Notification Types](https://www.componentry.app/docs/notifications/notification-types): Detailed information about each type of notification available in Componentry and when they are triggered. Componentry offers six types of notifications, each designed to keep you informed about different aspects of your cycling data. This guide explains each notification type in detail, including when you'll receive them and why they matter. ## Activity Processed Receive alerts when a new activity has been received and processed by Componentry. **What triggers this notification:** - A new ride is synced from your connected Strava, Wahoo, or Garmin account - An activity is manually uploaded via FIT file - Activity data has been processed and wear calculations updated **Why it matters:** This notification confirms that your ride data has been successfully imported and your component wear tracking is up to date. It's particularly useful after completing a ride to verify that sync is working correctly. **Recommended channels:** - **Web** - Enabled for quick confirmation - **Email** - Disabled (can be noisy for frequent riders) - **Mobile** - Enabled for immediate feedback after rides --- ## Components Processed Know when the components on your bike have been processed for wear calculations. **What triggers this notification:** - Component wear has been recalculated after an activity - Batch processing of multiple components is complete - Wear thresholds have been updated based on new data **Why it matters:** This notification confirms that your component wear data reflects your latest activities. It helps you stay aware of how quickly components are wearing and when replacements might be needed. **Recommended channels:** - **Web** - Optional, depending on how closely you track wear - **Email** - Disabled - **Mobile** - Disabled --- ## Bike Matched Get notified when a bike is automatically matched to an activity. **What triggers this notification:** - A bike has been automatically matched to a new activity - Matching is based on paired devices (power meters, heart rate monitors, sensors) - The system has high confidence in the match **Why it matters:** Componentry uses your device pairings to automatically determine which bike you rode. This notification confirms the match, giving you the opportunity to correct it if needed. Accurate bike matching is essential for correct wear tracking. **Recommended channels:** - **Web** - Enabled to verify matches - **Email** - Disabled - **Mobile** - Enabled for quick verification after rides --- ## New Reminder Stay on top of maintenance with reminders for bikes and components. **What triggers this notification:** - A reminder is coming due based on time or distance thresholds - Scheduled maintenance date is approaching - Component replacement threshold is about to be reached **Why it matters:** Reminders help you maintain your bikes proactively, preventing costly repairs and ensuring optimal performance. Missing a reminder could mean riding on worn components or skipping important maintenance. **Recommended channels:** - **Web** - Enabled for dashboard visibility - **Email** - Enabled to ensure you don't miss important maintenance - **Mobile** - Enabled for time-sensitive alerts --- ## App Token Refresh Be alerted when your Garmin, Strava, or Wahoo connection needs to be reconnected. **What triggers this notification:** - An integration token has expired or is about to expire - Re-authorization is required to continue syncing activities - Connection issues are detected with a provider **Why it matters:** Integration tokens expire periodically for security reasons. Without a valid token, Componentry cannot sync your activities from that provider. This notification ensures you don't miss any rides due to an expired connection. **Recommended channels:** - **Web** - Enabled - **Email** - Enabled (important to act on quickly) - **Mobile** - Enabled --- ## Strava Matched Get updates when your bike is matched to a Strava activity and has been synced back to Strava. **What triggers this notification:** - A bike has been matched and the gear assignment synced to Strava - Strava gear records have been updated - Two-way sync between Componentry and Strava is complete **Why it matters:** This notification confirms that your Strava activities reflect the correct bike, keeping your Strava gear statistics accurate. It's particularly useful if you use Strava's built-in gear tracking alongside Componentry. **Recommended channels:** - **Web** - Enabled for confirmation - **Email** - Disabled - **Mobile** - Optional --- ## Summary Table NotificationBest ForSuggested ChannelsActivity ProcessedConfirming sync workedWeb, MobileComponents ProcessedTracking wear updatesWeb onlyBike MatchedVerifying correct bikeWeb, MobileNew ReminderMaintenance alertsWeb, Email, MobileApp Token RefreshIntegration issuesWeb, Email, MobileStrava MatchedStrava sync confirmationWeb only - [Notifications](https://www.componentry.app/docs/notifications/notifications): Learn how to manage your notification preferences and control how Componentry alerts you about activity, maintenance, and system events. Notifications keep you informed about important events in Componentry - from processed activities and component wear updates to maintenance reminders and integration alerts. You have full control over which notifications you receive and how they're delivered. ## What are Notifications? Notifications in Componentry are alerts that inform you about events related to your bikes, components, activities, and account. They help you stay on top of maintenance schedules, know when activities have been processed, and be alerted when integrations need attention. Componentry delivers notifications through three channels, and you can customize which types of notifications you receive on each channel. ## Notification Channels ### Web (In-App) In-app notifications appear in the notification bell icon in the top navigation bar. They're visible when you're actively using Componentry and provide a quick overview of recent events. ### Email Email notifications are sent to your registered email address. They're useful for important alerts that you need to see even when you're not actively using the app. ### Mobile (Push) Push notifications are delivered to your mobile device through the Componentry mobile app. They provide immediate alerts wherever you are. ## Notification Types Overview Componentry offers six types of notifications, each designed to keep you informed about different aspects of your cycling data: Notification TypeDescription**Activity Processed**Alerts when a new activity has been received and processed**Components Processed**Confirms component wear data has been updated**Bike Matched**Notifies when a bike is automatically matched to an activity**New Reminder**Alerts for scheduled maintenance or component replacement**App Token Refresh**Warns when integrations need to be reconnected**Strava Matched**Confirms bike matching and sync back to StravaFor detailed information about each notification type, see [Notification Types](notification-types). ## Managing Your Preferences You have complete control over which notifications you receive and through which channels. Each notification type can be independently enabled or disabled for Web, Email, and Mobile channels. For step-by-step instructions on configuring your notifications, see [Managing Notification Preferences](managing-notification-preferences). ## Troubleshooting If you're not receiving notifications as expected, there are several common issues and solutions depending on the notification channel. For help with notification issues, see [Troubleshooting Notifications](troubleshooting-notifications). - [Troubleshooting Notifications](https://www.componentry.app/docs/notifications/troubleshooting-notifications): Solutions for common notification issues in Componentry, including missing notifications and delivery problems. If you're not receiving notifications as expected, this guide covers common issues and their solutions for each notification channel. ## Web (In-App) Notifications ### Notifications Not Appearing **Check that you're logged in:** - Web notifications only appear when you're logged into Componentry - Verify your session hasn't expired by checking if you can access your dashboard **Verify the notification bell:** - Look for the bell icon in the top navigation bar - Click on it to see your notification list - A badge indicates unread notifications **Clear browser cache:** - Cached data can sometimes interfere with real-time updates - Clear your browser cache and refresh the page - Try opening Componentry in an incognito/private window **Check notification preferences:** - Navigate to Settings → Notifications - Verify the Web toggle is enabled for the notification types you expect ### Notifications Delayed **Browser tab in background:** - Some browsers throttle background tabs - Notifications may appear when you return to the Componentry tab **Internet connection:** - Slow or intermittent connections can delay notifications - Check your network status --- ## Email Notifications ### Not Receiving Emails **Verify your email address:** - Go to your account settings - Confirm your email address is correct - If incorrect, update it and save **Check spam/junk folder:** - Notification emails may be filtered as spam - Search for emails from Componentry - Mark as "Not Spam" to improve future delivery **Add to whitelist:** Add these to your email contacts or whitelist: - `notifications@componentry.app` - `noreply@componentry.app` **Check notification preferences:** - Navigate to Settings → Notifications - Verify the Email toggle is enabled for the notification types you expect ### Emails Going to Spam **Mark as "Not Spam":** - Find a Componentry email in your spam folder - Mark it as "Not Spam" or "Not Junk" - This trains your email provider **Add to contacts:** - Adding the sender email to your contacts can help - Create a contact for `notifications@componentry.app` **Create a filter:** Most email providers allow you to create rules: - Filter emails from `@componentry.app` - Set them to always go to inbox - Never mark as spam --- ## Mobile Push Notifications ### Not Receiving Push Notifications **Check app notification permissions:** *iOS:* - Open Settings → Notifications - Find the Componentry app - Ensure "Allow Notifications" is enabled - Verify alert style, sounds, and badges are configured *Android:* - Open Settings → Apps → Componentry - Tap Notifications - Ensure notifications are enabled - Check that the notification channel isn't muted **Verify you're logged in:** - Open the Componentry mobile app - Confirm you're logged into the same account - Push notifications only work when authenticated **Check notification preferences:** - In the web app, navigate to Settings → Notifications - Verify the Mobile toggle is enabled for the notification types you expect ### Push Notifications Delayed **Check Do Not Disturb:** - Ensure your device isn't in Do Not Disturb mode - Check for scheduled DND periods **Check battery optimization:** *Android:* - Go to Settings → Apps → Componentry - Tap Battery - Select "Unrestricted" or disable battery optimization **Check internet connection:** - Push notifications require an active internet connection - Verify WiFi or mobile data is enabled ### Push Notifications Working on Web But Not Mobile **Ensure app is updated:** - Check for updates in the App Store or Play Store - Install the latest version of Componentry **Try signing out and back in:** - Sign out of the mobile app - Close the app completely - Reopen and sign back in - This re-registers your device for push notifications --- ## General Troubleshooting ### Some Notification Types Working, Others Not **Check individual preferences:** - Each notification type has separate toggles for each channel - Verify the specific notification type is enabled **Wait for the trigger event:** - Notifications only fire when their trigger event occurs - For example, "Activity Processed" only fires when an activity is processed ### Changes Not Saving **Check your internet connection:** - Preference changes require an active connection - Verify you're online **Refresh the page:** - After making changes, refresh to confirm they saved - Check that toggles reflect your intended settings ### Contact Support If you've tried the above solutions and still have issues: - Note which notification types aren't working - Note which channels are affected - Check the time and date of expected notifications - Contact support with these details - [Chain Power Loss](https://www.componentry.app/docs/predictions/chain-power-loss): How Componentry estimates the watts a chain's condition is costing you, and how cleaning and re-waxing win them back. Componentry estimates how many watts your chain is quietly costing you — and, more usefully, how many of those watts you can win back by cleaning and re-waxing or re-lubing it. This page explains what the number means, where it comes from, and how to make it as accurate as possible. ## What the Number Means On a chain, you'll see an estimated **recoverable power loss** in watts: the drivetrain drag you'd get back with a clean chain and fresh lube, without replacing anything. A neglected chain on a wet, gritty week can be costing several watts that a ten-minute clean-and-relube simply erases. The detail view breaks the loss into its parts: - **Contamination** — dirt, grit and water in the chain. This is usually the biggest and most variable part, and the one you recover by cleaning. - **Lubrication state** — how fresh your wax or oil is. It degrades gradually with distance and time since your last application. - **Chain stretch** — mechanical wear (elongation). This part is small and, unlike the others, is only recovered by fitting a new chain. The recoverable headline is contamination plus lubrication state — the drag a rider can undo with maintenance alone. ## Wax vs. Lubricant Set whether your chain is **waxed** or running a **lubricant** using the Waxed switch on the chain (you'll also see it when creating or editing the chain). It matters: a good wax stays cleaner for longer and picks up contamination far more slowly than most drip oils, so the model treats the two differently. Telling Componentry which you use makes the estimate reflect your actual setup. ## Why Lubrication Reminders Sharpen It The estimate is at its best when Componentry knows *when you last cleaned and lubed*. That's exactly what a **lubrication reminder** tracks. When you mark a "Lube/Wax chain" reminder complete, Componentry records how far and how long ago that was and re-evaluates the loss from a fresh baseline — so the number drops right after you do the work and climbs again as the miles and wet rides accumulate. If your chain doesn't have a lubrication reminder yet, Componentry still shows an estimate based on typical maintenance habits, marked as an estimate. Adding a lubrication reminder replaces that assumption with your real cadence. ## Full and Reduced Accuracy Chain power loss is shown for every rider, but its precision depends on the data available: - **Full accuracy** — you have enough rides from a connected bike computer for Componentry to read your terrain, conditions and power directly. - **Reduced accuracy** — you're syncing from Strava only, or you're early in your ride history. The estimate still works using the conditions Strava provides, but is scaled against typical values and labelled *reduced accuracy*. Connecting a bike computer and riding sharpens it over time. ## How We Built This — and What We Don't Show The model is grounded in independent laboratory testing of drivetrain efficiency, not marketing figures. A few points from that research shaped how we present the number honestly: - The pure mechanical penalty from a stretched chain is real but **small** — on the order of a watt or two at replacement thresholds. The large watt figures people associate with "a worn chain" are really about a chain that is simultaneously **worn, dirty, and poorly lubed**. We keep those effects separate so each part is defensible. - **Contamination and lube state are the big, recoverable levers** — which is why we lead with recoverable watts and with cleaning, not with chain replacement. - A worn chain's most expensive consequence is usually the **cassette** it wears out, not the watts it costs — timely replacement extends cassette life several times over. That's a durability story, and we treat it separately from the power-loss estimate. The exact formula and coefficients behind the estimate are Componentry's own, and we don't publish them. ## Sources - CeramicSpeed / Friction Facts — Drivetrain Efficiency Test: Old vs. New. - Velo (Dave Rome) — lab testing on dirty vs. clean chains. - SILCA — the science of chain efficiency. - Zero Friction Cycling — chain longevity and real-world friction testing. - Park Tool — when to replace a chain, and cassette-life effects. - Spicer et al. (2001), *Journal of Mechanical Design* — bicycle chain-drive efficiency. - [Personalised Wear Predictions](https://www.componentry.app/docs/predictions/personalised-wear-predictions): Read and interpret your personalised wear estimates on the component detail view in Componentry. Once personalised predictions are unlocked (see [Unlocking Predictions](/docs/predictions/unlocking-predictions)), every eligible component picks up a **Personalised Prediction** section on its detail view. This page walks through what each number means and how to act on it. ## Where to Find It Open any bike, tap a component, and scroll to the **Personalised Prediction** section. It sits alongside the existing wear bars — not instead of them. *[Screenshot placeholder: Component detail sheet with the Personalised Prediction section expanded]* ## What Each Number Means ### Distance Remaining An estimate of how much further the component is expected to last on this bike, based on how you've been riding. This is the headline number — the one you'll check most often. ### Predicted Replace By A projected date, based on your recent weekly riding volume. If you're riding more than usual, the date shifts in; if you're taking a break, it shifts out. The date refreshes automatically each time a new ride syncs. ### Adjusted Lifespan The total distance the component is likely to last *for you*, compared to the manufacturer's stated lifespan. If the manufacturer says 5,000 km but your riding style means the part will go for closer to 3,500 km, you'll see both numbers so you can compare. ### Vs Manufacturer A percentage delta that makes the comparison more immediate. A value like **−30%** means you're likely to wear this part out 30% faster than the manufacturer spec suggests. A positive value means you're on track to get more life out of it than the spec implies. ### Confidence A score from 0–100% representing how much Componentry trusts the estimate for you specifically. Confidence rises as more rides accumulate and as more of your riding history covers the component in question. Early estimates usually sit in the lower range. *[Screenshot placeholder: The Personalised Prediction panel with distance remaining, predicted replace by, adjusted lifespan, and confidence labels]* ## Early Estimate vs Full Predictions Between 10 and 25 FIT-file rides, predictions carry an **Early estimate** badge. Treat these as directional — good enough to spot a component that's wearing fast, not precise enough to plan around to the day. Once you cross 25 rides, the badge drops off and the numbers can be used for concrete planning. Beyond 50 rides, predictions are labelled with high confidence and the caveat framing is removed entirely. ## When Predictions Refresh Predictions recalculate automatically when: - A new ride syncs from any connected provider - You log a service event or mark a component as replaced - A component is moved between bikes - A component's manufacturer lifespan is updated You don't need to refresh the page or trigger anything manually — next time you open the component, the updated numbers will be there. ## How to Act on the Numbers ### If You See a Shorter-Than-Manufacturer Estimate A negative "Vs manufacturer" value means something about your riding is wearing the part faster than the baseline. Open the **What's driving wear** section (covered in [Wear Factors](/docs/predictions/wear-factors)) to see which factors are pushing the estimate. Often it's terrain, weather exposure, or power output — sometimes all three. ### If You See a Longer-Than-Manufacturer Estimate A positive value means you're on track to get more life out of the component than the spec. This is more common for riders on flat, dry routes at moderate intensity. Keep riding as you are and log the component when you eventually do replace it — that event helps the model further. ### If the Predicted Date Jumps Around Predicted dates are sensitive to your most recent weeks of riding. A big training block will pull the date in; a quiet few weeks will push it out. This is working as designed — the system is tracking your *actual* rate, not a lifetime average. Over time the date will stabilise as your riding pattern does. *[Screenshot placeholder: Adjusted lifespan bar shown alongside the manufacturer lifespan bar]* ## Logging Replacements Improves the Model When you mark a component as replaced, you're telling Componentry the actual lifespan of the part that just came off. This is the single most valuable signal for tightening predictions — both for you and for riders with similar riding profiles. The more consistently you log replacements, the sharper every future estimate becomes. ## Components Without Predictions Some component types don't have personalised predictions today — typically parts where wear is cosmetic, time-dominated, or doesn't correlate cleanly with ride data. On those components you'll see a note explaining that predictions aren't available for this component type. Manufacturer wear tracking continues to work as normal. The next section covers the "What's driving wear" breakdown, which explains *why* a component is wearing at its predicted rate. - [Predictions](https://www.componentry.app/docs/predictions/predictions): Learn how Componentry predicts component wear and race-day readiness based on how you actually ride. Manufacturer specs assume an average rider. Componentry's personalised predictions look at how you actually ride — your terrain, power, weather exposure, and riding style — to estimate when each component on your bike will run out. They show up across the app once you've connected a bike computer and logged enough rides. ## What Predictions Give You Predictions turn flat, linear wear bars into an estimate grounded in your reality: - **Personalised replacement dates** — see when each component is projected to run out at your current riding rate, not a generic mileage spec. - **Adjusted lifespan** — the distance the component is likely to last on *your* bike, compared to the manufacturer's number. - **Wear drivers** — a plain-English breakdown of what's causing wear on each component, so you can budget, adjust, or just know what to expect. - **Race-Day Readiness** — pick a future event date and see every component's projected state on that day, with a clear action list for what to replace beforehand. *[Screenshot placeholder: Component detail showing personalised prediction alongside standard wear bar]* ## How Predictions Work Predictions read the data already flowing into Componentry from your rides — distance, elevation, power, cadence, speed, weather at your location — and project it forward. The estimate is specific to the bike the component is on: your gravel bike's terrain profile doesn't distort your road bike's chain estimate. A few principles are worth knowing up front: - **Predictions sharpen over time.** The first estimates are directional; as more rides come in, confidence rises and the numbers tighten. - **Manufacturer specs stay visible.** Personalised estimates are shown *alongside* manufacturer lifespans, not instead of them. You always see both. - **Predictions refresh automatically.** Every time a new ride syncs and every time you log a component replacement, relevant predictions update. - **You don't wait for them.** Predictions are computed in the background and cached, so component pages load instantly. *[Screenshot placeholder: Bike detail showing several components each with a predicted replacement date]* ## What Predictions Cover Predictions are available today for the components where wear is primarily ride-driven: - Chains - Cassettes - Brake pads (disc and rim) - Brake rotors and calipers - Tyres and tubes - Cables - Chainrings - Derailleurs - Cranks, spiders, and pedals - Wheel rims and discs - Suspension components - Fluids Some components — bar tape, grips, saddles, and other mostly-cosmetic or time-dominated items — don't currently have personalised predictions. You'll see a note on those component types explaining why. ## Where You'll See Predictions Predictions surface in a few places across the app: - **Component detail** — a dedicated Personalised Prediction section with distance remaining, predicted replacement date, adjusted lifespan, and the "What's driving wear" breakdown. - **Bike detail** — each component shows its projected replacement date alongside standard wear bars. - **Race-Day Readiness** — a dedicated page per bike for planning around a future event. - **Advanced Insights** card — on the Apps page, showing your connection state, ride count toward the next tier, and which providers power predictions. *[Screenshot placeholder: Advanced Insights card showing progress toward the next prediction tier]* ## What You Need to Unlock Predictions Personalised predictions require detailed ride data that only comes from FIT files generated by a connected bike computer — Wahoo, Garmin, or Hammerhead. Strava syncing alone tracks your activities but doesn't expose the granular power, cadence, and elevation data predictions need. Predictions unlock progressively as you log rides with a supported bike computer. The next sections cover exactly how that works, along with detail on each prediction feature. ## Privacy Your ride data stays in your account. Predictions are computed from your own activities and never shared. The following sections walk through unlocking predictions, reading personalised wear estimates, interpreting wear factors, and using Race-Day Readiness to plan around an upcoming event. - [Race-Day Readiness](https://www.componentry.app/docs/predictions/race-day-readiness): Plan a future event: see every component's projected state on race day and exactly what to replace before then. Race-Day Readiness answers a specific question: *"Will my components make it to my event, and if not, what do I need to replace first?"* You pick an event date, optionally tell Componentry how your training is shaping up, and get a component-by-component readiness report with a clear headline action. ## When You Can Use It Race-Day Readiness unlocks at the **Full predictions** tier — once you have at least 25 rides from a supported bike computer (see [Unlocking Predictions](/docs/predictions/unlocking-predictions)). Projecting confidently to a future date needs more ride history than surfacing a basic personalised estimate, which is why this feature sits behind a higher tier. ## Where to Find It From any bike's detail page, tap **Race-Day Readiness**. Each bike has its own page — pick the bike you'll actually race on. *[Screenshot placeholder: Race-Day Readiness entry point on the bike detail page]* ## Using Race-Day Readiness ### 1. Pick Your Event Date Use the date picker to select your race or event day. You can project up to a year out. The further out the date, the lower the projection confidence — more on that below. ### 2. Choose a Training Plan Most riders don't maintain a constant weekly load in the lead-up to an event. Race-Day Readiness supports four modes: - **Normal — keep current volume.** The default. Projects your recent riding forward unchanged. - **Build — +20% volume.** A training block where you ride 20% more than usual. Use if you're ramping up for the event. - **Two-week taper.** Normal volume, then drop to 50% for the last two weeks. - **Four-week taper.** Normal volume, then drop to 50% for the last four weeks. Pick whichever matches your plan. If you're unsure, leave it on Normal — the projection will refresh every time a new ride syncs, so you can revisit closer to the event. ### 3. Click Project Componentry runs the projection and returns a readiness dashboard within seconds. The page also refreshes automatically any time you open it, using your latest ride data. *[Screenshot placeholder: Race-Day Readiness controls with date picker and training plan preset]* ## Reading the Readiness Dashboard ### The Headline At the top, Race-Day Readiness gives you a single prioritised action — what to do first. Examples: - *"Every component is projected to be race-ready for 15 June."* - *"Replace your chain before 15 June. Everything else looks good."* - *"Replace chain and rear tyre before 15 June."* - *"Multiple components overdue by 15 June: chain, cassette, rear brake pads. Replace before the race."* This is usually the only thing you need to read. Everything else is supporting detail. ### Summary Counts Below the headline, four counts summarise the projection: - **Good** — projected wear is comfortably under the threshold. No action needed. - **Monitor** — projected to be on the boundary. Keep an eye on it in the lead-up; consider replacing if the event is critical. - **Replace before** — projected to be at or near end-of-life on race day. Replace beforehand. - **Overdue** — projected to be past end-of-life by race day. This component will likely need replacing during your training block, not just before the race. ### Component Readiness List Each component appears as a card showing: - Current wear percentage today - Projected wear percentage on race day - Remaining distance expected on race day - A **Replace by** date for any component in *Replace before* or *Overdue* status - A confidence score for the projection - A one-line recommendation tailored to the component's status Cards are sorted by urgency — overdue first, then replace-before, then monitor, then good. *[Screenshot placeholder: Readiness dashboard showing the headline, summary counts, and individual component cards]* ## Projection Confidence Confidence decays the further out your event is. This is honest framing, not a hedge: - **0–4 weeks out** — high confidence. Your recent riding is a strong predictor. - **4–8 weeks out** — moderate confidence. Room for seasonal shifts, illness, or travel to change the picture. - **8–16 weeks out** — lower confidence. Useful directional guidance with caveats. - **16+ weeks out** — treat as rough planning. The page will flag this clearly. Each component's card shows its own confidence number. Re-running the projection closer to the event always tightens things up. ## What We Assumed Below the readiness list, the **What we assumed** panel shows the inputs behind the projection: - Your weekly distance (averaged from recent rides) - The volume modifier and taper from your selected training plan - Expected weather conditions for the period ahead - Your current ride count on record If any of these look wrong — for example, the weekly distance is much lower than what you'll actually ride leading into the race — you can adjust the training plan preset to compensate, or simply re-run the projection after another week or two of riding. *[Screenshot placeholder: The "What we assumed" panel showing weekly distance, volume modifier, taper, weather, and rides on record]* ## How Race-Day Readiness Refreshes You don't need to re-run the projection manually. Each time you open the page, Componentry re-projects against your latest rides — so a big training weekend, a wet week, or an easier rest week will all be reflected the next time you visit. If you change the training plan preset or the event date, click **Project** to recalculate with the new inputs. ## Tips for Using Race-Day Readiness - **Check it early.** Running the projection 8–12 weeks out gives you time to order parts and schedule service, even if confidence is lower at that range. - **Re-run closer to the event.** A projection at 4 weeks out will be noticeably sharper than the same one at 12 weeks out. - **Match the training plan to your real plan.** If you're about to start a four-week build, select Build. If you're tapering, select the taper preset. The projection is only as good as the plan you give it. - **Trust the headline.** It's designed to give you the single most important action. If it says *"Everything else looks good"*, you can stop reading and get on with your training. - **Use it for any event, not just races.** Long tours, multi-day trips, gran fondos, and gravel events all benefit from the same planning. ## What It Doesn't Do - **It doesn't predict mechanical failures.** Snapped spokes, blown bearings, and similar events are out of scope — this is a wear-based projection. - **It doesn't buy parts for you.** Replacement recommendations are informational. - **It doesn't account for service events you haven't logged yet.** If you replaced a chain but didn't record it in Componentry, the projection still thinks it's the old one. Logging replacements keeps the projection honest. ## Supported Components Race-Day Readiness uses the same prediction engine as component pages, so the same set of components is covered — chains, cassettes, brake pads, brake rotors and calipers, tyres and tubes, cables, chainrings, derailleurs, cranks and pedals, wheel rims and discs, suspension, and fluids. Components without personalised predictions (bar tape, grips, and similar) are noted on the page. --- Race-Day Readiness is the most concrete use of Componentry's predictions: a single page that tells you what to replace before your event, and what to leave alone. Combined with the component-level predictions and the wear-factor breakdown, it closes the loop from *how you ride* to *what you need to do next*. - [Unlocking Predictions](https://www.componentry.app/docs/predictions/unlocking-predictions): Understand what you need to connect and how many rides it takes to unlock personalised predictions in Componentry. Personalised predictions don't appear immediately — they unlock in tiers as you log rides with a supported bike computer. This page explains what you need to connect, how the tiers work, and what you'll see at each stage. ## Why a Bike Computer is Required Predictions are built from detailed ride data — things like power, cadence, granular elevation, and per-second streams — that only appear in FIT files produced by a dedicated bike computer. Strava's activity sync is great for identifying your rides and matching them to the right bike, but it doesn't expose the granular data predictions need. That means predictions are powered by rides that come from: - **Wahoo** - **Garmin** - **Hammerhead** You can still use Componentry without a bike computer — distance, duration, and time-based wear tracking all work with Strava alone. Only personalised predictions require a FIT-capable provider. *[Screenshot placeholder: Apps page showing the Advanced Insights card for a Strava-only user]* ## Connecting a Bike Computer Connect Wahoo, Garmin, or Hammerhead from the **Apps** page. Once connected, any rides you've already logged with that provider become available for prediction, and new rides are picked up automatically as they sync. If you've been using Strava alone and pair a bike computer later, you can re-import your historical rides from that provider to grow your ride count faster. Existing Strava rides won't be enriched retroactively — only rides sourced from a FIT provider count toward prediction tiers. ## Ride Count Tiers Predictions unlock in four stages, based on the number of rides Componentry has on record from a supported bike computer: ### 0–9 rides — Predictions not yet available The component view continues to show manufacturer-linear wear bars. You'll see an **Unlock advanced insights** card with your progress toward the first tier. No personalised numbers appear yet — with this little data, any prediction would just be a restated population average. ### 10–24 rides — Early estimates Personalised predictions appear on eligible components. Each one is labelled **Early estimate** to make clear that the numbers will sharpen as you ride. You'll see: - Distance remaining and a predicted replacement date - Adjusted lifespan alongside the manufacturer lifespan - The "What's driving wear" breakdown - A confidence score Race-Day Readiness is still locked at this stage — a projection that far out needs more history behind it. ### 25–49 rides — Full predictions The full feature set unlocks, including **Race-Day Readiness**. Predictions are still labelled with a confidence score, and you'll see how many rides the estimate is based on. ### 50+ rides — High confidence The caveats drop off. Predictions are calibrated enough to present without early-estimate framing, and confidence scores reach their full range. *[Screenshot placeholder: Advanced Insights card showing tier progress and the current ride count]* ## When the Tier Changes Tier transitions happen automatically. As soon as a new ride pushes you across a threshold, predictions update on your next component view. You don't need to refresh anything manually. If you remove a provider or a ride, predictions adjust accordingly. Predictions are always based on the current set of rides Componentry has on record. ## What Counts as a Ride Only rides backed by a FIT file from Wahoo, Garmin, or Hammerhead count toward the tier thresholds. Rides imported from Strava alone, manual activities, and indoor trainer sessions without power data don't contribute to tier progress — though indoor rides on a smart trainer with power are included. You can see your current ride count on the **Advanced Insights** card on the Apps page. ## What If I Have Multiple Bikes? Ride counts are aggregated across your account — you don't need to hit the thresholds separately per bike. However, predictions themselves are per-bike: a chain on your gravel bike is estimated against that bike's terrain, weather, and power profile, not your road bike's. Rides matched to the correct bike (usually via a linked sensor — see [Sensors](/docs/sensors/sensors)) flow into that bike's prediction model. If rides aren't matching to the right bike, predictions for that bike will lag or look off. ## Troubleshooting **My ride count isn't going up after I paired a bike computer.** New rides need to sync from the provider first. If they haven't appeared within a few minutes of a ride, check that the provider is still connected on the Apps page and that the ride has uploaded from your head unit. Historical rides can also be re-imported from the provider to add them to your count. **I paired a bike computer but predictions still say "Unlock advanced insights".** You need at least 10 rides from a FIT-capable provider before the first tier unlocks. Check your ride count on the Advanced Insights card. **I see "Early estimate" even though I have lots of rides.** Components have different confidence profiles. If you've just added a component, its prediction may start as an early estimate until enough rides have accrued against *that specific component's* lifecycle on that bike. The next sections explain each part of the personalised prediction in more detail. - [Wear Factors](https://www.componentry.app/docs/predictions/wear-factors): Understand the 'What's driving wear' breakdown and what each factor means for your components. Every personalised prediction comes with a **What's driving wear** breakdown: a short list of factors, each with a percentage, explaining *why* that component is wearing at the rate Componentry is projecting. This page covers what each factor means, how to read the numbers, and how to act on them. ## Where to Find It Open a component with a personalised prediction. Below the prediction numbers, you'll see **What's driving wear** followed by a ranked list of factors — the largest driver first. *[Screenshot placeholder: "What's driving wear" card showing factors with percentages and short descriptions]* ## How to Read a Factor Each factor has three parts: - **Label** — a short name like *Heavy climbing load* or *Wet conditions*. - **Impact percentage** — how much this factor is contributing to the projected wear rate for this component. The list is sorted largest first. - **Detail** — a one-line explanation with context specific to you (for example, "18m/km terrain score vs 10m/km population average"). The percentages are *relative contributions to accelerated wear* for this particular component, not probabilities or confidence scores. A 30% impact means this factor is responsible for roughly 30% of why the prediction differs from a generic manufacturer lifespan. ## The Factors Different components are sensitive to different things, so which factors show up varies by component type. The most common ones: ### Climbing How much you climb relative to the distance you ride. Steep, sustained climbing increases stress across the drivetrain, raises power output, and — on long descents paired with climbs — adds wear to brakes. ### Descending Descent volume is the dominant factor for brake pad and rotor wear. Long, repeated descents also cycle heat through disc brakes, which affects pad life. ### Power If you ride with a power meter, your average effort relative to your own baseline is a major factor. Higher sustained power means more drivetrain stress per kilometre — especially under load on climbs. ### Weather Wet, cold, and gritty conditions accelerate wear on chains, cassettes, cables, and brake pads. This factor comes from the actual weather at your ride location and time, not a generic climate assumption. ### Mileage / Volume How much you ride in a typical week compared to an average rider. A high-volume rider will obviously wear things faster, and this factor captures that. ### Terrain A broader measure of how rough your rides are — elevation gain, surface variety, and how often you're out of the saddle. Relevant for components where ride profile matters more than pure distance. *[Screenshot placeholder: Example factor list for a chain showing climbing, weather, power, and mileage contributions]* ## Why Your Factors Differ Across Components The same rider will see different factor breakdowns for different components. A chain on your road bike might be driven mostly by climbing and power, while brake pads on the same bike are driven by descending and weather. That's expected — different parts fail for different reasons, and the breakdown reflects it. Likewise, the same component on two different bikes you own can show different factors. Your gravel bike probably sees more weather and terrain impact; your indoor-oriented road bike probably sees more pure power and mileage. ## What the Numbers Don't Mean A few things to keep in mind when reading the breakdown: - **Percentages don't always sum to 100.** They represent each factor's contribution to *accelerated* wear. If the total is lower, your riding is closer to a neutral baseline for that component. - **A factor isn't good or bad, it just is.** "Heavy climbing load" doesn't mean you should climb less — it's context so you can budget chains appropriately, or understand why this rider gets less life out of this part than the spec assumes. - **Factors don't predict failure.** They explain the *rate* at which the component is wearing, not when it will mechanically fail. ## Acting on the Breakdown Different factors suggest different actions: - **Weather a major driver?** Consider more frequent chain cleaning and re-lubing after wet rides. Wet-specific lubes help. For brake pads, inspect after particularly gritty rides. - **Climbing or descending a major driver?** There's usually not much to change about your riding — just plan to replace the affected parts more often than the spec suggests, and let Componentry track the rate for you. - **Power a major driver?** Same — this is a rider-profile factor, not something to adjust. It's there so the prediction reflects your actual output, not a generic rider. - **Mileage a major driver?** Mostly informational. It just means your weekly volume is above average, so parts cycle through faster than most riders'. *[Screenshot placeholder: Example factor showing contextual advice after expanding the detail]* ## Factors vs Predictions — How They Relate The factor breakdown is *why*. The distance remaining, predicted replace-by date, and adjusted lifespan are *what*. Together, they let you make sense of a prediction: if your chain is projected to wear out 30% faster than the spec, the breakdown tells you which parts of your riding are responsible. Both update together. When a prediction refreshes after a new ride, the factor breakdown refreshes too — so if something about your riding shifts (a big climbing block, a string of wet rides, a new training plan), you'll see it show up in the breakdown. The next section covers **Race-Day Readiness**, which uses the same prediction engine to project component state forward to a specific date. - [Assigning Components to Profiles](https://www.componentry.app/docs/profiles/assigning-components-to-profiles): Learn how to assign components to profiles so wear is tracked accurately for each setup. Once you've created profiles on a bike, you can assign individual components to them. This controls which activities contribute to each component's wear calculation. ## Understanding the Two Types of Components ### Default Components (No Profile) Components without a profile assignment are **default components**. Their wear accumulates from every activity on the bike, regardless of which profile is active. **Assign to default when the component:** - Stays on the bike permanently (frame, handlebars, seatpost, stem) - Is used across all setups (brake pads, cables, housing, bar tape) - Doesn't change between configurations ### Profiled Components Components assigned to a profile only accumulate wear from activities where that profile is active. **Assign to a profile when the component:** - Gets swapped in and out (wheels, chains, cassettes, tyres) - Is only used in a specific configuration (race-day components, indoor trainer parts) - Should not accumulate wear from rides where it wasn't installed *[Screenshot placeholder: Component list showing default components and profiled components with badges]* ## Assigning a Profile When Creating a Component When your bike has profiles, a **Profile** dropdown appears in the component creation form: - Open the **Add Component** sheet from your bike's detail screen. - Fill in the component details (name, type, manufacturer). - Select a profile from the **Profile** dropdown, or leave it as **Default (all activities)**. - Complete the rest of the form and save. The component is created with the selected profile assignment. *[Screenshot placeholder: Create component sheet showing the Profile dropdown]* ## Changing a Component's Profile You can change a component's profile assignment at any time: - Open the component's edit sheet by clicking the edit icon on your bike's detail screen. - Change the **Profile** dropdown to the desired profile, or set it to **Default (all activities)** to remove the profile assignment. - Save the changes. ### What Happens When You Change a Profile When a component's profile changes, Componentry automatically recalculates its wear based on the new set of matching activities: - **Moving to a profile**: The component's wear is recalculated using only activities with that profile. Wear may decrease if the component was previously counting all activities. - **Moving to default**: The component's wear is recalculated using all activities on the bike. Wear may increase as it now counts rides from every profile. - **Switching profiles**: Wear is recalculated using only activities matching the new profile. This recalculation happens automatically — you don't need to trigger it manually. ## Example Setup Here's a common setup for a road bike with training and race wheels: ### Training Profile - Front wheel: DT Swiss PRC 1400 Front - Rear wheel: DT Swiss PRC 1400 Rear ### Race Profile - Front wheel: Zipp 404 Firecrest Front - Rear wheel: Zipp 404 Firecrest Rear ### Default (No Profile) - Frame - Chain - Cassette - Brake pads - Bar tape - Groupset components In this setup, the training wheels only accumulate wear from rides using the Training profile, the race wheels only from Race profile rides, and everything else (frame, chain, cassette, etc.) accumulates wear from all rides. ## Identifying Profiled Components On your bike's detail screen, profiled components display a badge showing the profile name next to the component name. Default components have no badge. This makes it easy to see at a glance which components belong to which setup. - [Creating and Managing Profiles](https://www.componentry.app/docs/profiles/creating-profiles): Learn how to create, rename, delete, and set a default profile on your bike in Componentry. Profiles are managed from your bike's detail screen. You can create as many profiles as you need, rename them at any time, and set one as the default for new activities. ## Creating a Profile - Navigate to your bike's detail screen by selecting it from your Gear list. - Find the **Profiles** section on the page. - Type a name for your profile in the text field (e.g. "Training", "Race", "Chain A"). - Optionally select an activity type from the **Default activity** dropdown — choose **Indoor**, **Outdoor**, or leave it as **None**. - Click **Add** or press Enter. The profile is created immediately and appears in the list. You can now assign components to it and set it as the default. *[Screenshot placeholder: Profiles section showing the create profile input field and Add button]* ### Naming Tips Choose names that clearly describe the setup: - **By purpose**: "Training", "Race", "Indoor" - **By component**: "Chain A", "Chain B", "Alloy Wheels", "Carbon Wheels" - **By terrain**: "Road Cassette", "Climbing Cassette" Profile names must be unique within a bike — you cannot have two profiles with the same name on the same bike. ## Setting a Default Profile The default profile is automatically applied to new activities when they are matched to this bike. This saves you from having to manually select a profile after every ride. - In the **Profiles** section, find the **Default profile** dropdown in the header. - Select the profile that matches your current physical setup. - The change saves immediately. When you swap your setup (e.g. put on your race wheels), change the default profile to match. All future activities will use the new default until you change it again. To clear the default, select **No default**. Activities will not have a profile assigned automatically, and only default (non-profiled) components will accumulate wear. *[Screenshot placeholder: Default profile dropdown showing available profiles]* ## Setting an Activity Type Each profile can optionally be set to **Indoor** or **Outdoor**. When set, the profile automatically matches to activities of that type — taking priority over the default profile. - When creating a profile, select the activity type from the **Default activity** dropdown next to the name field. - When editing an existing profile, click the settings icon and use the **Default activity** dropdown. Each bike can have at most one Indoor profile and one Outdoor profile. The dropdown disables types already assigned to another profile on the same bike. When an activity type is set, a badge (Indoor or Outdoor) appears next to the profile name in the list. ### When to Use Activity Types Activity types are most useful when you split time between indoor and outdoor riding on the same bike. Instead of manually switching the default profile each time you move between the trainer and the road, set one profile as Indoor and another as Outdoor. The correct profile activates automatically based on what your provider reports. If your profiles don't map cleanly to indoor vs outdoor (for example, "Chain A" and "Chain B" for chain rotation), leave the activity type as None and use the default profile instead. This matters because activity type matching takes priority over the default: if all your riding is outdoor, a profile tagged Outdoor will receive every ride and your default profile will never apply. ## Renaming a Profile - In the Profiles list, click the settings icon next to the profile you want to rename. - Edit the name in the inline text field. - Press Enter or click the checkmark to save. Renaming a profile does not affect component assignments or activity associations — everything stays linked. ## Deleting a Profile - In the Profiles list, click the delete icon next to the profile. - A confirmation dialog will appear explaining what will happen. - Click **Delete** to confirm. ### What Happens When You Delete a Profile - **Components** that were assigned to the deleted profile revert to default. They become default components and will now accumulate wear from all activities on the bike. - **Activities** that had the deleted profile will be treated as having no profile. - **Wear is automatically recalculated** for the affected components to reflect their new status as default components. Deleting a profile cannot be undone. If you're unsure, consider renaming the profile instead. *[Screenshot placeholder: Delete profile confirmation dialog]* ## Profile Order Profiles are displayed in the order they were created. The first profile you create appears at the top of the list. - [Profiles and Activities](https://www.componentry.app/docs/profiles/profiles-and-activities): Learn how profiles interact with activities for accurate wear tracking in Componentry. Profiles connect to activities to determine which components accumulate wear from each ride. This page explains how profiles are assigned to activities and what happens when you change them. ## Automatic Profile Assignment When a new activity is matched to a bike, Componentry automatically determines which profile to assign using the following priority: - **Sensor pin** — If the activity was matched to the bike through a sensor that has a profile pinned to it, that pinned profile is assigned outright. - **Activity type match** — If the bike has a profile tagged as Indoor or Outdoor, and the incoming activity matches that type, the profile is assigned. Each provider (Strava, Wahoo, Garmin, Hammerhead) classifies activities differently, but Componentry maps them all to a simple indoor or outdoor classification. - **Default profile** — If neither of the above applies, the bike's default profile is used (if set). - **No profile** — If none of the above are available, no profile is assigned. This works across all activity sources: - **Device matching** — When a FIT file contains a device linked to a bike, the activity type is read from the stored activity data and the matching profile is assigned. - **Strava sync** — When a Strava activity is matched to a bike via the Strava gear mapping, the activity type (e.g. Ride, VirtualRide) determines the indoor/outdoor classification. - **Strava import** — Bulk-imported Strava activities also resolve the activity type for profile matching. - **Default bike fallback** — Activities assigned to the default bike also go through activity type matching. *[Screenshot placeholder: Activity detail showing the profile field with the auto-assigned profile]* ## Viewing the Profile on an Activity When you open an activity's detail sheet from the Activities page, you'll see the assigned bike and — if the bike has profiles — the currently selected profile. The profile appears as a dropdown below the bike selector. ## Changing the Profile on an Activity You can change the profile on any activity, including past activities: - Open the activity's detail sheet from the **Activities** page. - In the **Bike** section, select the bike (if not already assigned). - A **Profile** dropdown appears below the bike selector showing the available profiles. - Select the correct profile for this activity. - Click **Save Bike** to apply. ### What Happens When You Change a Profile Changing the profile on an activity triggers a wear recalculation for the bike's components: - **Profiled components** matching the old profile lose the wear contribution from this activity. - **Profiled components** matching the new profile gain the wear contribution. - **Default components** are unaffected — they always count all activities regardless of profile. The recalculation happens automatically after saving. *[Screenshot placeholder: Activity detail sheet showing the profile dropdown with available profiles]* ## When No Profile is Selected If an activity has no profile (profile set to "None" or "No profile"): - **Default components** accumulate wear from this activity as normal. - **Components in the bike's current default profile** also accumulate wear — a ride without a profile is assumed to have used the default setup. - **Other profiled components** do not accumulate wear from this activity. If the bike has no default profile set, only default components count these activities. Because no-profile rides follow the *current* default, changing the default profile later moves their wear contribution to the new default profile's components on the next recalculation. ## Common Workflows ### Swapping Setups Between Rides The typical workflow when you change your physical bike setup: - Swap your components (e.g. put on race wheels). - Go to your bike's detail screen and change the **default profile** to match (e.g. "Race"). - Ride as normal — new activities automatically get the "Race" profile. - When you swap back, change the default profile again. ### Correcting a Past Activity If you forgot to switch the default profile before a ride: - Open the activity from the **Activities** page. - Change the profile to the one that matches the setup you actually used. - Save — wear is recalculated automatically. ### Bulk Changes If you need to correct the profile on many activities (for example, after forgetting to switch the default for a week), you can update each activity individually from the Activities page. Each change triggers an automatic wear recalculation. ## Tips - **Set the default profile** to match your current physical setup. This is the single most important step for accurate tracking. - **Change the default when you swap** — do it right when you change your setup so you don't forget. - **Don't worry about mistakes** — you can always go back and correct the profile on past activities. Wear recalculates automatically. - **Leave permanent components as default** — only assign profiles to components you actually swap between setups. - [Profiles](https://www.componentry.app/docs/profiles/profiles): Learn how to use Profiles to track interchangeable component setups on the same bike in Componentry. Profiles let you track multiple component setups on the same bike. If you swap between training and race wheels, rotate chains for wax cycling, or use different cassettes for different terrain, Profiles ensure that wear is only calculated against the rides where each component was actually on the bike. ## Why Use Profiles? Without Profiles, Componentry calculates wear for every component on a bike against every activity that bike is associated with. This works well when your setup never changes, but becomes inaccurate when you regularly swap components. **Common scenarios where Profiles help:** - **Chain rotation** — Alternating two or more chains (for wax cycling or to extend cassette life). Each chain should only accumulate wear from the rides it was installed for. - **Training vs race wheels** — Deep-section race wheels that only come out for events shouldn't accumulate wear from daily training rides. - **Terrain-specific cassettes** — A climbing cassette and a flat-course cassette used on the same bike at different times. With Profiles, you create a named setup for each configuration. Components assigned to a profile only accumulate wear from activities where that profile was active. *[Screenshot placeholder: Bike detail screen showing two profiles (Training and Race) with different wheelsets]* ## How Profiles Work ### Default Components vs Profiled Components Components on a bike fall into two categories: - **Default components** have no profile assigned. Their wear accumulates from every activity on the bike, regardless of which profile is active. These are components that stay on the bike no matter what — your frame, handlebars, seatpost, brake pads, etc. - **Profiled components** are assigned to a specific profile. Their wear only accumulates from activities where that profile was active. These are the components you swap in and out — wheelsets, chains, cassettes, tyres, etc. ### Default Profile You can set one profile as the **default** for a bike. When a new activity is automatically assigned to the bike (via device matching or Strava sync), the default profile is applied. This means you don't need to select a profile after every ride — just set the default to whatever setup is currently on the bike, and change it when you swap. When you manually assign a bike to an activity, you choose the profile yourself in the same dialog — the default is not applied for you. ### Activity Type Matching Each profile can optionally be tagged as **Indoor** or **Outdoor**. When set, the profile auto-matches to activities of that type — taking priority over the default profile. This is useful when you split time between the trainer and the road, since the correct profile activates without needing to switch the default each time. Activity types are for genuine indoor/outdoor splits. If all your riding is outdoor, a profile tagged Outdoor will receive **every** ride and the default profile will never apply. For rotation setups (like alternating chains), leave the activity type as **None** on every profile and switch the default when you swap. Each bike can have at most one Indoor profile and one Outdoor profile. ### Sensor-Pinned Profiles A sensor can be pinned to a specific profile from your bike's sensor settings. When an activity is matched to the bike through that sensor, the pinned profile is always used — ahead of both activity type matching and the default profile. ### Assignment Priority Putting it together, a new activity gets its profile from the first of these that applies: - **Sensor pin** — the profile pinned to the sensor that matched the activity - **Activity type match** — the profile tagged with the ride's Indoor/Outdoor type - **Default profile** — the bike's default - **No profile** — only default components accumulate wear You can preview this with your own setup: open **How profiles work** in the Profiles section on your bike's page to see which profile your next ride would get. ### Wear Calculation When Componentry processes an activity: - **Default components** (no profile) always accumulate wear — they are assumed to be on the bike for every ride. - **Profiled components** only accumulate wear from activities that have the matching profile set. - **Components in the current default profile** also accumulate wear from activities that have no profile — a ride without a profile is assumed to have used the default setup. This means a component assigned to the "Race" profile will only show wear from activities tagged with the "Race" profile — not from your daily training rides. Note that rule 3 follows whichever profile is the default right now: if you change the default, no-profile rides count toward the new default profile's components after the next recalculation. *[Screenshot placeholder: Component list showing profile badges on profiled components]* ## Key Terminology TermMeaning**Profile**A named component setup for a bike (e.g. "Training", "Race", "Chain A").**Default components**Components with no profile. Wear accumulates from all activities on the bike.**Profiled components**Components assigned to a profile. Wear only accumulates from matching activities.**Default profile**The profile auto-assigned to new activities for the bike.**Active profile**The profile set on a specific activity, determining which profiled components accumulate wear.**Activity type**Indoor or Outdoor setting on a profile. When set, the profile auto-matches to activities of that type.**Sensor pin**A profile pinned to a sensor. Activities matched through that sensor always use the pinned profile. ## Getting Started To start using Profiles: - **Create profiles** on your bike's detail screen — give each setup a meaningful name like "Training" or "Race". Only set an activity type (Indoor or Outdoor) if that profile is exclusively for indoor or outdoor riding; for rotation setups, leave it as None. - **Assign components** to the appropriate profile when creating or editing them. - **Set a default profile** so new activities automatically use the right setup. - **Switch the default** whenever you change your physical setup — or let activity type matching handle it automatically for indoor/outdoor splits. The following sections walk through each of these steps in detail. - [Assigning Reminders to Gear & Components](https://www.componentry.app/docs/reminders/assigning-reminders-gear-components): Learn how to effectively link reminders to your bikes and components for organized maintenance tracking in Componentry. Proper assignment of reminders to gear and components is crucial for organized maintenance tracking. By linking reminders to specific bikes and components, you create a comprehensive maintenance system that ensures every part of your equipment receives appropriate care and attention. ## Understanding Gear Assignment ### Component-Level Reminders The most specific type of reminder assignment: - **Individual components** - Reminders linked to specific parts like chains, brake pads, tires - **Component-specific maintenance** - Maintenance procedures tailored to component type - **Lifecycle tracking** - Reminders that follow components through their entire lifespan - **Replacement scheduling** - Reminders that end when components are replaced ### Bike-Level Reminders Broader reminders that apply to entire bikes: - **General maintenance** - Annual tune-ups, seasonal preparation, general cleaning - **System-wide service** - Drivetrain overhauls, brake system service, suspension service - **Bike-wide inspections** - Safety checks, performance assessments, pre-ride inspections - **Inherited reminders** - Component-level reminders automatically inherit bike-level maintenance ### Cross-Bike Reminders Reminders that span multiple bikes or the entire fleet: - **Tool maintenance** - Service schedules for tools and equipment - **Skill development** - Training reminders, technique practice, knowledge updates - **Seasonal activities** - Fleet-wide storage preparation, seasonal overhauls - **General cycling maintenance** - Helmet replacement, clothing care, accessory service *[Screenshot placeholder: Different levels of reminder assignment showing component, bike, and fleet-level associations]* ## Component Assignment Strategies ### Direct Component Linking **Single Component Assignment** Link reminders to individual components: - **Specific maintenance** - Chain lubrication, brake pad replacement, tire rotation - **Targeted schedules** - Maintenance intervals specific to component type and usage - **Lifecycle management** - Reminders that track component condition over time - **Precise tracking** - Exact maintenance records for each component **Multiple Component Assignment** Apply one reminder to several similar components: - **Matching components** - Apply tire maintenance to all wheels - **System components** - Link drivetrain cleaning to chain, cassette, and chainrings - **Batch maintenance** - Perform similar maintenance on multiple components simultaneously - **Efficiency optimization** - Reduce setup time by batching similar work **Component Group Assignment** Link reminders to categories of components: - **All brake components** - Comprehensive brake system maintenance - **Drivetrain system** - Complete drivetrain service and maintenance - **Wheel system** - Hubs, rims, spokes, and tire maintenance - **Suspension system** - Fork and shock service schedules *[Screenshot placeholder: Component assignment interface showing single, multiple, and group assignment options]* ### Smart Component Suggestions **Automatic Recommendations** The system suggests appropriate components based on: - **Reminder type** - "Chain cleaning" suggests chain components - **Maintenance category** - Brake reminders suggest brake-related components - **Similar reminders** - Components used in similar existing reminders - **Component compatibility** - Parts that typically need similar maintenance **Component Filtering** Filter component lists for easier selection: - **By bike** - Show only components for specific bikes - **By category** - Filter by drivetrain, brakes, wheels, etc. - **By status** - Show only active, retired, or all components - **By condition** - Filter based on component wear or condition **Conflict Detection** System identifies potential assignment conflicts: - **Overlapping reminders** - Multiple reminders for the same maintenance - **Schedule conflicts** - Reminders with incompatible timing - **Missing components** - Reminders linked to non-existent components - **Retired components** - Assignments to components no longer in use ## Bike Assignment Patterns ### Single Bike Operations **Dedicated Bike Reminders** For cyclists with one primary bike: - **Comprehensive coverage** - All maintenance reminders for one bike - **Simple organization** - Clear association between reminders and equipment - **Focused maintenance** - All attention on one bike's needs - **Detailed tracking** - Complete maintenance history for the bike **Component Inheritance** Bike-level reminders automatically apply to components: - **General maintenance** - Bike cleaning applies to all components - **Safety inspections** - Bike safety checks include all components - **Seasonal preparation** - End-of-season prep covers entire bike - **Performance optimization** - Bike tune-ups address all systems ### Multi-Bike Management **Bike-Specific Assignments** Different reminders for different bikes: - **Usage-based scheduling** - More frequent maintenance for heavily used bikes - **Condition-based intervals** - Different schedules based on bike condition - **Purpose-specific maintenance** - Road bike vs. mountain bike maintenance needs - **Component differences** - Different maintenance for different component types **Cross-Bike Standardization** Consistent maintenance across multiple bikes: - **Standard procedures** - Same maintenance approach for similar bikes - **Synchronized schedules** - Coordinate maintenance timing across fleet - **Bulk efficiency** - Batch similar maintenance across multiple bikes - **Knowledge sharing** - Apply successful maintenance patterns to all bikes **Bike Fleet Organization** Organize reminders across your entire bike collection: - **Priority bikes** - More attention to frequently used bikes - **Seasonal bikes** - Adjusted maintenance for seasonal usage patterns - **Specialized bikes** - Unique maintenance for special-purpose bikes - **Backup bikes** - Minimal maintenance for infrequently used bikes *[Screenshot placeholder: Multi-bike assignment interface showing different bikes and their associated reminders]* ## Assignment Best Practices ### Logical Organization **Hierarchical Structure** Organize assignments in a logical hierarchy: - **Fleet level** - Reminders affecting all bikes or general cycling - **Bike level** - Reminders for specific bikes and their systems - **Component level** - Reminders for individual parts - **Sub-component level** - Very specific maintenance tasks **Maintenance Categories** Group assignments by maintenance type: - **Safety critical** - Brakes, steering, structural components - **Performance critical** - Drivetrain, tire pressure, suspension - **Preventive maintenance** - Cleaning, lubrication, inspection - **Aesthetic maintenance** - Appearance, comfort, convenience items **Frequency Grouping** Organize by maintenance frequency: - **Daily/weekly** - Quick checks and basic maintenance - **Monthly** - Regular maintenance and inspections - **Seasonal** - Major service and preparation activities - **Annual** - Complete overhauls and major replacements ### Efficient Assignment **Batch Assignment** Assign reminders efficiently: - **Similar components** - Apply brake maintenance to all brake components - **Related systems** - Link system-wide maintenance to all relevant parts - **Maintenance workflows** - Group assignments that make sense to do together - **Time efficiency** - Minimize setup time by batching related work **Template Usage** Use assignment templates for consistency: - **New bike setup** - Apply standard reminder set to new bikes - **Component replacement** - Transfer appropriate reminders to new components - **Maintenance standardization** - Consistent assignments across similar equipment - **Best practice sharing** - Apply successful patterns to new situations ## Managing Assignment Changes ### Component Lifecycle Changes **New Component Integration** When adding new components: - **Automatic suggestions** - System suggests appropriate reminders for new components - **Template application** - Apply standard reminder sets to new components - **Integration with existing** - Link new components to existing relevant reminders - **Schedule coordination** - Align new component maintenance with existing schedules **Component Replacement** When replacing components: - **Reminder transfer** - Move reminders from old to new components - **Schedule reset** - Reset maintenance intervals for new components - **History preservation** - Maintain records of previous component maintenance - **Updated associations** - Ensure all relevant reminders are properly linked **Component Retirement** When removing components: - **Reminder cleanup** - Remove or archive reminders for retired components - **History preservation** - Maintain historical maintenance records - **Replacement planning** - Set reminders for eventual component replacement - **System impact** - Update bike-wide reminders affected by component removal *[Screenshot placeholder: Component lifecycle management showing reminder updates during component changes]* ### Bike Configuration Changes **Bike Modifications** When modifying bikes: - **Component updates** - Adjust reminders for new or changed components - **System reconfigurations** - Update system-wide reminders for bike changes - **Performance adjustments** - Modify maintenance intervals for upgraded components - **Compatibility checks** - Ensure reminders are appropriate for new configurations **Bike Fleet Changes** When adding or removing bikes: - **Fleet expansion** - Set up reminder systems for new bikes - **Fleet reduction** - Archive or transfer reminders from retired bikes - **Usage redistribution** - Adjust maintenance intervals based on changed usage patterns - **Resource optimization** - Optimize maintenance resources across changed fleet ## Integration with Component Tracking ### Wear-Based Adjustments **Component Condition Integration** Reminders can be adjusted based on component condition: - **Accelerated maintenance** - More frequent service for heavily worn components - **Extended intervals** - Longer intervals for components in excellent condition - **Condition-based scheduling** - Maintenance timing based on actual component state - **Performance correlation** - Link reminder frequency to component performance **Usage Pattern Recognition** System learns from usage patterns: - **High-use components** - Automatic adjustment for heavily used parts - **Low-use adjustments** - Extended intervals for lightly used components - **Seasonal variations** - Adjust maintenance for seasonal usage patterns - **Riding style impact** - Modify maintenance for aggressive vs. gentle riding ### Maintenance History Integration **Previous Service Impact** Past maintenance affects future assignments: - **Service quality tracking** - Adjust intervals based on maintenance effectiveness - **Issue history** - More frequent maintenance for problem components - **Success patterns** - Apply successful maintenance patterns to similar components - **Learning optimization** - Continuous improvement based on maintenance outcomes **Performance Correlation** Link maintenance to component performance: - **Performance tracking** - Monitor how maintenance affects component performance - **Optimization feedback** - Adjust maintenance based on performance results - **Preventive scheduling** - Schedule maintenance before performance decline - **Cost-benefit analysis** - Optimize maintenance frequency for cost-effectiveness *[Screenshot placeholder: Integration dashboard showing how component tracking and wear data influence reminder assignments]* ## Troubleshooting Assignment Issues ### Common Assignment Problems **Missing Assignments** When components lack appropriate reminders: - **Component audit** - Regular review of component reminder coverage - **Template application** - Apply standard reminder sets to uncovered components - **System recommendations** - Use system suggestions for missing reminders - **Manual assignment** - Manually create reminders for specific needs **Conflicting Assignments** When multiple reminders conflict: - **Schedule coordination** - Adjust timing to eliminate conflicts - **Priority resolution** - Determine which reminders take precedence - **Consolidation opportunities** - Combine compatible reminders when possible - **Alternative scheduling** - Find alternative timing that avoids conflicts **Incorrect Associations** When reminders are assigned to wrong components: - **Assignment review** - Regular audit of reminder-component associations - **Bulk corrections** - Efficiently correct multiple incorrect assignments - **Historical cleanup** - Update historical records with correct associations - **Prevention measures** - Improve assignment processes to prevent future errors ### Validation and Verification **Assignment Accuracy** Ensure assignments are correct and complete: - **Cross-reference checks** - Verify assignments match intended maintenance - **Component compatibility** - Ensure reminders are appropriate for assigned components - **Completeness verification** - Check that all necessary components have reminders - **Redundancy elimination** - Remove unnecessary duplicate assignments **System Health Monitoring** Monitor assignment system health: - **Orphaned reminders** - Identify reminders not linked to any components - **Missing components** - Find reminders linked to deleted components - **Inactive assignments** - Identify assignments that never trigger - **Performance impact** - Monitor how assignments affect system performance Proper assignment of reminders to gear and components creates a comprehensive, organized maintenance system that ensures nothing is overlooked. By thoughtfully linking reminders to appropriate bikes and components, you build a maintenance schedule that adapts to your equipment and riding patterns while providing complete coverage of all maintenance needs. *[Screenshot placeholder: Comprehensive assignment overview showing the complete reminder-to-gear assignment structure]* - [Completing Reminders](https://www.componentry.app/docs/reminders/completing-reminders): Learn how to mark reminders as complete, track maintenance history, and manage recurring reminder cycles in Componentry. Completing reminders is where the maintenance tracking system comes together. This process records your actual maintenance work, triggers notifications, schedules future maintenance, and builds a comprehensive maintenance history that helps optimize your bike care over time. ## The Completion Prompt When you complete a reminder that belongs to a bike, Componentry asks how you want to record the work. The same prompt appears on web when you click Complete on the dashboard or the Reminders page, and on mobile when you swipe a reminder or tap Mark as Complete. You get three choices: - **Maintenance Check** - Creates a quick inspection record. The reminder is completed and linked to the check, and you can add notes and wear readings for any component on the bike. - **Full Service Log** - Creates a service record for the bike. The reminder is completed and linked to the log, and the log shows the bike's other open reminders so you can tick those off as part of the same service. - **Just complete** - Ticks off the reminder without creating a service record. This is the old behaviour and it is always available. Reminders that are not linked to a bike skip the prompt and complete straight away, since there is no bike to attach a service record to. The prompt exists because a reminder firing usually means you are about to do real work on the bike. Recording that work as a check or a service builds a history you can share with a mechanic or point to when you sell the bike. See [Completing Reminders from Service Logs](/docs/service-logs/completing-reminders-from-service-logs) for the service log side of this flow. ## Understanding Reminder Completion ### What Happens When You Complete a Reminder Completing a reminder triggers several important processes: - **Status update** - Reminder moves from active to completed status - **History recording** - Creates permanent record of maintenance performed - **Automatic rescheduling** - Recurring reminders schedule their next occurrence - **Notification clearing** - Removes reminder from active notification lists - **Component updates** - Can update component condition and reset wear tracking ### Completion vs. Dismissal Important distinction between different ways to handle reminders: - **Completion** - Maintenance was performed, creates history record - **Dismissal** - Reminder was not relevant, no maintenance performed - **Postponement** - Maintenance delayed, reminder rescheduled for later - **Cancellation** - Reminder no longer needed, permanently removed *[Screenshot placeholder: Reminder completion interface showing different completion options and their consequences]* ## Completing Individual Reminders ### Basic Completion Process **Quick Completion** For simple maintenance tasks: - **One-click completion** - Mark reminder as complete with minimal details - **Completion date** - Automatically uses current date unless specified - **Standard notes** - Optional basic note about work performed - **Immediate rescheduling** - Recurring reminders automatically schedule next occurrence **Detailed Completion** For comprehensive maintenance tracking: - **Completion notes** - Detailed description of work performed - **Maintenance details** - Specific procedures followed, parts replaced, issues found - **Cost tracking** - Record expenses for parts and labor - **Photo documentation** - Add before/after photos of maintenance work - **Time tracking** - Record how long maintenance took to perform **Completion Form Fields** Standard information captured during completion: - **Completion date** - When maintenance was actually performed - **Work performed** - Description of maintenance activities - **Parts used** - Components or consumables used during maintenance - **Issues discovered** - Problems found during maintenance - **Follow-up needed** - Additional work required - **Cost information** - Financial tracking of maintenance expenses *[Screenshot placeholder: Detailed completion form showing all available fields and options]* ### Advanced Completion Options **Component Condition Updates** Update component status during completion: - **Condition assessment** - Rate component condition after maintenance - **Wear reset** - Reset wear tracking for serviced components - **Performance notes** - Record how components perform after service - **Replacement recommendations** - Note when replacement may be needed soon **Maintenance Quality Tracking** Record the effectiveness of maintenance: - **Service quality** - How well did the maintenance address issues - **Interval assessment** - Was the maintenance interval appropriate - **Tool effectiveness** - Which tools and techniques worked best - **Learning notes** - Observations for improving future maintenance **Related Work Documentation** Document additional work performed: - **Opportunistic maintenance** - Additional work done during same session - **Problem discoveries** - Issues found that need separate attention - **Preventive actions** - Extra steps taken to prevent future problems - **System improvements** - Modifications or upgrades made during maintenance ## Recurring Reminder Management ### Automatic Rescheduling **Time-Based Rescheduling** For time-based recurring reminders: - **Completion-based scheduling** - Next due date calculated from completion date - **Fixed schedule maintenance** - Next due date based on original schedule - **Interval preservation** - Maintains consistent intervals between maintenance - **Schedule drift prevention** - Prevents gradual schedule changes over time **Flexible Rescheduling Options** Choose how recurring reminders reschedule: - **From completion date** - Next reminder due X interval from when work was completed - **From original due date** - Next reminder maintains original schedule regardless of completion timing - **Split the difference** - Compromise between completion date and original schedule - **Manual scheduling** - Manually set next due date during completion ### Recurring Pattern Modifications **Interval Adjustments During Completion** Use completion as opportunity to optimize intervals: - **Performance-based adjustments** - Modify intervals based on component condition - **Usage pattern changes** - Adjust for changes in riding frequency or style - **Seasonal modifications** - Different intervals for different seasons - **Learning-based optimization** - Fine-tune intervals based on maintenance outcomes **Pattern Changes** Modify recurring patterns during completion: - **Frequency changes** - Switch from monthly to bi-weekly, etc. - **Seasonal pattern adoption** - Change to seasonal maintenance cycles - **Condition-based scheduling** - Switch to maintenance based on component condition - **Event-based scheduling** - Align maintenance with riding events or seasons *[Screenshot placeholder: Recurring reminder rescheduling options showing different calculation methods]* ## Batch Completion Operations ### Completing Multiple Reminders Through a Service Log The easiest way to complete several reminders at once is through a maintenance check or service log. Every check and log includes a Reminders section listing the bike's open reminders. Select the ones your service covered and complete them together. Each reminder rolls forward to its next due point and is recorded against that service, so the log shows exactly which reminders it took care of. ### Multiple Reminder Completion **Maintenance Session Completion** Complete multiple reminders from one maintenance session: - **Session grouping** - Group all work performed during one maintenance period - **Bulk completion** - Mark multiple reminders complete simultaneously - **Shared notes** - Apply common observations to multiple reminders - **Consistent dating** - Use same completion date for all related work **Workflow Efficiency** Streamline completion for multiple reminders: - **Pre-selected groups** - Save frequently completed reminder combinations - **Template notes** - Use standard completion notes for routine maintenance - **Batch scheduling** - Reschedule multiple recurring reminders efficiently - **Time optimization** - Minimize data entry time for routine completions ### Completion Validation **Required Information Checks** Ensure completion data is complete and accurate: - **Mandatory fields** - Require essential information for completion - **Data validation** - Check that completion information makes sense - **Consistency checks** - Verify completion data matches reminder details - **Quality assurance** - Ensure completion creates useful maintenance history **Completion Conflicts** Handle conflicts during completion: - **Date conflicts** - Completion dates that don't make sense - **Component conflicts** - Completing maintenance on components that don't exist - **Schedule conflicts** - Completions that create scheduling problems - **History conflicts** - Completions that contradict previous maintenance history ## Notification and Communication ### Completion Notifications **Automatic Notifications** System notifications triggered by completion: - **Completion confirmation** - Acknowledge that reminder was completed - **Next reminder scheduled** - Notify when next maintenance is due - **Maintenance summary** - Summary of completed work and observations - **Follow-up reminders** - Notifications for additional work identified **Stakeholder Communication** Share completion information with relevant parties: - **Team notifications** - Share completion status with team members (future feature) - **Service provider updates** - Notify mechanics or service providers of completed work - **Warranty notifications** - Alert relevant parties about warranty-related maintenance - **Insurance documentation** - Provide completion records for insurance purposes ### Completion Analytics **Maintenance Pattern Recognition** System learns from completion patterns: - **Optimal intervals** - Identify best maintenance intervals based on completion history - **Seasonal patterns** - Recognize seasonal maintenance needs and timing - **Component behavior** - Learn how different components respond to maintenance - **Cost optimization** - Identify most cost-effective maintenance approaches **Performance Correlation** Link completion to component and bike performance: - **Maintenance effectiveness** - Track how maintenance affects performance - **Issue prevention** - Identify maintenance that prevents problems - **Cost-benefit analysis** - Evaluate maintenance value based on outcomes - **Optimization opportunities** - Find ways to improve maintenance efficiency *[Screenshot placeholder: Completion analytics dashboard showing patterns and performance correlations]* ## Maintenance History Building ### Historical Record Creation **Comprehensive Documentation** Each completion creates detailed historical records: - **Work performed** - Complete record of maintenance activities - **Component condition** - Condition assessment at time of service - **Parts and materials** - Record of all parts used during maintenance - **Cost tracking** - Financial record of maintenance expenses - **Performance impact** - How maintenance affected component performance **Searchable History** Build searchable maintenance database: - **Work type indexing** - Find all instances of specific maintenance types - **Component history** - Complete maintenance history for individual components - **Date range searches** - Find maintenance performed during specific periods - **Cost analysis** - Track maintenance expenses over time - **Pattern identification** - Identify maintenance patterns and trends ### History Utilization **Future Maintenance Planning** Use history to improve future maintenance: - **Interval optimization** - Adjust intervals based on historical effectiveness - **Cost budgeting** - Plan maintenance budgets based on historical costs - **Seasonal planning** - Schedule maintenance based on historical patterns - **Component replacement timing** - Plan replacements based on service history **Problem Diagnosis** Use maintenance history for troubleshooting: - **Issue correlation** - Link current problems to maintenance history - **Service effectiveness** - Evaluate whether previous maintenance was effective - **Pattern recognition** - Identify recurring problems and their causes - **Solution validation** - Verify whether maintenance solutions work over time ## Best Practices for Reminder Completion ### Timely Completion **Complete When Work Is Done** Mark reminders complete immediately after maintenance: - **Accurate timing** - Ensure completion dates reflect actual work dates - **Fresh memory** - Record details while maintenance experience is fresh - **Immediate benefits** - Get credit for completed work right away - **Schedule accuracy** - Maintain accurate maintenance schedules **Batch Processing for Efficiency** Handle multiple completions efficiently: - **Maintenance session groups** - Complete all related work together - **Regular completion sessions** - Set aside time for completion data entry - **Mobile accessibility** - Complete reminders immediately using mobile access - **Workflow integration** - Build completion into maintenance workflow ### Detailed Documentation **Comprehensive Notes** Provide detailed completion information: - **Specific procedures** - Record exactly what maintenance was performed - **Observations** - Note component condition, performance, and any issues - **Learning opportunities** - Document what worked well and what didn't - **Future recommendations** - Note recommendations for future maintenance **Photo Documentation** Use photos to enhance completion records: - **Before/after photos** - Show condition before and after maintenance - **Problem documentation** - Photograph issues discovered during maintenance - **Technique documentation** - Show how maintenance procedures were performed - **Progress tracking** - Document component condition changes over time ### Continuous Improvement **Regular Review** Periodically review completion patterns: - **Effectiveness assessment** - Evaluate whether maintenance is achieving goals - **Interval optimization** - Adjust maintenance intervals based on results - **Process improvement** - Streamline maintenance and completion processes - **Learning integration** - Apply lessons learned to improve future maintenance **Data-Driven Decisions** Use completion data to make informed decisions: - **Evidence-based intervals** - Set maintenance intervals based on actual results - **Cost-effectiveness analysis** - Evaluate maintenance approaches based on outcomes - **Performance correlation** - Link maintenance to actual performance improvements - **Problem prevention** - Use history to prevent recurring problems Effective reminder completion creates a valuable maintenance database that improves over time. By consistently completing reminders with detailed information, you build a comprehensive maintenance history that helps optimize your bike care, reduce costs, and ensure optimal performance and safety. *[Screenshot placeholder: Maintenance history dashboard showing completed reminders and their impact on bike and component performance]* - [Creating Reminders](https://www.componentry.app/docs/reminders/creating-reminders): Learn how to create new maintenance reminders for your bikes and components in Componentry. Creating reminders in Componentry is straightforward and flexible, allowing you to set up personalized maintenance schedules for all your bikes and components. Whether you need simple recurring reminders or complex maintenance workflows, the reminder creation process adapts to your needs. ## Accessing Reminder Creation ### From the Dashboard The quickest way to create a reminder: - **Plus button** - Click the "+" icon in the reminders widget - **Quick create** - Access common reminder templates directly from the dashboard - **Gear-specific creation** - Create reminders from individual bike or component pages ### From the Reminders Page For more comprehensive reminder management: - **Full creation form** - Access all reminder options and settings - **Bulk creation** - Create multiple similar reminders at once - **Template library** - Use pre-configured reminder templates for common maintenance ### From Gear Pages Context-aware reminder creation: - **Bike reminders** - Create reminders directly from bike detail pages - **Component reminders** - Set up maintenance schedules from component pages - **Automatic linking** - Reminders are automatically associated with the current gear *[Screenshot placeholder: Different entry points for creating reminders shown across the interface]* ## Basic Reminder Creation ### Essential Information Every reminder requires basic information: **Reminder Title** - **Descriptive names** - "Chain cleaning", "Brake pad inspection", "Annual tune-up" - **Clear identification** - Include bike name or component for multi-bike setups - **Action-oriented** - Focus on what needs to be done **Description (Optional)** - **Maintenance details** - Specific procedures to follow - **Special instructions** - Conditions, tools, or techniques needed - **Reference links** - Links to manufacturer guides or video tutorials - **Notes and reminders** - Personal observations or previous findings **Due Date** - **Initial due date** - When the first reminder should trigger - **Flexible scheduling** - Can be set for immediate, future, or calculated dates - **Smart suggestions** - System recommends dates based on similar reminders *[Screenshot placeholder: Basic reminder creation form showing essential fields]* ### Reminder Types **One-Time Reminders** Perfect for specific maintenance events: - **Seasonal preparation** - Pre-season tune-ups, winterization - **Event preparation** - Service before major rides or races - **Component installation** - Follow-up maintenance after new part installation - **Warranty services** - Scheduled warranty maintenance or inspections **Recurring Reminders** For ongoing maintenance schedules: - **Regular intervals** - Weekly, monthly, quarterly, annual - **Custom frequencies** - Every 6 weeks, every 3 months, etc. - **Seasonal patterns** - Beginning/end of riding season - **Usage-based timing** - Future distance-based recurring reminders *[Screenshot placeholder: Reminder type selection showing one-time vs recurring options]* ## Advanced Reminder Configuration ### Recurring Reminder Setup **Frequency Options** Configure how often reminders repeat: - **Standard intervals** - Daily, weekly, monthly, quarterly, annually - **Custom intervals** - Every X days, weeks, months, or years - **Multiple frequencies** - Different intervals for different seasons - **End conditions** - Stop recurring after a certain date or number of repetitions **Repeat Pattern Configuration** Fine-tune recurring behavior: ``` { "frequency": "monthly", "interval": 2, // Every 2 months "day_of_month": 15, // On the 15th of the month "end_date": null, // Never ends "max_occurrences": null // No limit } ``` **Smart Rescheduling** Reminders automatically handle rescheduling: - **Completion-based** - Next reminder scheduled from completion date - **Original schedule** - Next reminder based on original due date - **Flexible timing** - Adjust future dates based on early/late completion - **Skip weekends** - Automatically move weekend due dates to weekdays *[Screenshot placeholder: Advanced recurring reminder configuration interface]* ### Notification Settings **Advance Notice** Configure when to receive notifications: - **Early warnings** - 1-2 weeks before due date - **Due date alerts** - Notifications on the actual due date - **Overdue reminders** - Follow-up notifications for missed maintenance - **Custom timing** - Set specific advance notice periods **Notification Channels** Choose how to receive alerts: - **Email notifications** - Detailed reminder emails with full information - **In-app alerts** - Dashboard notifications and reminder badges - **Mobile notifications** - Push notifications for mobile app (future feature) - **Calendar integration** - Add reminders to external calendar systems (future feature) **Notification Frequency** Control notification intensity: - **Single alerts** - One notification per reminder period - **Gentle reminders** - Multiple soft reminders as due date approaches - **Persistent alerts** - Continuing notifications until completion - **Smart batching** - Combine multiple reminders into digest emails *[Screenshot placeholder: Notification settings showing different alert options and timing]* ## Linking Reminders to Gear ### Component Association **Direct Component Linking** Associate reminders with specific components: - **Component selection** - Choose from your existing component inventory - **Multiple components** - Link one reminder to multiple similar components - **Component groups** - Apply reminders to component categories (all brake pads) - **Inheritance** - Components inherit bike-level reminders automatically **Bike-Level Reminders** Create reminders that apply to entire bikes: - **General maintenance** - Annual tune-ups, seasonal overhauls - **Bike systems** - Drivetrain service, brake system maintenance - **Inspection schedules** - Regular safety checks and assessments - **Cleaning routines** - Regular bike washing and detail maintenance **Smart Associations** The system helps with intelligent linking: - **Suggestion engine** - Recommends appropriate components based on reminder type - **Similar reminders** - Shows existing reminders for similar components - **Maintenance patterns** - Learns from your previous reminder associations - **Conflict detection** - Warns about overlapping or redundant reminders *[Screenshot placeholder: Gear linking interface showing component selection and smart associations]* ### Multi-Bike Scenarios **Cross-Bike Reminders** Some reminders apply to multiple bikes: - **Tool maintenance** - Service schedules for shared tools and equipment - **Rider equipment** - Helmet replacement, clothing maintenance - **Skill development** - Training reminders, technique practice - **General knowledge** - Learning new maintenance procedures **Bike-Specific Customization** Tailor reminders to individual bike needs: - **Riding conditions** - Different intervals for road vs. mountain bikes - **Usage patterns** - More frequent maintenance for heavily used bikes - **Component quality** - Adjust schedules based on component grade - **Personal preferences** - Customize based on your maintenance comfort level ## Reminder Templates ### Pre-Built Templates Common maintenance reminders ready to use: **Drivetrain Maintenance** - Chain cleaning and lubrication - Cassette inspection and cleaning - Derailleur adjustment and service - Chainring wear assessment **Brake System Service** - Brake pad inspection and replacement - Brake fluid replacement (hydraulic) - Cable and housing replacement - Rotor inspection and maintenance **Tire and Wheel Care** - Tire pressure checks - Tire wear inspection and rotation - Wheel truing and tension checks - Tubeless sealant replacement **Seasonal Maintenance** - Pre-season bike preparation - End-of-season storage prep - Winter maintenance routines - Spring cleaning and tune-up *[Screenshot placeholder: Template library showing different maintenance categories and options]* ### Custom Template Creation Build your own templates for repeated use: - **Save common reminders** - Turn frequently used reminders into templates - **Share templates** - Export templates for use across multiple bikes - **Maintenance workflows** - Create multi-step maintenance procedures - **Personalization** - Customize templates to match your specific needs ## Validation and Error Handling ### Input Validation The system validates reminder data to ensure accuracy: - **Required fields** - Title and due date must be provided - **Date validation** - Due dates must be in the future for new reminders - **Frequency validation** - Recurring patterns must be logically consistent - **Component verification** - Linked components must exist and be active ### Common Creation Errors **Invalid Date Ranges** - **Past due dates** - New reminders can't be created with past due dates - **Invalid recurrence** - End dates before start dates - **Frequency conflicts** - Illogical repeat patterns **Component Linking Issues** - **Missing components** - Reminders linked to non-existent components - **Archived components** - Attempting to link to retired or deleted components - **Permission issues** - Linking to components you don't have access to **Duplicate Reminders** - **Overlapping schedules** - Similar reminders with conflicting timing - **Exact duplicates** - Identical reminders for the same component - **Conflicting priorities** - Multiple urgent reminders for the same maintenance *[Screenshot placeholder: Validation errors and warnings shown in the creation form]* ## Tips for Effective Reminder Creation ### Planning Your Maintenance Schedule **Start with Critical Items** Focus on safety and performance critical maintenance: - **Brake system** - Most important for safety - **Drivetrain** - Critical for performance and component longevity - **Tires** - Essential for safety and comfort - **Suspension** - Important for performance and safety (if applicable) **Layer Your Reminders** Build a comprehensive maintenance system: - **Daily/weekly** - Basic maintenance like cleaning and lubrication - **Monthly** - More detailed inspections and adjustments - **Seasonally** - Major services and overhauls - **Annually** - Complete bike assessments and major component replacement **Consider Your Riding** Tailor reminders to your specific usage patterns: - **Riding frequency** - More frequent riders need shorter intervals - **Riding conditions** - Harsh conditions require more frequent maintenance - **Riding style** - Aggressive riding increases maintenance needs - **Seasonal variations** - Adjust schedules for seasonal usage changes ### Reminder Organization **Logical Grouping** Organize reminders for easy management: - **By bike** - Group all reminders for each bike together - **By frequency** - Organize by maintenance interval - **By type** - Group by maintenance category (cleaning, inspection, replacement) - **By season** - Organize by when maintenance is typically performed **Clear Naming Conventions** Use consistent naming for easy identification: - **Include bike name** - "Road Bike: Chain cleaning" for multi-bike setups - **Action-oriented** - Start with the action to be performed - **Specific details** - Include relevant component or system information - **Priority indicators** - Use prefixes or suffixes to indicate urgency The reminder creation process is designed to be flexible and comprehensive, allowing you to build a maintenance schedule that perfectly fits your bikes and riding style. Once created, reminders work automatically in the background, sending notifications and tracking completion to keep your bikes in optimal condition. *[Screenshot placeholder: Completed reminder creation showing the final confirmation and next steps]* - [Editing & Deleting Reminders](https://www.componentry.app/docs/reminders/editing-deleting-reminders): Learn how to modify, update, and remove reminders to keep your maintenance schedules current in Componentry. Managing your reminders effectively requires the ability to modify, update, and remove them as your maintenance needs change. Whether adjusting intervals based on experience, updating component associations, or removing obsolete reminders, proper reminder management keeps your maintenance schedules relevant and useful. ## Accessing Reminder Management ### From the Reminders Dashboard The main hub for reminder management: - **Reminder list** - View all active and completed reminders - **Quick actions** - Edit, complete, or delete directly from the list - **Bulk operations** - Select multiple reminders for batch actions - **Filter and search** - Find specific reminders quickly ### From Individual Reminder Pages Detailed management for specific reminders: - **Full edit interface** - Access all reminder properties and settings - **History tracking** - View completion history and modifications - **Related reminders** - See connected maintenance schedules - **Component links** - Manage gear associations ### From Gear Pages Context-aware reminder management: - **Bike-specific reminders** - Manage reminders for individual bikes - **Component reminders** - Edit reminders associated with specific components - **Quick modifications** - Common changes directly from gear context *[Screenshot placeholder: Different reminder management interfaces showing dashboard, individual pages, and gear contexts]* ## Editing Reminder Details ### Basic Information Updates **Changing Reminder Titles** Update reminder names for clarity: - **Improved descriptions** - Make titles more specific or clear - **Bike identification** - Add bike names for multi-bike setups - **Action clarity** - Ensure titles clearly indicate required action - **Consistency** - Standardize naming conventions across reminders **Description Modifications** Update reminder descriptions with: - **Improved instructions** - Add clearer maintenance procedures - **Tool requirements** - Specify tools needed for the work - **Reference links** - Add links to guides or manufacturer instructions - **Personal notes** - Include observations from previous maintenance **Due Date Adjustments** Modify upcoming due dates: - **Schedule changes** - Move due dates to more convenient times - **Batch scheduling** - Align related reminders for efficiency - **Seasonal adjustments** - Shift timing for seasonal considerations - **Urgency changes** - Move critical maintenance earlier *[Screenshot placeholder: Reminder editing interface showing basic information fields and modification options]* ### Advanced Property Changes **Notification Settings** Adjust how and when you receive alerts: - **Advance notice periods** - Change how early notifications are sent - **Notification channels** - Enable/disable email or in-app alerts - **Frequency adjustments** - Modify how often reminders are sent - **Custom timing** - Set specific notification schedules **Priority Modifications** Change reminder importance levels: - **Safety critical** - Mark reminders as high priority for safety items - **Performance impact** - Indicate reminders that affect bike performance - **Convenience level** - Set appropriate priority for routine maintenance - **Seasonal importance** - Adjust priority based on seasonal relevance ## Modifying Recurring Schedules ### Interval Adjustments **Changing Frequencies** Modify how often reminders repeat: - **Experience-based changes** - Adjust based on maintenance outcomes - **Usage pattern updates** - Modify for changes in riding frequency - **Component behavior** - Adjust for how components actually perform - **Seasonal variations** - Different intervals for different seasons **Custom Interval Updates** Fine-tune specific repeat patterns: ``` // Before: Every month { "frequency": "monthly", "interval": 1 } // After: Every 6 weeks { "frequency": "weekly", "interval": 6 } ``` **Schedule Optimization** Optimize timing for better maintenance workflows: - **Batch alignment** - Schedule related maintenance together - **Convenient timing** - Align with personal schedule and availability - **Seasonal coordination** - Time maintenance for appropriate weather - **Event preparation** - Schedule service before important rides *[Screenshot placeholder: Recurring schedule modification interface showing frequency and interval adjustments]* ### End Condition Changes **Adding End Dates** Convert indefinite reminders to time-limited: - **Component replacement** - End reminders when components are replaced - **Temporary adjustments** - Limited-time maintenance changes - **Trial periods** - Test new maintenance intervals for specific periods - **Seasonal limits** - End reminders at end of riding season **Removing End Conditions** Convert limited reminders to ongoing: - **Successful trials** - Make temporary changes permanent - **Component longevity** - Extend maintenance beyond expected component life - **Ongoing needs** - Continue maintenance that proves necessary - **Schedule standardization** - Align all similar reminders to same pattern ## Component Association Management ### Updating Component Links **Adding Component Associations** Link reminders to additional components: - **Multi-component maintenance** - Apply reminder to similar components - **New component additions** - Include new components in existing schedules - **System-wide reminders** - Expand component coverage for system maintenance - **Consistency improvements** - Ensure all relevant components are covered **Removing Component Links** Unlink reminders from specific components: - **Component replacement** - Remove links when components are replaced - **Different maintenance needs** - Some components may not need specific reminders - **Schedule conflicts** - Remove conflicts with other reminder schedules - **Simplified management** - Reduce complexity by removing unnecessary links **Changing Component Associations** Transfer reminders between components: - **Component upgrades** - Move reminders to replacement components - **Bike reorganization** - Update associations when bikes are reconfigured - **Maintenance consolidation** - Combine similar component maintenance - **Error corrections** - Fix incorrect component associations *[Screenshot placeholder: Component association management showing linking, unlinking, and transfer options]* ### Bike-Level Changes **Moving Between Bikes** Transfer reminders from one bike to another: - **Bike sales/purchases** - Move relevant reminders to new bikes - **Component transfers** - Move component-specific reminders with components - **Maintenance consolidation** - Centralize maintenance on primary bikes - **Fleet management** - Optimize maintenance across multiple bikes **Expanding to Multiple Bikes** Apply reminders to additional bikes: - **Similar bike maintenance** - Apply proven schedules to similar bikes - **Fleet standardization** - Consistent maintenance across all bikes - **New bike preparation** - Set up maintenance schedules for new acquisitions - **Best practice sharing** - Expand successful maintenance patterns ## Deleting Reminders ### Individual Reminder Deletion **When to Delete Reminders** Consider deletion for: - **Obsolete maintenance** - Reminders for removed or replaced components - **Changed maintenance approach** - Different maintenance philosophy or method - **Duplicate reminders** - Redundant or overlapping maintenance schedules - **Unsuccessful patterns** - Maintenance intervals that don't work well **Safe Deletion Process** Steps to safely remove reminders: - **Review reminder history** - Check completion records and effectiveness - **Consider alternatives** - Modify instead of delete when possible - **Check dependencies** - Ensure no related reminders depend on this one - **Confirm deletion** - Final confirmation to prevent accidental removal **Deletion Consequences** Understand what happens when reminders are deleted: - **History preservation** - Completed reminders remain in maintenance history - **Notification cessation** - No more alerts will be sent - **Component impacts** - Associated components lose maintenance tracking - **Schedule gaps** - Potential gaps in maintenance coverage *[Screenshot placeholder: Reminder deletion interface showing confirmation dialog and impact warnings]* ### Bulk Deletion Operations **Selecting Multiple Reminders** Choose reminders for batch deletion: - **Filter-based selection** - Select all reminders matching specific criteria - **Component-based selection** - Choose all reminders for specific components - **Date range selection** - Select reminders within specific time periods - **Status-based selection** - Choose reminders by status (overdue, completed, etc.) **Batch Deletion Scenarios** Common bulk deletion situations: - **Bike disposal** - Remove all reminders for sold or retired bikes - **Component replacement** - Delete reminders for replaced components - **Maintenance approach changes** - Remove old schedules when changing methods - **System cleanup** - Remove unused or ineffective reminders **Safety Measures** Protections for bulk operations: - **Preview changes** - See what will be deleted before confirming - **Undo capability** - Restore recently deleted reminders if needed - **Confirmation requirements** - Multiple confirmations for large deletions - **Backup recommendations** - Suggest exporting data before major changes ## History and Audit Trail ### Modification Tracking All reminder changes are tracked: - **Change history** - Complete record of modifications made - **User attribution** - Who made changes and when - **Previous values** - What settings were before changes - **Reason tracking** - Optional notes about why changes were made ### Completion History Preservation Deletion doesn't affect maintenance history: - **Completed work records** - Previous maintenance activities remain - **Performance tracking** - Historical data for component analysis - **Warranty documentation** - Service records preserved for warranty claims - **Learning opportunities** - Historical data for future maintenance planning *[Screenshot placeholder: Change history interface showing modification tracking and audit trail]* ## Best Practices for Reminder Management ### Regular Review Schedule **Monthly Review** Regularly assess reminder effectiveness: - **Completion patterns** - Are reminders being completed on time? - **Relevance check** - Are all reminders still needed? - **Interval assessment** - Are frequencies working well? - **Component changes** - Update for component additions/removals **Seasonal Assessment** Adjust reminders for seasonal changes: - **Winter storage** - Modify or suspend reminders for stored bikes - **Season preparation** - Update reminders for seasonal bike preparation - **Usage changes** - Adjust for seasonal riding pattern changes - **Condition adjustments** - Modify for seasonal riding conditions ### Change Documentation **Reason Tracking** Document why changes are made: - **Performance observations** - Note how components respond to maintenance - **Interval optimization** - Record results of timing adjustments - **Issue resolution** - Note changes made to address specific problems - **Learning documentation** - Build knowledge base for future decisions **Impact Assessment** Evaluate the effects of changes: - **Maintenance effectiveness** - Is the changed schedule working better? - **Cost impact** - Are changes increasing or decreasing maintenance costs? - **Time efficiency** - Do changes improve maintenance workflow? - **Component performance** - Are components performing better with changes? ### Optimization Strategies **Continuous Improvement** Regularly optimize your reminder system: - **Data-driven decisions** - Use completion history to guide changes - **Efficiency improvements** - Batch related maintenance for efficiency - **Personalization** - Customize reminders to your specific needs and preferences - **Technology updates** - Adjust for new tools or maintenance techniques **Knowledge Building** Use reminder management to build maintenance expertise: - **Pattern recognition** - Identify what maintenance works best - **Component behavior** - Learn how different components respond to maintenance - **Personal optimization** - Develop maintenance approaches that work for you - **Community learning** - Share successful patterns with other cyclists Effective reminder management is an ongoing process that improves over time. By regularly reviewing, adjusting, and optimizing your reminders, you can build a maintenance system that perfectly fits your bikes, riding style, and personal preferences while ensuring optimal bike performance and safety. *[Screenshot placeholder: Reminder management dashboard showing various reminders in different states with management options]* - [Reminders](https://www.componentry.app/docs/reminders/reminders): Learn how to use Reminders to stay on top of bike maintenance and component replacement schedules in Componentry. Reminders are your proactive maintenance companion in Componentry. They help you stay ahead of component wear, scheduled maintenance, and replacement cycles by automatically notifying you when attention is needed. Whether based on time intervals or usage distance, reminders ensure your bikes stay in optimal condition. ## What are Reminders? Reminders in Componentry are scheduled notifications that alert you when maintenance or replacement is due for your bike components. They integrate seamlessly with your gear and component tracking to provide personalized maintenance schedules based on your actual riding patterns and component usage. Reminders eliminate the guesswork from bike maintenance by automatically calculating when services are due and sending timely notifications to keep your equipment in peak condition. *[Screenshot placeholder: Reminders overview showing various active reminders with different statuses and due dates]* ## Types of Reminders ### Time-Based Reminders Time-based reminders trigger on calendar intervals regardless of usage: - **Fixed schedules** - Monthly, quarterly, annually, or custom intervals - **Seasonal maintenance** - End-of-season overhauls, pre-season prep - **Preventive care** - Regular cleaning, lubrication, and inspection schedules - **Component replacements** - Items that degrade over time (cables, housing, brake pads) ### Distance-Based Reminders (Future Feature) Distance-based reminders will trigger after a specified amount of riding distance: - **Usage-driven maintenance** - Chain replacement, cassette wear, tire rotation - **Component lifespan tracking** - Based on manufacturer recommendations - **Wear pattern monitoring** - Adjusted for riding conditions and style ### Component-Specific Reminders Reminders can be associated with specific components or apply to entire bikes: - **Individual components** - Track specific parts like chains, brake pads, tires - **Bike-wide reminders** - Annual tune-ups, seasonal overhauls - **System-level maintenance** - Drivetrain cleaning, brake system service *[Screenshot placeholder: Different reminder types shown in the creation interface]* ## How Reminders Work ### Scheduling System Reminders use a sophisticated scheduling system that: - **Calculates due dates** - Based on creation date and repeat intervals - **Handles recurring patterns** - Automatically schedules next occurrence after completion - **Manages notifications** - Sends alerts via email and in-app notifications - **Tracks completion** - Records when maintenance was performed ### Integration with Gear Reminders are tightly integrated with your gear and components: - **Component linking** - Associate reminders with specific bike parts - **Gear inheritance** - Bike-level reminders apply to all components - **Usage correlation** - Future distance-based reminders will use actual riding data - **Maintenance history** - Build a complete service record for each component ### Notification System Stay informed through multiple notification channels: - **Email notifications** - Advance warnings and due date alerts - **In-app alerts** - Dashboard notifications and reminder badges - **Flexible timing** - Configurable advance notice periods - **Smart scheduling** - Avoid notification overload with intelligent batching *[Screenshot placeholder: Reminder notification examples showing email and in-app alerts]* ## Reminder States and Lifecycle ### Active Reminders Active reminders are scheduled and awaiting their due date: - **Scheduled** - Future due date, no action needed yet - **Due soon** - Within advance notification period - **Overdue** - Past due date, immediate attention needed - **In progress** - Marked as being worked on ### Completed Reminders Completed reminders have been marked as done: - **Completion tracking** - Records when maintenance was performed - **Automatic rescheduling** - Recurring reminders schedule next occurrence - **Maintenance history** - Creates permanent record of service performed - **Component updates** - Can update component status or reset wear tracking ### Archived Reminders Archived reminders are no longer active: - **Deleted components** - Reminders for removed or replaced components - **Cancelled maintenance** - Reminders that are no longer needed - **One-time events** - Non-recurring reminders after completion - **Historical record** - Preserved for maintenance history *[Screenshot placeholder: Reminder states shown in the dashboard with different status indicators]* ## Benefits of Using Reminders ### Proactive Maintenance Stay ahead of problems with scheduled maintenance: - **Prevent failures** - Address issues before they become costly problems - **Extend component life** - Regular maintenance maximizes component lifespan - **Optimal performance** - Well-maintained bikes perform better and safer - **Cost savings** - Preventive maintenance is less expensive than emergency repairs ### Organized Maintenance Tracking Keep detailed records of all maintenance: - **Service history** - Complete record of when maintenance was performed - **Component lifecycle** - Track the full lifespan of each part - **Maintenance patterns** - Identify optimal service intervals for your riding - **Warranty tracking** - Maintain service records for warranty claims ### Personalized Schedules Reminders adapt to your specific riding patterns: - **Usage-based timing** - Future distance-based reminders use actual riding data - **Riding style adjustments** - Adjust intervals based on riding conditions - **Multiple bike management** - Different schedules for different bikes - **Flexible intervals** - Customize timing to match your maintenance preferences ### Peace of Mind Never worry about forgotten maintenance: - **Automatic tracking** - System handles all scheduling and notifications - **Comprehensive coverage** - Track maintenance for all components - **Advance warnings** - Get notified before problems occur - **Mobile accessibility** - Check reminders anywhere, anytime *[Screenshot placeholder: Maintenance history showing completed reminders and their impact on component lifecycles]* ## Getting Started with Reminders To begin using Reminders effectively: ### 1. Assess Your Maintenance Needs - Review your current maintenance practices and schedules - Identify components that need regular attention - Consider seasonal maintenance requirements - Note manufacturer recommendations for service intervals ### 2. Create Your First Reminders - Start with high-impact maintenance like drivetrain cleaning - Set up seasonal reminders for major services - Add component-specific reminders for wear items - Configure notification preferences ### 3. Link Reminders to Gear - Associate reminders with specific bikes and components - Set up bike-wide reminders for general maintenance - Organize reminders by maintenance type and frequency - Verify reminder assignments are correct ### 4. Establish Your Routine - Check reminder notifications regularly - Mark reminders complete when maintenance is performed - Adjust intervals based on experience and riding patterns - Use completion notes to track specific work performed *[Screenshot placeholder: Getting started workflow showing the initial reminder setup process]* ## Best Practices for Reminder Management ### Setting Effective Intervals Choose reminder intervals that match your actual needs: - **Start conservative** - Begin with manufacturer recommendations - **Adjust based on experience** - Fine-tune intervals based on actual wear - **Consider riding conditions** - More frequent maintenance for harsh conditions - **Factor in riding frequency** - Active riders may need shorter intervals ### Organizing Reminders Structure your reminders for easy management: - **Group by frequency** - Weekly, monthly, seasonal categories - **Categorize by type** - Cleaning, lubrication, inspection, replacement - **Priority levels** - Safety-critical vs. performance optimization - **Batch similar work** - Group related maintenance tasks together ### Tracking Completion Make the most of completion tracking: - **Add detailed notes** - Record specific work performed and findings - **Update component status** - Reset wear tracking when appropriate - **Track costs** - Record maintenance expenses for budgeting - **Photo documentation** - Include before/after photos when helpful The following sections will guide you through creating reminders, configuring time-based schedules, managing existing reminders, linking them to your gear, and completing maintenance tasks effectively. - [Time & Duration Reminders](https://www.componentry.app/docs/reminders/time-duration-reminders): Learn how to configure time-based reminder schedules and recurring patterns in Componentry. Time-based reminders form the backbone of scheduled maintenance in Componentry. These reminders trigger on calendar intervals regardless of usage, making them perfect for preventive maintenance, seasonal services, and component replacement schedules that depend on time rather than distance. ## Understanding Time-Based Reminders ### Calendar-Driven Scheduling Time-based reminders operate on calendar schedules: - **Fixed intervals** - Predictable maintenance windows - **Seasonal alignment** - Maintenance that coincides with riding seasons - **Time-degradation focus** - Components that degrade over time regardless of use - **Preventive care** - Regular maintenance to prevent problems ### When to Use Time-Based Reminders Time-based reminders are ideal for: - **Lubrication schedules** - Chain lubing, pivot point service - **Brake fluid replacement** - Fluid degrades over time - **Cable and housing** - Stretching and corrosion occur over time - **Seasonal maintenance** - Pre-season prep, storage preparation - **Safety inspections** - Regular safety checks and assessments *[Screenshot placeholder: Time-based reminder configuration showing calendar-driven scheduling options]* ## Repeats Object Configuration ### Basic Repeat Structure Time-based reminders use a structured `repeats` object to define scheduling: ``` { "frequency": "monthly", "interval": 1, "day_of_month": null, "day_of_week": null, "end_date": null, "max_occurrences": null } ``` ### Frequency Options **Standard Frequencies** - **daily** - Every day (rarely used for bike maintenance) - **weekly** - Every week (chain lubrication, bike cleaning) - **monthly** - Every month (detailed inspections, brake checks) - **quarterly** - Every 3 months (major service intervals) - **annually** - Every year (complete overhauls, major replacements) **Custom Intervals** Use the `interval` field to modify standard frequencies: - `{"frequency": "weekly", "interval": 2}` - Every 2 weeks - `{"frequency": "monthly", "interval": 3}` - Every 3 months - `{"frequency": "annually", "interval": 2}` - Every 2 years *[Screenshot placeholder: Frequency selection interface showing standard and custom interval options]* ## Advanced Scheduling Patterns ### Day-Specific Scheduling **Day of Week Targeting** For weekly reminders, specify which day: ``` { "frequency": "weekly", "interval": 2, "day_of_week": 6 // 0=Sunday, 6=Saturday } ``` **Day of Month Targeting** For monthly reminders, specify which day: ``` { "frequency": "monthly", "interval": 1, "day_of_month": 15 // 15th of each month } ``` **Smart Date Handling** The system intelligently handles edge cases: - **Month-end dates** - February 30th becomes February 28th/29th - **Weekend adjustment** - Optionally move weekend due dates to weekdays - **Holiday awareness** - Future feature to avoid holiday due dates ### Seasonal Patterns **Beginning of Season Reminders** Set reminders for seasonal preparation: ``` { "frequency": "annually", "interval": 1, "day_of_month": 1, "month": 3 // March 1st each year } ``` **End of Season Maintenance** Schedule season-end maintenance: ``` { "frequency": "annually", "interval": 1, "day_of_month": 30, "month": 11 // November 30th each year } ``` *[Screenshot placeholder: Seasonal reminder configuration showing spring preparation and winter storage schedules]* ## Common Time-Based Maintenance Schedules ### Weekly Maintenance **Chain Lubrication** - **Frequency**: Every 1-2 weeks - **Best for**: Regular riders, wet conditions - **Configuration**: `{"frequency": "weekly", "interval": 1}` **Basic Bike Cleaning** - **Frequency**: Weekly for active riders - **Best for**: Maintaining bike appearance and preventing buildup - **Configuration**: `{"frequency": "weekly", "interval": 1, "day_of_week": 0}` (Sunday) ### Monthly Maintenance **Detailed Inspection** - **Frequency**: Monthly - **Best for**: Catching wear before it becomes problematic - **Configuration**: `{"frequency": "monthly", "interval": 1, "day_of_month": 1}` **Brake System Check** - **Frequency**: Monthly for regular riders - **Best for**: Safety-critical system maintenance - **Configuration**: `{"frequency": "monthly", "interval": 1}` **Tire Pressure and Inspection** - **Frequency**: Monthly minimum - **Best for**: Maintaining optimal performance and safety - **Configuration**: `{"frequency": "monthly", "interval": 1, "day_of_month": 15}` ### Quarterly Maintenance **Drivetrain Deep Clean** - **Frequency**: Every 3 months - **Best for**: Maintaining shifting performance - **Configuration**: `{"frequency": "monthly", "interval": 3}` **Cable and Housing Inspection** - **Frequency**: Quarterly - **Best for**: Preventing shifting and braking issues - **Configuration**: `{"frequency": "quarterly", "interval": 1}` **Wheel Truing and Inspection** - **Frequency**: Every 3-4 months - **Best for**: Maintaining wheel integrity and performance - **Configuration**: `{"frequency": "monthly", "interval": 3}` ### Annual Maintenance **Complete Bike Overhaul** - **Frequency**: Annually - **Best for**: Comprehensive maintenance and component assessment - **Configuration**: `{"frequency": "annually", "interval": 1, "day_of_month": 1, "month": 3}` **Brake Fluid Replacement** - **Frequency**: Annually (hydraulic brakes) - **Best for**: Maintaining brake performance and preventing corrosion - **Configuration**: `{"frequency": "annually", "interval": 1}` **Major Component Replacement** - **Frequency**: Annually or bi-annually - **Best for**: Components with known time-based lifespans - **Configuration**: `{"frequency": "annually", "interval": 2}` *[Screenshot placeholder: Calendar view showing different maintenance schedules across weekly, monthly, and annual intervals]* ## Reminder Lifecycle Management ### Automatic Rescheduling When time-based reminders are completed: **Completion-Based Scheduling** - **Next due date** calculated from completion date - **Maintains intervals** even with early/late completion - **Prevents schedule drift** over time **Fixed Schedule Maintenance** - **Next due date** based on original schedule - **Consistent timing** regardless of completion date - **Best for** maintenance that must happen on specific dates ### End Conditions **Indefinite Reminders** Most maintenance reminders continue indefinitely: ``` { "frequency": "monthly", "interval": 1, "end_date": null, "max_occurrences": null } ``` **Limited Duration Reminders** Some reminders have natural end points: ``` { "frequency": "weekly", "interval": 1, "end_date": "2024-12-31", // Ends on specific date "max_occurrences": 12 // Or after 12 occurrences } ``` ### Schedule Adjustments **Interval Changes** Modify existing reminder intervals: - **Performance-based** - Adjust based on component performance - **Usage changes** - Modify for changes in riding frequency - **Experience-based** - Fine-tune based on maintenance outcomes - **Seasonal adjustments** - Different intervals for different seasons **Timing Optimization** Optimize reminder timing for convenience: - **Batch compatible maintenance** - Schedule related tasks together - **Avoid busy periods** - Skip holiday periods or event seasons - **Seasonal considerations** - Schedule outdoor work for good weather - **Personal schedule** - Align with your available maintenance time *[Screenshot placeholder: Reminder scheduling interface showing adjustment options and timing optimization]* ## Integration with Component Lifecycles ### Component Age Tracking Time-based reminders integrate with component installation dates: - **Age-based intervals** - Adjust maintenance frequency based on component age - **Lifecycle stages** - Different maintenance for new vs. aging components - **Replacement timing** - Schedule replacement based on expected lifespan - **Warranty periods** - Track warranty status and required maintenance ### Maintenance History Impact Previous maintenance affects future scheduling: - **Service quality** - Poor maintenance may require shorter intervals - **Issue discovery** - Problems found during maintenance may change schedules - **Component condition** - Observed wear affects future maintenance timing - **Performance tracking** - Maintenance effectiveness influences intervals ## Best Practices for Time-Based Reminders ### Setting Effective Intervals **Start Conservative** Begin with manufacturer recommendations or conservative intervals: - **Observe results** - See how components respond to maintenance - **Adjust gradually** - Make small changes to find optimal intervals - **Track outcomes** - Note the condition of components at service time - **Document findings** - Record observations to improve future scheduling **Consider Your Environment** Adjust intervals based on riding conditions: - **Harsh conditions** - Shorter intervals for wet, dusty, or salty conditions - **Gentle conditions** - Longer intervals for clean, dry riding - **Storage conditions** - Indoor vs. outdoor storage affects degradation - **Climate factors** - Humidity, temperature, and seasonal variations ### Reminder Organization **Logical Grouping** Group time-based reminders for efficiency: - **Weekly batch** - Combine all weekly maintenance into one session - **Monthly service** - Group monthly tasks for comprehensive service - **Seasonal preparation** - Bundle seasonal prep tasks together - **Annual overhaul** - Comprehensive annual maintenance sessions **Priority Scheduling** Prioritize reminders based on importance: - **Safety critical** - Brakes, steering, structural components - **Performance critical** - Drivetrain, tire pressure, suspension - **Preventive maintenance** - Cleaning, lubrication, inspection - **Aesthetic maintenance** - Cleaning, polishing, appearance items ### Notification Management **Advance Notice Timing** Set appropriate advance notice periods: - **Simple tasks** - 1-3 days advance notice - **Complex services** - 1-2 weeks advance notice - **Seasonal preparation** - 2-4 weeks advance notice - **Major overhauls** - 1-2 months advance notice for planning **Frequency Control** Manage notification frequency to avoid overload: - **Single alerts** - One notification per reminder - **Gentle escalation** - Increasing frequency as due date approaches - **Batch notifications** - Combine multiple reminders into digest emails - **Smart timing** - Send notifications at optimal times for action Time-based reminders provide the foundation for consistent, predictable bike maintenance. By setting up appropriate schedules and intervals, you can ensure your bikes receive the care they need when they need it, preventing problems and maintaining optimal performance throughout the riding season. *[Screenshot placeholder: Time-based reminder dashboard showing various active reminders with different intervals and due dates]* - [Strava auto-matching rides to bikes](https://www.componentry.app/docs/sensors/auto-matching-rides-to-bikes): Set up Apps, Sensors, and Strava so every new ride automatically matches the right bike in Componentry and updates the Strava activity. Auto-matching means a ride flows into Componentry, the correct bike is selected for you, and the matching Strava activity is updated with the right Strava bike — all without you touching a thing. It depends on three pieces working together: a connected app that sends rides to Componentry, a sensor paired to a bike on both Componentry and Strava, and Strava itself being connected. This guide walks through the setup end-to-end. Once it's in place, you don't have to think about it again. ## Step 1 — Connect a FIT-file-compatible app Componentry identifies which bike you rode from sensor IDs inside the activity file. Strava strips most of that data, so we need the original FIT file, which comes from a head-unit app: - **Garmin Connect** - **Wahoo** - **Hammerhead** Open the **Apps** page and connect the app that matches your head unit. Future rides will sync the FIT file to Componentry as soon as they upload to that service. If you don't ride with one of these head units, auto-matching to a Componentry bike still works for any sensor that ends up in a FIT/TCX/GPX upload — but updating the Strava ride requires both Strava and a head-unit app to be connected. ## Step 2 — Pair a sensor on the Sensors page Open the **Sensors** page. Each sensor that's appeared in a recent ride is listed here. For every bike you want auto-matched, pick one sensor that lives on that bike (a power meter is the most reliable choice) and do two things: - **Pair it to a Componentry bike** — this is how Componentry knows which of your bikes the ride belongs to. - **Link it to the matching Strava bike** — this is how the Strava activity gets updated with the correct Strava bike. Both links sit on the same sensor row. For the detailed walkthrough of each link, see [Linking a Sensor to Gear](/docs/sensors/linking-device-to-gear) and [Linking a Sensor to a Strava Bike](/docs/sensors/linking-device-to-strava-bike). ## Step 3 — Ride. Componentry handles the rest On your next ride: - The head-unit app syncs the FIT file to Componentry. - Componentry reads the sensor IDs in the file and matches the ride to the paired Componentry bike. Component wear updates automatically. - Componentry finds the corresponding Strava activity and sets its bike to the linked Strava bike. No manual gear selection. No editing the activity in Strava afterwards. ## Troubleshooting **The ride matched in Componentry but Strava wasn't updated** - Check that the sensor on the Sensors page has a Strava bike linked — not just a Componentry bike. - Make sure your Strava account is still connected on the Apps page. **The ride didn't match a Componentry bike at all** - Confirm the sensor used on that ride is paired to a bike on the Sensors page. - Confirm the FIT file actually reached Componentry — it should appear in your activity list within a few minutes of the head-unit sync. **Wrong bike matched** - The same sensor is probably paired to a different bike, or the same sensor is being used on more than one bike. Re-check the pairings on the Sensors page. - [Linking a Sensor to Gear](https://www.componentry.app/docs/sensors/linking-device-to-gear): Learn how to connect sensors to your bikes and components for automatic gear matching in Componentry. > Setting up auto-matching for the first time? Start with [Auto-matching rides to bikes](/docs/sensors/auto-matching-rides-to-bikes). Linking sensors to your gear is the foundation of automatic activity matching in Componentry. By establishing these connections, you enable the system to automatically determine which bike and components were used for each activity based on the electronic sensors that recorded data during the ride. ## Understanding Sensor-Gear Relationships ### Primary Sensor Links The most effective sensor links are with equipment that: - **Stays on one bike** - Power meters, bike computers permanently mounted - **Appears in every activity** - Sensors that consistently record data - **Has unique identification** - Clear serial numbers or sensor IDs - **Rarely moves between bikes** - Minimizes confusion and conflicts ### Secondary Sensor Considerations Some sensors may be: - **Shared across bikes** - Heart rate monitors, some sensors - **Occasionally moved** - Bike computers that can be transferred - **Used for multiple sports** - Sensors used for running, swimming, etc. *[Screenshot placeholder: Sensor management interface showing different sensor types and their link status]* ## Accessing Sensor Management ### Navigate to Sensors - From the main navigation, select **Sensors** - You'll see a list of all discovered and manually added sensors - Sensors are organized by type and show their current linking status ### Sensor Information Display Each sensor entry shows: - **Sensor name/model** - Manufacturer and model information - **Sensor type** - Power meter, heart rate monitor, etc. - **Serial number/ID** - Unique sensor identifier - **Link status** - Whether it's connected to gear - **Last seen** - When it last appeared in an activity *[Screenshot placeholder: Sensors page showing list of discovered sensors with link status indicators]* ## Linking Process ### Step 1: Select Sensor to Link - Find the sensor you want to link in the sensors list - Click the **"Link to Gear"** button or **"Edit"** option - The sensor linking dialog will open ### Step 2: Choose Gear Type Select what type of gear this sensor should be linked to: #### Link to Bike - **Best for**: Power meters, bike computers, speed/cadence sensors permanently mounted - **Effect**: All activities using this sensor will be automatically assigned to this bike - **Components**: All components on this bike will inherit the activity usage #### Link to Component - **Best for**: Component-specific sensors like electronic shifting systems - **Effect**: Activities using this sensor will be assigned to the bike containing this component - **Tracking**: Provides specific usage data for that individual component *[Screenshot placeholder: Sensor linking dialog showing gear type selection options]* ### Step 3: Select Specific Gear Choose the exact bike or component: #### For Bike Linking: - **Browse your bike list** - All bikes in your gear inventory are shown - **Select the appropriate bike** - Choose the bike this sensor is mounted on - **Verify bike details** - Confirm manufacturer, model, and configuration #### For Component Linking: - **Choose component type** - Select the type of component (e.g., drivetrain, wheel, etc.) - **Select specific component** - Pick the exact component from your inventory - **Verify component installation** - Ensure the component is installed on the correct bike *[Screenshot placeholder: Gear selection interface showing bikes and components available for linking]* ### Step 4: Configure Link Settings Set up additional options for the sensor link: #### Primary vs Secondary Sensor - **Primary Sensor**: Main identifier for gear matching (e.g., power meter) - **Secondary Sensor**: Supporting sensor that reinforces matching (e.g., cadence sensor) #### Conflict Resolution - **Override other sensors**: This sensor takes priority for gear matching - **Require confirmation**: Ask for manual confirmation when conflicts arise - **Use in combination**: Work with other sensors for more accurate matching #### Activity Types - **All activities**: Use this sensor for matching any activity type - **Specific activities**: Only use for certain types of activities (cycling, etc.) *[Screenshot placeholder: Sensor link configuration options showing priority and conflict settings]* ### Step 5: Save and Test - **Review your settings** - Verify all selections are correct - **Save the link** - Click "Link Sensor" or "Save Changes" - **Test with recent activities** - Check that recent activities now match correctly ## Best Practices for Sensor Linking ### Prioritize Bike-Specific Sensors Start with sensors that are permanently associated with one bike: **Highest Priority:** - **Power meters** - Crank, pedal, or hub-based systems - **Integrated bike computers** - Units built into or permanently mounted on one bike - **Electronic shifting systems** - Di2, eTap, etc. **Medium Priority:** - **Speed/cadence sensors** - Usually bike-specific but can be moved - **Dedicated bike computers** - Computers used primarily on one bike **Lower Priority:** - **Heart rate monitors** - Often shared across activities and sports - **Portable computers** - Sensors frequently moved between bikes ### Create Logical Hierarchies Establish clear sensor priorities: - **Primary identifier** - One main sensor per bike (usually power meter) - **Secondary confirmers** - Additional sensors that support the primary match - **Backup options** - Sensors that can identify the bike when primary sensors fail ### Handle Multi-Bike Scenarios For cyclists with multiple bikes: **Option 1: Unique Sensors Per Bike** - Each bike has its own power meter or primary sensor - Cleanest setup with most accurate matching - Higher equipment cost but best automation **Option 2: Shared Sensors with Smart Rules** - Use activity patterns and secondary sensors for identification - Requires more manual intervention initially - Componentry learns from patterns over time **Option 3: Hybrid Approach** - Primary sensors on main bikes - Shared sensors on secondary or occasional bikes - Balance of automation and cost *[Screenshot placeholder: Multi-bike sensor setup showing different linking strategies]* ## Advanced Linking Scenarios ### Temporary Sensor Changes Handle situations where sensors are temporarily different: **Equipment Failure:** - **Create temporary sensor entry** - Add replacement sensor details - **Link to same gear** - Associate with the same bike/component - **Note the time period** - Document when the change occurred - **Update historical data** - Ensure activities are correctly matched **Borrowed Equipment:** - **Create guest sensor entry** - Add borrowed sensor information - **Link with time constraints** - Set start/end dates for the link - **Restore original setup** - Return to normal configuration afterward ### Sensor Upgrades and Replacements When replacing sensors: **Before Replacement:** - **Document current setup** - Note all sensor links and settings - **Export activity history** - Backup data associated with old sensor - **Plan transition** - Decide how to handle the changeover **During Replacement:** - **Add new sensor** - Create entry for replacement sensor - **Link to same gear** - Maintain gear associations - **Test functionality** - Verify automatic matching works with new sensor **After Replacement:** - **Update sensor status** - Mark old sensor as inactive - **Verify historical data** - Ensure all activities are properly attributed - **Clean up sensor list** - Archive or remove obsolete sensors ### Component-Level Sensor Tracking For advanced users tracking individual components: **Electronic Drivetrains:** - Link shifting systems to specific drivetrain components - Track usage of cassettes, chains, and derailleurs separately - Monitor battery life and service intervals **Wheel-Specific Sensors:** - Link power meter hubs to specific wheelsets - Track usage of different wheel configurations - Monitor bearing wear and maintenance needs *[Screenshot placeholder: Advanced sensor linking showing component-level associations]* ## Troubleshooting Sensor Links ### Common Linking Issues **Sensor Not Appearing in Activities** - **Check sensor battery** - Ensure sensor is powered and recording - **Verify sensor settings** - Confirm sensor is set to broadcast data - **Test sensor connectivity** - Pair with bike computer or app to verify function **Multiple Sensors Claiming Same Activity** - **Review sensor priorities** - Set primary and secondary sensor roles - **Check for sensor conflicts** - Ensure sensors aren't incorrectly shared - **Update conflict resolution** - Configure how conflicts should be handled **Historical Activities Not Updating** - **Trigger re-processing** - Force Componentry to re-analyze past activities - **Check date ranges** - Verify sensor links cover the appropriate time periods - **Manual override** - Manually assign activities if automatic matching fails ### Validation and Testing **Verify Sensor Links:** - **Upload test activity** - Use a known activity from the linked bike - **Check automatic matching** - Verify activity is assigned to correct bike - **Review sensor attribution** - Confirm correct sensors are recognized **Test Edge Cases:** - **Multiple bike scenario** - Test activities with sensors from different bikes - **Sensor failure simulation** - Test matching when primary sensor is missing - **Conflict resolution** - Verify system handles ambiguous situations correctly **Monitor Performance:** - **Track matching accuracy** - Review percentage of automatically matched activities - **Identify patterns** - Look for consistent matching failures - **Optimize configuration** - Adjust sensor links based on performance data *[Screenshot placeholder: Sensor validation interface showing link testing and performance metrics]* ## Maintaining Sensor Links ### Regular Review Periodically review your sensor links: **Monthly Check:** - Verify all sensors are functioning and recording data - Check for new sensors that need linking - Review matching accuracy for recent activities **Seasonal Review:** - Update sensor configurations for seasonal bike changes - Check battery status for electronic sensors - Plan for any equipment upgrades or replacements **Annual Audit:** - Review all sensor links for accuracy - Clean up obsolete or unused sensors - Update sensor information and settings ### Documentation Keep records of your sensor setup: - **Sensor inventory** - List all sensors with serial numbers and specifications - **Link configuration** - Document which sensors are linked to which gear - **Change history** - Track modifications and the reasons for changes - **Performance notes** - Record any issues or optimization opportunities By properly linking sensors to your gear, you create a foundation for automatic activity tracking that saves time and improves the accuracy of your component wear monitoring. The next section will cover linking sensors to Strava bikes for enhanced integration. - [Auto updating a Bike on a Strava activity](https://www.componentry.app/docs/sensors/linking-device-to-strava-bike): Connect a head-unit app, pair a sensor to a Componentry bike and a Strava bike, and every new ride updates the Strava activity with the right bike automatically. Once this is set up, every new ride shows the correct bike on its Strava activity — no manual editing. Three things have to be in place: a connected head-unit app sending the FIT file to Componentry, a sensor paired on the Sensors page to both a Componentry bike and a Strava bike, and Strava itself connected. ## Step 1 — Connect a FIT-file-compatible app on the Apps page Componentry identifies which bike you rode from sensor IDs inside the FIT file. Strava strips most of that data on upload, so we need the original FIT from your head unit. Open the **Apps** page and connect the app that matches your head unit: - **Garmin Connect** - **Wahoo** - **Hammerhead** While you're on the Apps page, also connect **Strava** — that's the account Componentry will update with the right bike after each ride. *[Screenshot placeholder: Apps page with Garmin, Wahoo, Hammerhead, and Strava connection cards]* ## Step 2 — Pair a sensor on the Sensors page Open the **Sensors** page. Each sensor that's appeared in a recent ride is listed here. For every bike you want updated on Strava, pick one sensor that lives on that bike (a power meter is the most reliable choice) and do two things on the same row: - **Pair it to a Componentry bike** — so Componentry knows which of your bikes the ride belongs to. - **Link it to the matching Strava bike** — so the Strava activity can be updated with the right Strava bike. Both links are required. Pairing only the Componentry bike will match the ride internally but leave the Strava activity untouched. *[Screenshot placeholder: Sensors page row showing both a Componentry bike and a Strava bike linked to the same sensor]* For more on the Componentry-bike side of the pairing, see [Linking a Sensor to Gear](/docs/sensors/linking-device-to-gear). ## Step 3 — Ride. Strava gets updated automatically On your next ride: - Your head-unit app syncs the FIT file to Componentry. - Componentry reads the sensor IDs and matches the ride to the paired Componentry bike. - Componentry finds the corresponding Strava activity and sets its bike to the linked Strava bike. No editing the activity in Strava afterwards. *[Screenshot placeholder: Strava activity showing the bike updated automatically by Componentry]* ## Troubleshooting **The Componentry bike matched but Strava wasn't updated** - Check the sensor row on the Sensors page has a *Strava* bike linked, not just a Componentry bike. - Confirm Strava is still connected on the Apps page. **The ride didn't match a Componentry bike at all** - Confirm the sensor used on that ride is paired on the Sensors page. - Confirm the FIT file actually reached Componentry — it should appear in your activity list within a few minutes of the head-unit sync. **Wrong Strava bike showed up** - The sensor is probably linked to the wrong Strava bike, or the same sensor is being used on more than one physical bike. Re-check the link on the Sensors page. - [Sensors](https://www.componentry.app/docs/sensors/sensors): Learn how to use Sensors to automatically match Gear to activities in Componentry. Sensors are the key to automating gear tracking in Componentry. They serve as the bridge between your activities and your physical equipment, enabling automatic matching of gear to activities based on sensor data. This eliminates the need for manual gear selection after each ride and ensures accurate component wear tracking. ## What are Sensors? Sensors in Componentry represent electronic components that generate data during your activities. These can include power meters, heart rate monitors, bike computers, speed/cadence sensors, and any other electronic equipment that appears in your activity files. When a sensor is properly configured, Componentry can automatically determine which bike and components were used for each activity, making gear tracking seamless and accurate. *[Screenshot placeholder: Sensors overview showing various sensor types and their connection status]* ## How Sensor Matching Works ### Automatic Recognition When you upload or sync an activity, Componentry analyzes the sensor data included in the file. Each electronic sensor has unique identifiers that allow the system to recognize which specific sensors were used during the activity. ### Gear Association By linking sensors to specific gear (bikes and components), Componentry can automatically: - **Match activities to bikes** - If a power meter is linked to your road bike, any activity using that power meter is automatically associated with that bike - **Track component usage** - Components linked to the same bike inherit the activity data for wear calculations - **Eliminate manual selection** - No need to manually specify which bike was used after each ride ### Data Sources Sensor information comes from: - **Activity files** (.fit, .gpx, .tcx) that contain sensor serial numbers and IDs - **Strava integration** which includes sensor data from connected activities - **Manual sensor registration** for sensors that may not appear automatically *[Screenshot placeholder: Activity detail showing sensor data and automatic gear matching]* ## Types of Sensors ### Power Meters Power meters are excellent for automatic gear matching because: - **Unique identification** - Each power meter has a distinct serial number - **Bike-specific installation** - Usually permanently mounted to one bike - **Consistent data** - Appears in every activity where the bike is used - **High accuracy** - Provides reliable matching with minimal false positives **Common power meter types:** - Crank-based (Stages, SRAM, etc.) - Pedal-based (Garmin Vector, Favero Assioma, etc.) - Hub-based (PowerTap, etc.) - Spider-based (Quarq, SRM, etc.) ### Speed and Cadence Sensors These sensors are excellent for matching because: - **Bike-specific mounting** - Usually permanently attached to one bike - **Consistent presence** - Appear in most activities for that bike - **Unique identifiers** - Each sensor has distinct sensor IDs *[Screenshot placeholder: Different sensor types shown in the Sensors management interface]* ## Sensor Identification and Setup ### Automatic Discovery Componentry automatically discovers sensors from your activities: - **Activity Analysis** - When activities are uploaded or synced, sensor data is extracted - **Sensor Recognition** - New sensors are identified and added to your sensor list - **Matching Opportunities** - Unlinked sensors are flagged for potential gear association ### Sensor Verification Componentry helps ensure accurate sensor tracking through: - **Serial number validation** - Cross-reference with manufacturer databases when possible - **Activity correlation** - Verify sensors appear consistently in expected activities - **Conflict detection** - Alert when the same sensor appears on multiple bikes simultaneously *[Screenshot placeholder: Sensor discovery process showing newly detected sensors from activities]* ## Benefits of Proper Sensor Setup ### Automatic Gear Tracking Once sensors are properly linked: - **Zero manual effort** - Activities automatically match to the correct bike - **Accurate wear tracking** - Component usage is precisely calculated - **Consistent data** - No gaps or errors from forgotten manual selections ### Activity Validation Sensor data helps validate activity authenticity: - **Equipment verification** - Confirms which equipment was actually used - **Performance correlation** - Power and speed data should match bike capabilities - **Consistency checking** - Unusual sensor combinations can flag data issues ### Historical Analysis With proper sensor linking, you can: - **Track component usage over time** - See exactly how much each component has been used - **Analyze bike-specific performance** - Compare performance across different bikes - **Plan maintenance schedules** - Base service intervals on actual usage data ### Multi-Bike Management For cyclists with multiple bikes: - **Automatic bike detection** - No need to remember which bike you rode - **Separate maintenance tracking** - Each bike's components are tracked independently - **Usage distribution** - See how much you ride each bike *[Screenshot placeholder: Activity list showing automatic gear matching with sensor-based identification]* ## Common Sensor Scenarios ### Single Bike Setup For cyclists with one bike: - **Link all sensors to one bike** - Power meter, speed sensor, cadence sensor - **Automatic matching** - All activities with those sensors use that bike - **Simple maintenance** - All component wear accumulates on one bike ### Multiple Bike Setup For cyclists with multiple bikes: - **Unique sensors per bike** - Each bike has its own power meter or sensor setup - **Cross-bike sensors** - Heart rate monitors can be used across bikes - **Smart matching** - Componentry uses bike-specific sensors for accurate matching ### Shared Sensor Setup For sensors used across multiple bikes: - **Manual bike selection may be needed** - When sensor data alone isn't sufficient - **Activity pattern recognition** - Componentry learns from manual selections - **Combined matching** - Use multiple data points for accurate identification ### Travel and Event Setup For special situations: - **Temporary sensor changes** - Account for borrowed or replacement equipment - **Event-specific setup** - Different equipment configurations for races - **Backup sensor recognition** - Handle situations when primary sensors fail *[Screenshot placeholder: Multi-bike setup showing sensor allocation across different bikes]* ## Getting Started with Sensors To begin using Sensors effectively: ### 1. Review Discovered Sensors - Check the Sensors page for automatically discovered equipment - Verify sensor information and identify any unknown sensors - Note which sensors appear most frequently in your activities ### 2. Link Sensors to Gear - Start with bike-specific sensors like power meters - Associate sensors with the appropriate bikes in your gear list - Configure sensor relationships for accurate matching ### 3. Test Automatic Matching - Upload a few test activities to verify proper gear matching - Check that activities are automatically assigned to the correct bikes - Adjust sensor links if matching isn't working as expected ### 4. Optimize Your Setup - Fine-tune sensor configurations based on usage patterns - Set up relationships between related sensors - Configure preferences for sensor conflicts or ambiguities *[Screenshot placeholder: Sensor setup workflow showing the configuration process]* ## Troubleshooting Sensor Issues ### Common Problems **Activities Not Matching to Gear** - Verify sensors are properly linked to bikes - Check that sensor data is present in activity files - Ensure sensor IDs match between activities and sensor records **Incorrect Gear Matching** - Review sensor associations for conflicts - Check for sensors shared between multiple bikes - Verify sensor information accuracy **Missing Sensor Data** - Confirm sensors are recording data properly - Check activity file formats support sensor information - Verify Strava integration includes sensor data **Duplicate Sensor Entries** - Consolidate multiple entries for the same physical sensor - Update sensor links to use the correct sensor record - Clean up historical activities with incorrect sensor associations The following sections will guide you through the specific processes of linking sensors to gear and configuring Strava bike relationships for optimal automatic matching. - [Completing Reminders from Service Logs](https://www.componentry.app/docs/service-logs/completing-reminders-from-service-logs): Tick off all of a bike's maintenance reminders from a maintenance check or service log, and keep a record of which service completed them. Maintenance checks and service logs both include a Reminders section for the bike they belong to. When you service a bike, you rarely do just one thing: while the chain is off you also check the brake pads and top up the sealant. The Reminders section lets you tick off everything the session covered in one go, instead of hunting down each reminder afterwards. ## Where the Reminders Section Appears Open any maintenance check or service log that is linked to a bike and you will find a Reminders card above the component sections. It shows two lists: - **The bike's reminders** - Every reminder for the bike, including reminders attached to its individual components, sorted most urgent first. Each row shows what the reminder is attached to, its status (Overdue, Due Soon, Upcoming, or Scheduled), and how close it is to due in days, distance, or rides. Reminders that are already done for this cycle are marked, and paused ones are labelled. - **Completed in this log** - The reminders that were completed as part of this service, with the date they were ticked off. Everything is offered, not just what is due, because a service often covers work early. You decide what the session actually included. Service logs without a bike attached have no reminders to show. ## Completing Reminders as Part of a Service - Open the maintenance check or service log. - In the Reminders section, select the reminders your service covered. Use Select All if the session covered everything. Reminders that were not due yet can be selected too: completing one early simply restarts its interval from today. - Choose Complete. Each selected reminder is completed, scheduled for its next due point, and moved into the Completed in this log list. Completion works the same way it always has: time-based reminders schedule their next occurrence from today, distance-based reminders schedule from the bike or component's current distance, and ride-count reminders reset their count. Completing a reminder through a service is exactly as good for your schedule as completing it anywhere else. The difference is the record it leaves behind. On a back-dated maintenance check, the service record keeps the check's date, while the reminder's next due point is still calculated from today. The history reflects when the work happened without skewing the upcoming schedule. ## Starting a Service from a Reminder This flow also works in the other direction. When you complete a reminder from the dashboard, the Reminders page, or the mobile app, Componentry offers to record the work as a Maintenance Check or Full Service Log. Choosing either creates the record with that reminder already completed and linked, and takes you to the log so you can tick off anything else the session covered. See [Completing Reminders](/docs/reminders/completing-reminders) for the full prompt behaviour. ## A Permanent Record Reminders completed through a service stay on that service's record permanently. If you later edit or delete the reminder itself, the log still shows what was completed and when. Deleting a service log does not undo the reminders it completed; they keep their schedules. Over time this builds a service history that can answer when the chain was last waxed and which service covered it, which a reminder list on its own cannot. That history also feeds service reports and makes a well-documented bike easier to sell. ## Mobile The same Reminders section appears on maintenance checks and full service logs in the mobile app. Full service logs, including the state workflow (New, Booked, Completed), crash flag, mechanic, and component notes, are now available on mobile. Component replacement within a service and emailed service reports remain web-only for now. - [Retiring and Adding Components with Service Log Links](https://www.componentry.app/docs/service-logs/component-retirement-replacement): Learn how to retire worn components and add replacements through Service Logs, including proper linking and documentation. Component retirement and replacement through Service Logs provides a structured, documented approach to managing component lifecycles. This process ensures that every component change is properly tracked, linked, and attributed to the service where it occurred. The integration between Service Logs and component management creates a comprehensive maintenance history that's invaluable for tracking component performance and planning future maintenance. ## Component Lifecycle in Service Logs ### Understanding Component States Components progress through different states during their lifecycle: **Active/Installed Components** - **Current inventory** - Components currently installed and functioning on the gear - **Wear tracking** - Active monitoring of component wear and condition - **Service planning** - Components available for retirement during service - **Performance tracking** - Components contributing to current bike performance **Retired Components** - **Service attribution** - Components retired during a specific service - **Retirement documentation** - Complete record of when, why, and how component was retired - **Replacement linking** - Connection to replacement component if applicable - **Historical record** - Permanent record of component's service life **Replacement Components** - **Service installation** - New components added during service - **Linked to retired** - Connected to the component they replaced - **Fresh tracking** - New wear tracking starting from installation - **Service documentation** - Record of which service installed the component *[Screenshot placeholder: Component lifecycle diagram showing progression from installed through retired to replacement]* ## Service Log State Requirements ### Component Actions by State Different service states allow different component actions: **New Service Logs** - **View only** - Can view all installed components and their conditions - **Planning mode** - Identify components that may need retirement - **No modifications** - Cannot retire components or add new ones - **Assessment focus** - Use for component assessment and service planning **Booked Service Logs** - **Component freeze** - Component list is locked to preserve service snapshot - **Documentation state** - Current components documented for service provider - **No changes allowed** - Cannot modify components while service is in progress - **Report generation** - Can generate reports showing current component state **Completed Service Logs** - **Full component management** - Can retire old components and add new ones - **Replacement workflows** - Complete retirement and replacement processes - **Service attribution** - All component changes attributed to this service - **Documentation completion** - Final documentation of all component changes *[Screenshot placeholder: Service state indicators showing which component actions are available in each state]* ## Component Retirement Process ### Initiating Component Retirement Start the retirement process from Completed Service Logs: **Component Selection** - **Installed components list** - View all components currently installed on the gear - **Component details** - See wear information, installation dates, and conditions - **Retirement candidates** - Identify components that need retirement - **Batch operations** - Select multiple components for retirement if needed **Retirement Reasons** Document why components are being retired: - **Wear-based retirement** - Components that have reached end of service life - **Crash-related retirement** - Components damaged in crashes or accidents - **Upgrade retirement** - Components being replaced with upgrades - **Preventive retirement** - Components retired before failure as preventive measure **Retirement Confirmation** - **Final verification** - Confirm components selected for retirement - **Retirement date** - Automatically set to service completion date and time - **Service attribution** - Component retirement attributed to current service log - **Data preservation** - All component data preserved in historical record *[Screenshot placeholder: Component retirement selection interface showing installed components with retirement options]* ### Component Retirement Modal Comprehensive retirement documentation: **Component Information Review** - **Component summary** - Complete component information display - **Wear statistics** - Final wear information at time of retirement - **Service history** - Previous services that worked on this component - **Installation details** - When and where component was originally installed **Retirement Details** - **Retirement reason** - Detailed reason for component retirement - **Condition notes** - Final condition assessment and notes - **Measurements** - Record final measurements (e.g., remaining pad thickness) - **Unit preferences** - Enter measurements in your preferred units (mm/inches) - **Replacement planning** - Whether component will be replaced immediately - **Service attribution** - Confirmation that retirement is part of current service **Data Migration** - **Wear preservation** - Final wear statistics preserved in retirement record - **Activity correlation** - Component retirement properly timed relative to activities - **Service documentation** - Complete record of which service retired the component - **Historical accuracy** - Retirement timing ensures accurate historical tracking *[Screenshot placeholder: Component retirement modal showing detailed retirement information and confirmation]* ## Replacement Component Addition ### Immediate Replacement Prompts System guides users through replacement process: **Automatic Prompts** After retiring a component, system prompts for replacement: - **Replacement suggestion** - Option to immediately add replacement component - **Component type matching** - Suggest replacement for same component type - **Similar component options** - Show previously used components of same type - **Skip option** - Option to retire without immediate replacement if appropriate **Replacement Context** - **Service attribution** - New component automatically attributed to current service - **Installation timing** - Installation date/time set to service completion - **Linking preparation** - System prepares to link new component to retired one - **Inventory integration** - New component added to current gear inventory *[Screenshot placeholder: Replacement component prompt showing options after retiring a component]* ### Component Addition Workflow Adding replacement components through existing workflows: **Reuse Existing Components** Leverage proven component creation workflows: - **Standard creation flow** - Use same component creation process from Gear detail views - **Pre-populated information** - Component type and gear already selected - **Service context** - Creation happens within service log context - **Manufacturer integration** - Full access to manufacturer and component type databases **Component Creation Form** - **Component details** - Name, type, manufacturer, and model information - **Installation information** - Installation date automatically set to service completion - **Wear tracking setup** - Initialize wear tracking for new component - **Service linking** - Automatic attribution to current service log **Component Validation** - **Required information** - Ensure all necessary component information is provided - **Duplicate checking** - Prevent accidental duplicate components - **Compatibility verification** - Ensure component is compatible with gear - **Installation verification** - Confirm installation details are accurate *[Screenshot placeholder: Component addition form showing creation workflow within service log context]* ## Component Linking System ### Retirement-Replacement Links System tracks relationships between retired and replacement components: **Automatic Linking** When components are added immediately after retirement: - **Direct relationship** - New component automatically linked to retired component - **Database tracking** - `retired_component_id` field tracks the relationship - **Bidirectional reference** - Both components reference each other in the database - **Service attribution** - Both retirement and installation attributed to same service **Link Benefits** - **Component history** - Complete component replacement history - **Performance comparison** - Compare performance between old and new components - **Maintenance patterns** - Track replacement patterns and timing - **Warranty tracking** - Link warranty information across component generations **Link Display** - **Visual indicators** - Clear visual indication of linked components - **Navigation links** - Easy navigation between linked components - **Replacement chains** - View complete replacement history for component positions - **Service correlation** - See which services performed each replacement *[Screenshot placeholder: Component linking display showing connections between retired and replacement components]* ### Manual Linking Management Manage component links when needed: **Post-Service Linking** For components added separately from retirement: - **Manual link creation** - Associate components that should be linked - **Retrospective linking** - Link components that were replaced in previous services - **Link modification** - Adjust incorrect or incomplete links - **Link removal** - Remove inappropriate or incorrect links **Link Validation** - **Logical consistency** - Ensure links make logical sense - **Timeline validation** - Retirement must occur before replacement installation - **Service attribution** - Links should generally occur within same service - **Component compatibility** - Linked components should be compatible/similar ## Service Log Component Tracking ### Component Change Documentation Service logs maintain comprehensive records of all component changes: **Retirement Tracking** - **Components retired** - Complete list of components retired during service - **Retirement timing** - Exact date and time of component retirement - **Retirement reasons** - Why each component was retired - **Final wear statistics** - Component condition at time of retirement **Installation Tracking** - **Components added** - Complete list of new components installed during service - **Installation timing** - Exact date and time of component installation - **Component details** - Complete information about each new component - **Service attribution** - Clear record that service installed the component **Change Summary** - **Before and after** - Complete component inventory before and after service - **Net changes** - Summary of components added, removed, and unchanged - **Impact assessment** - How component changes affect overall bike configuration - **Cost tracking** - Component costs associated with the service *[Screenshot placeholder: Service log component change summary showing before/after component lists]* ### Service Log Component Display Service logs provide clear views of component information: **Installed Components Section** - **Current inventory** - All components currently installed on the gear - **Component cards** - Detailed information for each component - **Wear information** - Current wear statistics and condition - **Action availability** - Retirement actions available based on service state **Serviced Components Section** - **Retired components** - Components that were retired during this service - **Replacement links** - Links to replacement components if applicable - **Retirement details** - Why and when each component was retired - **Historical context** - Component service life and performance history **Component Actions** - **Retirement workflows** - Guided component retirement process - **Addition workflows** - Streamlined component addition process - **Bulk operations** - Retire or add multiple components efficiently - **Link management** - Manage relationships between components *[Screenshot placeholder: Service log component sections showing installed and serviced components]* ## Integration with Component Management ### Shared Component Data Service log component management integrates with overall component tracking: **Unified Component Database** - **Single source of truth** - All component information stored centrally - **Cross-reference capability** - Components referenced across multiple features - **Data consistency** - Component information consistent across all views - **Historical preservation** - Complete component history maintained **Component Wear Integration** - **Wear calculation continuity** - Wear tracking continues seamlessly across services - **Service impact tracking** - How services affect component wear calculations - **Retirement accuracy** - Proper timing ensures accurate wear calculations - **Performance correlation** - Service timing correlated with performance data **Activity Integration** - **Activity correlation** - Component changes properly timed relative to activities - **Usage tracking** - Component usage tracked from installation through retirement - **Performance analysis** - Component performance analyzed across activities - **Replacement timing** - Optimal replacement timing based on usage patterns ### Component Lifecycle Reporting Service logs contribute to comprehensive component lifecycle reporting: **Component History Reports** - **Complete lifecycle** - From installation through retirement for each component - **Service attribution** - Which services worked on each component - **Performance tracking** - Component performance over its service life - **Replacement patterns** - When and why components are typically replaced **Service Impact Analysis** - **Component longevity** - How different services affect component lifespan - **Service effectiveness** - Whether services extend component life appropriately - **Cost effectiveness** - Service costs vs. component replacement costs - **Maintenance optimization** - Optimal service timing for maximum component life *[Screenshot placeholder: Component lifecycle report showing complete component history with service attribution]* ## Best Practices for Component Management ### Effective Retirement Planning **Component Assessment** Regular assessment of component conditions: - **Wear monitoring** - Regular monitoring of component wear statistics - **Visual inspection** - Physical inspection of components during services - **Performance evaluation** - How components are affecting bike performance - **Preventive approach** - Retire components before failure when appropriate **Retirement Timing** Optimal timing for component retirement: - **Service coordination** - Time retirements to coincide with scheduled services - **Batch retirement** - Retire related components together when efficient - **Preventive retirement** - Retire high-wear components before failure - **Economic optimization** - Consider service costs vs. component replacement costs **Documentation Standards** Maintain thorough retirement documentation: - **Detailed reasons** - Clear explanation of why components were retired - **Condition notes** - Final condition assessment and observations - **Performance notes** - How component performance changed over time - **Replacement recommendations** - Notes for future component selection ### Replacement Component Selection **Component Matching** Choose appropriate replacement components: - **Compatibility verification** - Ensure new components are compatible with gear - **Performance requirements** - Match component performance to riding needs - **Quality considerations** - Balance cost, performance, and durability - **Brand consistency** - Consider brand compatibility and integration **Installation Planning** Plan component installation carefully: - **Service coordination** - Coordinate installation with overall service work - **Break-in considerations** - Plan for component break-in periods - **System integration** - Ensure new components integrate well with existing systems - **Performance optimization** - Optimize component settings and configuration ### Service Integration **Comprehensive Service Planning** Integrate component management with service planning: - **Component needs assessment** - Assess component needs during service planning - **Service scope definition** - Include component work in overall service scope - **Parts preparation** - Order necessary components before service begins - **Work coordination** - Coordinate component work with other service activities **Documentation Integration** Integrate component documentation with service documentation: - **Service reports** - Include component changes in service reports - **Historical records** - Maintain component change history within service records - **Cross-referencing** - Link component changes to service documentation - **Future planning** - Use component change history for future service planning Component management through Service Logs provides a structured, documented approach to maintaining your bike's component inventory. This integration ensures that every component change is properly tracked, documented, and linked to the service where it occurred, creating a comprehensive maintenance history that supports informed decision-making about future maintenance and component replacement. *[Screenshot placeholder: Complete component management workflow showing retirement, replacement, and documentation process]* - [Creating a Service Log for Gear](https://www.componentry.app/docs/service-logs/creating-service-logs): Learn how to create and manage service logs for your bikes in Componentry, including service planning and state management. Creating Service Logs in Componentry is the foundation of comprehensive bike maintenance tracking. Each Service Log is tied to a specific piece of gear and provides a structured way to plan, track, and document maintenance work. Whether you're planning routine maintenance or responding to specific issues, Service Logs ensure nothing is missed and everything is properly documented. ## Accessing Service Log Creation ### From the Service Logs Page The primary way to create new service logs: - **Create New Service Log button** - Prominent button on the Service Logs page - **Gear selection required** - Must select which bike needs service before proceeding - **Full creation interface** - Access to all service log options and settings ### From Gear Detail Pages Context-aware service log creation: - **Gear-specific creation** - Create service logs directly from bike detail pages - **Automatic gear linking** - Service log automatically associated with the current gear - **Component context** - Full visibility of installed components during creation ### From a Reminder The fastest path into a service record: - **Completion prompt** - Completing any reminder linked to a bike offers to create a Maintenance Check or Full Service Log - **Reminder pre-completed** - The record is created with that reminder already completed and linked to it - **Straight to the log** - You land on the new log, where the bike's other open reminders are ready to tick off - **Works everywhere** - The prompt appears on the dashboard, the Reminders page, and in the mobile app See [Completing Reminders from Service Logs](/docs/service-logs/completing-reminders-from-service-logs) for details. ### Quick Creation Options Streamlined creation for common scenarios: - **Dashboard shortcuts** - Quick access from the main dashboard - **Component alerts** - Create service logs when components need attention *[Screenshot placeholder: Different service log creation entry points shown across the interface]* ## Service Log Creation Process ### Step 1: Gear Selection Every service log must be associated with specific gear: **Gear Selection Requirements** - **Single gear focus** - Each service log is associated with exactly one piece of gear - **Active gear priority** - Active gear is shown first in selection lists - **Retired gear access** - Retired gear is available for historical service logs - **Gear cannot be changed** - Once created, the gear association is permanent **Gear Selection Interface** - **Visual gear picker** - See photos and key details of each bike - **Gear filtering** - Filter by gear type, status, or other criteria - **Search functionality** - Quickly find specific gear by name or model - **Recently serviced** - Quick access to recently serviced gear for follow-up work *[Screenshot placeholder: Gear selection interface showing available bikes with photos and details]* ### Step 2: Basic Service Information Configure the essential service log details: **Service Log Name** - **Automatic naming** - System generates names based on gear and date - **Custom naming** - Override with custom names for specific services - **Descriptive names** - Include service type or specific work being done - **Naming conventions** - Follow consistent patterns for easy organization **Service State Selection** Choose the appropriate initial state: - **New** - For service planning and preparation - **Booked** - When service is scheduled with a mechanic - **Completed** - When creating logs for already completed work **Service Date Information** - **Creation date** - Automatically recorded when service log is created - **Planned date** - When service is scheduled to be performed (for Booked services) - **Completion date** - When service was completed (for Completed services) - **Flexible dating** - Dates can be adjusted as service progresses *[Screenshot placeholder: Basic service information form showing name, state, and date fields]* ### Step 3: Service Details Add comprehensive information about the service: **Service Notes** Document planned or completed work: - **Markdown support** - Rich text formatting for detailed notes - **Work description** - Detailed description of work to be performed or completed - **Special instructions** - Specific requirements, procedures, or considerations - **Reference information** - Links to manuals, guides, or previous service notes **Service Provider Information** Track who is performing the work: - **Service provider name** - Mechanic, shop, or person performing the service - **Optional field** - Not required for self-service or planning-stage logs - **Contact information** - Store contact details for future reference - **Service history** - Track which providers have worked on each bike **Crash-Related Service** Indicate if service is related to a crash: - **Crash indicator** - Mark services that are result of crashes or accidents - **Insurance documentation** - Important for insurance claims and documentation - **Component assessment** - Helps identify components that may need extra attention - **Safety prioritization** - Crash-related services get priority treatment *[Screenshot placeholder: Service details form showing notes, provider, and crash-related options]* ## Service States and Their Purposes ### New Service Logs Initial state for service planning: **Purpose and Use Cases** - **Service planning** - Plan upcoming maintenance before scheduling - **Component assessment** - Review component conditions and plan replacements - **Work preparation** - Prepare parts lists and service requirements - **Initial documentation** - Record initial observations and planned work **Available Actions in New State** - **Edit service details** - Modify notes, provider, and other service information - **Review components** - View all installed components and their conditions - **Plan replacements** - Identify components that may need replacement - **Progress to Booked** - Move to Booked state when ready to schedule service **Limitations in New State** - **No component retirement** - Cannot retire components while planning - **No service reports** - Cannot generate service reports until Booked - **Limited finality** - State indicates work is still in planning phase *[Screenshot placeholder: New service log showing available actions and limitations]* ### Booked Service Logs State for scheduled or ready-to-start services: **Purpose and Use Cases** - **Scheduled maintenance** - Services that are booked with a mechanic or shop - **Ready for execution** - Self-service work that's ready to begin - **Professional coordination** - Services being coordinated with external providers - **Component freeze** - Lock current component state for service documentation **Available Actions in Booked State** - **Generate service reports** - Create comprehensive reports for mechanics - **Email reports** - Send service information via email to service providers - **Edit service details** - Continue to modify notes and service information - **Progress to Completed** - Mark service as completed when work is finished **Limitations in Booked State** - **No component retirement** - Components are locked to preserve service snapshot - **No component changes** - Cannot add or modify components during booked service - **Service focus** - Interface focuses on service execution rather than component management **Service Report Generation** Key feature available in Booked state: - **Comprehensive reports** - Complete gear and component information - **Professional formatting** - Suitable for sharing with mechanics and service providers - **Email integration** - Send reports directly via email - **Documentation snapshot** - Captures current state for service reference *[Screenshot placeholder: Booked service log showing service report generation and email options]* ### Completed Service Logs Final state for finished services: **Purpose and Use Cases** - **Service documentation** - Record completed work and final results - **Component management** - Retire old components and add replacements - **Historical record** - Create permanent record of service work performed - **Maintenance history** - Build comprehensive maintenance history for gear **Available Actions in Completed State** - **Component retirement** - Retire worn or replaced components - **Component addition** - Add new replacement components - **Service reports** - Generate final service documentation - **Historical documentation** - Complete service record for future reference **Component Management Features** Full component lifecycle management: - **Retirement workflow** - Guided process for retiring components - **Replacement linking** - Link new components to retired ones - **Installation dating** - Proper timestamps for all component changes - **Service attribution** - Track which service made each component change **Completion Documentation** Record final service details: - **Completion date and time** - Precise timing of service completion - **Final service notes** - Summary of work completed and findings - **Service provider confirmation** - Final confirmation of who completed the work - **Cost tracking** - Record service costs for budgeting and history *[Screenshot placeholder: Completed service log showing component management and completion documentation]* ## Service Log Management Interface ### Service Log List View Organized display of all service logs: **Chronological Organization** - **Monthly grouping** - Services grouped by month for easy navigation - **Date-based sorting** - New services by creation date, others by completion date - **Visual timeline** - Clear progression of service history over time - **Quick navigation** - Easy jumping between time periods **Service Log Cards** Each service displayed as informative cards: - **Service summary** - Key information at a glance - **State indicators** - Clear visual indication of service state - **Component counts** - Number of components retired during service - **Service provider** - Who performed the service - **Quick actions** - Direct access to common actions from the card **Filtering and Organization** - **Gear filtering** - View services for specific gear - **State filtering** - Filter by New, Booked, or Completed services - **Date range filtering** - Focus on specific time periods - **Search functionality** - Find specific services quickly *[Screenshot placeholder: Service log list view showing monthly grouping and card layout]* ### Service Log Detail View Comprehensive interface for managing individual services: **Service Information Section** - **Editable details** - Modify service information directly in the detail view - **State management** - Progress service through different states - **Service provider tracking** - Manage service provider information - **Notes management** - Add and edit comprehensive service notes **Component Management Section** - **Installed components list** - All components currently on the gear - **Component details** - Wear information, installation dates, and conditions - **Retirement actions** - Retire components as part of the service - **Replacement tracking** - Add new components to replace retired ones **Service Actions Section** - **State progression** - Buttons to move between service states - **Report generation** - Create and email service reports - **Delete service** - Remove service logs when necessary (with confirmation) - **Historical access** - Links to related service logs and component history *[Screenshot placeholder: Service log detail view showing all management sections and actions]* ## Best Practices for Service Log Creation ### Planning Effective Services **Service Timing** Plan services for optimal timing: - **Regular intervals** - Create service logs on consistent schedules - **Component-driven** - Time services based on component wear and replacement needs - **Seasonal considerations** - Plan major services during appropriate seasons - **Preventive approach** - Create service logs before problems become critical **Comprehensive Planning** Use New state effectively for planning: - **Component assessment** - Review all components before scheduling service - **Work scope definition** - Clearly define what work will be performed - **Parts preparation** - Identify and order necessary parts before service - **Service coordination** - Plan service timing with provider availability **Documentation Standards** Maintain consistent documentation: - **Detailed notes** - Record comprehensive information about planned and completed work - **Standard formats** - Use consistent formatting for similar types of services - **Reference information** - Include links to manuals, guides, and previous services - **Photo documentation** - Include photos when helpful (future feature) ### State Management Best Practices **Appropriate State Usage** Use each state for its intended purpose: - **New for planning** - Use New state only during active planning phase - **Booked for execution** - Move to Booked when service is ready to begin - **Completed for documentation** - Mark Completed only when all work is finished - **Timely progression** - Progress through states in reasonable timeframes **Service Coordination** Coordinate effectively with service providers: - **Clear communication** - Use service reports to communicate requirements clearly - **Professional documentation** - Provide comprehensive information to mechanics - **Progress tracking** - Keep service state updated as work progresses - **Completion verification** - Verify all work is completed before marking Completed ### Organization and Management **Service Log Organization** Keep service logs organized for easy access: - **Consistent naming** - Use clear, consistent naming conventions - **Regular updates** - Keep service information current and accurate - **Historical maintenance** - Preserve historical service logs for reference - **Cross-referencing** - Link related services and component changes **Integration with Other Features** Coordinate with other Componentry features: - **Reminder integration** - Create service logs from maintenance reminders - **Component tracking** - Use component wear information to plan services - **Gear management** - Coordinate with overall gear management activities - **Activity integration** - Consider activity patterns when planning services (future feature) Service Log creation is the first step in comprehensive maintenance tracking. Once created, service logs provide structure and documentation for all bike maintenance activities, ensuring nothing is forgotten and everything is properly recorded for future reference. *[Screenshot placeholder: Completed service log creation showing the final result and next steps]* - [Service Logs](https://www.componentry.app/docs/service-logs/service-logs): Learn how to use Service Logs to track bike maintenance, component replacements, and service history in Componentry. Service Logs are your comprehensive maintenance tracking system in Componentry. They provide a structured way to record bike services, track component replacements, and maintain a complete history of all work performed on your gear. Whether you're doing your own maintenance or working with a professional mechanic, Service Logs ensure nothing is forgotten and everything is documented. ## What are Service Logs? Service Logs in Componentry are detailed records of maintenance work performed on your bikes. Each Service Log is associated with a specific piece of gear and tracks the complete service lifecycle from initial planning through completion. They serve as both a planning tool for upcoming maintenance and a historical record of work completed. Service Logs eliminate the confusion around bike maintenance by providing a centralized place to track what needs to be done, who's doing it, and what components were replaced during the service. This creates a comprehensive maintenance history that's invaluable for warranty claims, resale documentation, and ongoing maintenance planning. *[Screenshot placeholder: Service Logs overview showing list of service logs with different statuses and gear associations]* ## Key Features of Service Logs ### Service Planning and Tracking Service Logs provide structured service management: - **Service states** - New, Booked, and Completed states track service progress - **Service scheduling** - Plan ahead for upcoming maintenance and book services - **Component tracking** - Monitor which components are being serviced or replaced - **Service notes** - Record detailed information about the work being performed ### Component Replacement Management Comprehensive component lifecycle tracking: - **Retirement tracking** - Record when components are removed from service - **Replacement linking** - Connect old components to their new replacements - **Installation dates** - Automatically track when new components are installed - **Service history** - Build complete component replacement history ### Service Documentation Professional documentation for all maintenance: - **Detailed records** - Complete information about work performed - **Service reports** - Generate professional reports for mechanics or personal records - **Email reports** - Share service information via email - **Historical tracking** - Maintain permanent records of all service work ### Reminder Completion Service logs work hand in hand with maintenance reminders: - **Reminder checklist** - Every check and log lists the bike's open reminders so you can tick off everything the service covered - **Automatic rescheduling** - Reminders completed through a log schedule their next due point as normal - **Service attribution** - The log keeps a permanent record of which reminders it completed and when - **Start from a reminder** - Completing a reminder anywhere in the app offers to create a maintenance check or service log with that reminder already ticked off See [Completing Reminders from Service Logs](/docs/service-logs/completing-reminders-from-service-logs) for the full flow. ### Availability on Mobile Full service logs are available in the mobile app, including the state workflow, crash flag, mechanic details, component notes, and the reminder checklist. Component replacement within a service and emailed service reports remain web-only. *[Screenshot placeholder: Service Log detail view showing all features and information tracking]* ## Service Log States and Workflow ### New Service Logs Newly created service logs are in planning mode: - **Initial planning** - Record basic service information and intentions - **Component identification** - Identify components that may need attention - **Service preparation** - Plan what work will be performed - **Limited actions** - Cannot retire components or generate reports while in New state ### Booked Service Logs Service logs ready for or scheduled with a mechanic: - **Service scheduled** - Work is planned and ready to begin - **Report generation** - Can generate and email service reports to mechanics - **Pre-service documentation** - Complete snapshot of component conditions - **Protected components** - Components cannot be retired while service is booked ### Completed Service Logs Service logs for finished maintenance work: - **Component retirement** - Can retire old components and add replacements - **Completion documentation** - Record completion date, time, and service provider - **Service reports** - Generate final reports documenting work completed - **Historical record** - Becomes part of permanent maintenance history *[Screenshot placeholder: Service Log state workflow showing progression from New → Booked → Completed]* ## Component Management in Service Logs ### Installed Components Tracking Monitor all components on your gear: - **Current inventory** - View all components currently installed on the bike - **Component details** - See installation dates, wear information, and condition - **Service planning** - Identify components that may need attention during service - **Component linking** - Associate service work with specific components ### Component Notes and Measurements Record detailed information about component condition: - **Service notes** - Add specific notes to any component within a service log - **Measurements** - Record specific measurements (e.g., brake pad thickness, chain stretch) - **Unit support** - Enter measurements in your preferred unit system (mm/inches) - **Condition tracking** - Document the exact state of components during service ### Component Retirement Process Structured approach to retiring worn components: - **Retirement workflow** - Guided process for removing components from service - **Replacement prompting** - Automatic prompts to add replacement components - **Service tracking** - Record which service log retired each component - **Completion timing** - Components retired during completed services get proper timestamps ### Replacement Component Addition Seamless process for adding new components: - **Guided creation** - Use existing component creation workflows from gear management - **Automatic linking** - New components are automatically linked to retired ones - **Service attribution** - Track which service log added each new component - **Installation tracking** - Properly record installation dates and service context *[Screenshot placeholder: Component retirement and replacement workflow showing the process steps]* ## Service Reports and Documentation ### Service Report Generation Create professional service documentation: - **Comprehensive reports** - Complete information about gear, components, and service work - **Professional formatting** - Clean, professional appearance suitable for mechanics - **Component details** - Detailed information about all installed components - **Service information** - Complete service log details and notes ### Email Integration Share service information easily: - **Email reports** - Send service reports directly via email - **Professional formatting** - HTML-formatted emails with proper branding - **Recipient flexibility** - Send to mechanics, insurance companies, or personal records - **Report archiving** - Maintain copies of all reports sent ### Report Contents Service reports include comprehensive information: - **Gear details** - Complete bike information including model, year, and manufacturer - **Installed components** - All currently installed components with details and wear information - **Serviced components** - Components that were retired during the service - **Service notes** - Any notes or special instructions recorded in the service log - **Service provider** - Information about who performed the service *[Screenshot placeholder: Service Report email showing professional formatting and comprehensive information]* ## Benefits of Using Service Logs ### Comprehensive Maintenance History Build complete records of all work performed: - **Complete documentation** - Never lose track of what work was done when - **Component lifecycles** - Track the complete lifespan of every component - **Service patterns** - Identify maintenance patterns and optimize service intervals - **Warranty documentation** - Maintain records required for warranty claims ### Professional Service Coordination Work effectively with mechanics and service providers: - **Clear communication** - Provide mechanics with complete, professional documentation - **Service planning** - Plan service work in advance and communicate requirements clearly - **Progress tracking** - Track service progress through different states - **Documentation sharing** - Easily share service information via email ### Organized Maintenance Management Keep all maintenance information organized and accessible: - **Centralized tracking** - All service information in one place - **Historical access** - Easy access to historical service records - **Component tracking** - Track component replacements across multiple services - **Search and filtering** - Find specific service records quickly and easily ### Cost and Planning Benefits Make informed decisions about maintenance and components: - **Service planning** - Plan service work in advance to optimize costs and timing - **Component lifecycle tracking** - Make informed decisions about component replacement timing - **Service coordination** - Coordinate multiple services efficiently - **Budget planning** - Track service costs and plan future maintenance budgets *[Screenshot placeholder: Service Log benefits illustrated through dashboard views and historical tracking]* ## Getting Started with Service Logs ### Creating Your First Service Log Begin tracking your bike maintenance: **1. Select Your Gear** - Choose the bike that needs service from your gear inventory - Service Logs are always associated with a specific piece of gear - Cannot change gear association after creation **2. Basic Service Information** - Add service notes describing planned or completed work - Mark if the service is crash-related - Identify who will perform or performed the service - Set the appropriate service state **3. Component Planning** - Review all installed components on the selected gear - Identify components that may need attention during service - Plan for potential component replacements **4. Service Execution** - Progress through service states as work is planned and completed - Use service reports to communicate with mechanics - Document component replacements as they occur *[Screenshot placeholder: Service Log creation workflow showing the initial setup process]* ### Organizing Service Logs **Chronological Organization** Service Logs are organized by time periods: - **Monthly grouping** - Services grouped by month for easy browsing - **Date sorting** - Services sorted by creation date (New) or completion date (Booked/Completed) - **Historical access** - Easy access to historical service records - **Progress tracking** - Clear view of service progress and timing **Gear-Based Filtering** Filter service logs by specific gear: - **Active gear focus** - Default view shows services for active gear - **Retired gear access** - Access historical services for retired gear - **Multi-bike management** - Easy switching between different bikes - **Gear-specific history** - Complete service history for each piece of gear ## Best Practices for Service Log Management ### Effective Service Planning Plan your services for maximum effectiveness: - **Regular intervals** - Create service logs on a regular maintenance schedule - **Seasonal planning** - Plan major services at appropriate seasonal intervals - **Component monitoring** - Use component wear tracking to time service needs - **Preventive approach** - Plan services before problems occur ### Complete Documentation Document services thoroughly for best results: - **Detailed notes** - Record comprehensive information about work planned or completed - **Component documentation** - Track all component changes during services - **Service provider information** - Record who performed the work and when - **Cost tracking** - Maintain records of service costs for budgeting ### State Management Use service states effectively: - **New for planning** - Use New state for service planning and preparation - **Booked for scheduling** - Move to Booked when service is scheduled or ready - **Completed for documentation** - Mark Completed only when all work is finished - **Timely progression** - Progress through states in a timely manner ### Component Replacement Workflow Handle component replacements systematically: - **Complete retirement** - Properly retire components before adding replacements - **Detailed replacement** - Add complete information for new components - **Service linking** - Ensure all component changes are linked to the service log - **Documentation verification** - Verify all changes are properly documented The following sections will guide you through creating service logs for your gear, managing component replacements and linking, and creating and sharing professional service reports. - [Creating and Emailing Service Reports](https://www.componentry.app/docs/service-logs/service-reports): Learn how to generate professional service reports and email them to mechanics, service providers, or for personal documentation. Service Reports are professional, comprehensive documents that summarize all relevant information about your bike and its service requirements. These reports bridge the communication gap between bike owners and service providers, ensuring that mechanics have complete, accurate information about your gear and the work that needs to be performed. Service Reports can be generated and emailed directly from Componentry, providing a seamless way to coordinate professional bike maintenance. ## Understanding Service Reports ### Purpose of Service Reports Service Reports serve multiple important functions: **Professional Communication** - **Mechanic coordination** - Provide complete information to service providers - **Clear documentation** - Professional presentation of service requirements - **Comprehensive overview** - All relevant bike and component information in one document - **Service history** - Context about previous maintenance and component changes **Documentation and Records** - **Service documentation** - Professional record of service requirements - **Insurance documentation** - Complete bike information for insurance purposes - **Warranty records** - Documentation supporting warranty claims - **Personal archives** - Professional records for personal maintenance history **Planning and Coordination** - **Service preparation** - Complete information for service planning - **Parts identification** - Component details for parts ordering - **Work scope definition** - Clear definition of work to be performed - **Cost estimation** - Information to support accurate service cost estimates *[Screenshot placeholder: Sample service report showing professional formatting and comprehensive information]* ## Service Report Contents ### Gear Information Section Complete details about the bike being serviced: **Basic Gear Details** - **Bike identification** - Model, year, manufacturer, and serial number if available - **Gear type** - Road bike, mountain bike, gravel bike, etc. - **Discipline information** - Specific riding discipline and bike configuration - **Owner information** - Bike owner name and contact information **Service Context** - **Service log information** - Service name, state, and planned work - **Service provider** - Who is performing or will perform the service - **Service notes** - Detailed notes about planned or completed work - **Crash indication** - Whether service is related to a crash or accident **Service History Context** - **Previous services** - Recent service history for context - **Maintenance patterns** - Regular maintenance schedule and timing - **Component replacement history** - Recent component changes and replacements - **Performance notes** - Any performance issues or observations *[Screenshot placeholder: Gear information section of service report showing detailed bike information]* ### Installed Components Section Comprehensive inventory of all components currently on the bike: **Component Listing** - **Complete inventory** - All components currently installed on the gear - **Component details** - Name, type, manufacturer, and model for each component - **Installation information** - When each component was installed - **Component organization** - Logical grouping by system (drivetrain, brakes, etc.) **Wear and Condition Information** - **Wear statistics** - Current wear information for each component - **Usage tracking** - Distance, time, and duration statistics where available - **Condition assessment** - Current condition and performance status - **Replacement timing** - How long components have been in service **Component Performance Data** - **Distance tracking** - Total distance accumulated on each component - **Time in service** - How long each component has been installed - **Usage intensity** - Average usage patterns and intensity - **Wear patterns** - How components are wearing relative to expectations *[Screenshot placeholder: Installed components section showing detailed component information and wear statistics]* ### Serviced Components Section Information about components that were retired or replaced during the service: **Retired Components** - **Components removed** - All components retired during the service - **Retirement reasons** - Why each component was retired (wear, damage, upgrade) - **Final condition** - Condition of components at time of retirement - **Service attribution** - Clear indication that retirement occurred during this service **Replacement Components** - **New installations** - Components that were installed during the service - **Replacement relationships** - Links between retired components and their replacements - **Installation details** - When and how new components were installed - **Break-in information** - Any break-in requirements for new components **Service Impact Summary** - **Before and after** - Component configuration before and after service - **Net changes** - Summary of all component changes made during service - **Performance impact** - How component changes affect bike performance - **Maintenance implications** - How changes affect future maintenance requirements *[Screenshot placeholder: Serviced components section showing retired and replacement components with linking information]* ## Service Report Generation ### When Reports Can Be Generated Service reports are available based on service log state: **Booked Service Logs** - **Pre-service reports** - Generate reports before service begins - **Mechanic communication** - Send reports to service providers with complete bike information - **Current state documentation** - Document bike condition before service work begins - **Service planning** - Provide information for service planning and parts ordering **Completed Service Logs** - **Post-service reports** - Generate reports after service completion - **Final documentation** - Complete record of all work performed - **Service verification** - Document what was actually completed during service - **Historical records** - Create permanent record of service work **Report Timing Considerations** - **Booked reports** - Focus on current components and planned work - **Completed reports** - Include all component changes and work completed - **State accuracy** - Report content reflects service state at time of generation - **Information completeness** - More complete information available for completed services *[Screenshot placeholder: Service report generation options showing different reports available based on service state]* ### Report Generation Process Creating service reports from service logs: **Accessing Report Generation** - **Service log detail view** - Generate reports from individual service log pages - **Service report button** - Dedicated button for report generation - **State requirements** - Button enabled only for Booked and Completed services - **Quick access** - Single click to initiate report generation **Report Creation Steps** - **Data compilation** - System gathers all relevant information - **Report formatting** - Information formatted into professional document - **Content verification** - System verifies all information is current and accurate - **Final preparation** - Report prepared for viewing or emailing **Report Preview** - **Content review** - Preview report content before sending - **Format verification** - Ensure professional formatting and appearance - **Information accuracy** - Verify all information is correct and current - **Customization options** - Limited customization options for specific needs *[Screenshot placeholder: Report generation process showing steps from initiation to final preview]* ## Email Integration and Delivery ### Email Report Modal Professional email interface for sending service reports: **Email Address Input** - **Recipient specification** - Enter email address for service report delivery - **Address validation** - System validates email address format and deliverability - **Multiple recipients** - Future capability for multiple email addresses - **Contact management** - Store frequently used service provider email addresses **Email Customization** - **Professional subject lines** - Automatically generated professional subject lines - **Subject format** - "Service Log - [Owner Name] - [Gear Model]" - **Custom messages** - Option to add personal messages to email - **Professional formatting** - Professional email formatting with Componentry branding **Send Confirmation** - **Final verification** - Confirm email address and content before sending - **Send progress** - Visual indication of email sending progress - **Delivery confirmation** - Confirmation when email is successfully sent - **Error handling** - Clear error messages if email delivery fails *[Screenshot placeholder: Email report modal showing email address input and customization options]* ### Email Formatting and Branding Professional email presentation: **Email Structure** - **Professional header** - Componentry logo and branding at top of email - **Clear organization** - Well-organized sections with proper headings - **Readable formatting** - Clean, easy-to-read formatting throughout - **Professional footer** - Branded footer with generation information **Content Formatting** - **HTML email format** - Rich HTML formatting for professional appearance - **Consistent styling** - Consistent fonts, colors, and spacing throughout - **Table formatting** - Well-formatted tables for component information - **Visual hierarchy** - Clear visual hierarchy with proper headings and sections **Brand Integration** - **Componentry branding** - Professional Componentry logo and branding - **Brand colors** - Consistent use of Componentry brand colors - **Professional appearance** - High-quality appearance suitable for business communication - **Trust building** - Professional presentation builds trust with service providers *[Screenshot placeholder: Sample email showing professional formatting, branding, and complete service report content]* ### Email Delivery and Tracking **Reliable Delivery** - **Professional email service** - Uses Resend email service for reliable delivery - **Delivery optimization** - Optimized for high deliverability rates - **Spam prevention** - Proper email formatting and authentication to avoid spam filters - **Professional sender** - Emails sent from professional Componentry domain **Delivery Confirmation** - **Send status** - Immediate confirmation of send status - **Error handling** - Clear error messages if delivery fails - **Retry capability** - Option to retry failed email deliveries - **Support access** - Support contact information if delivery issues persist **Email Archiving** - **Send history** - Track which service reports have been emailed and when - **Recipient records** - Maintain records of who received each report - **Resend capability** - Easy resending of previously generated reports - **Communication history** - Complete history of service report communications *[Screenshot placeholder: Email delivery confirmation and tracking interface]* ## Service Report Use Cases ### Professional Service Coordination Working with bike shops and mechanics: **Pre-Service Communication** - **Complete bike information** - Provide mechanics with comprehensive bike details - **Service requirements** - Clear communication of work that needs to be performed - **Component specifications** - Detailed component information for parts ordering - **Service history** - Context about previous maintenance and component changes **Service Planning Support** - **Work scope definition** - Clear definition of work to be performed - **Parts identification** - Component details to support parts ordering and preparation - **Time estimation** - Information to support accurate service time estimates - **Cost estimation** - Component and service information for cost estimation **Professional Presentation** - **Credibility building** - Professional documentation builds credibility with service providers - **Clear communication** - Eliminates confusion about bike specifications and service needs - **Efficiency improvement** - Reduces back-and-forth communication about bike details - **Service quality** - Better information leads to better service outcomes *[Screenshot placeholder: Service report being used in professional bike shop setting]* ### Insurance and Warranty Documentation **Insurance Claims** - **Complete documentation** - Comprehensive bike and component documentation for claims - **Service history** - Professional service records support claim validity - **Component valuation** - Detailed component information supports valuation - **Damage documentation** - Clear documentation of crash-related services **Warranty Support** - **Service records** - Professional service records support warranty claims - **Component tracking** - Complete component history supports warranty verification - **Maintenance documentation** - Proper maintenance records maintain warranty validity - **Professional presentation** - Professional documentation improves warranty claim success **Resale Documentation** - **Maintenance history** - Complete maintenance history increases resale value - **Professional presentation** - Professional documentation builds buyer confidence - **Component verification** - Detailed component information supports asking price - **Service quality proof** - Professional service records demonstrate bike care ### Personal Record Keeping **Maintenance Archives** - **Complete records** - Comprehensive maintenance history for personal archives - **Service documentation** - Professional documentation of all service work - **Component tracking** - Complete component lifecycle documentation - **Historical reference** - Easy reference for future maintenance planning **Performance Tracking** - **Service correlation** - Correlate service work with bike performance changes - **Component performance** - Track component performance over time - **Maintenance effectiveness** - Evaluate effectiveness of different maintenance approaches - **Optimization insights** - Insights for optimizing future maintenance timing and approach *[Screenshot placeholder: Personal maintenance archive showing organized service reports over time]* ## Best Practices for Service Reports ### Timing Report Generation **Optimal Timing** - **Booked state reports** - Generate reports when service is ready to begin - **Pre-service communication** - Send reports to mechanics before service appointments - **Completed state reports** - Generate final reports after service completion - **Documentation timing** - Create permanent documentation promptly after service **Report Scheduling** - **Advance preparation** - Generate and send reports in advance of service appointments - **Follow-up documentation** - Generate completion reports promptly after service - **Archive creation** - Create archived copies of reports for permanent records - **Regular intervals** - Use reports as part of regular service communication routine ### Effective Communication **Clear Information** - **Complete details** - Ensure all relevant information is included in reports - **Accurate data** - Verify all information is current and accurate before sending - **Clear presentation** - Use clear, professional language throughout reports - **Context provision** - Provide sufficient context for service providers to understand requirements **Professional Coordination** - **Advance communication** - Send reports in advance of service appointments - **Follow-up communication** - Use reports as basis for follow-up communication - **Relationship building** - Use professional reports to build relationships with service providers - **Service improvement** - Use report feedback to improve future service coordination ### Report Management **Organization Systems** - **Report archiving** - Maintain organized archives of all service reports - **Version control** - Keep track of different report versions for the same service - **Access management** - Ensure reports are easily accessible when needed - **Backup systems** - Maintain backup copies of important service reports **Quality Assurance** - **Content verification** - Always verify report content before sending - **Recipient verification** - Confirm correct recipient email addresses - **Format checking** - Ensure professional formatting and appearance - **Follow-up verification** - Confirm successful receipt of important reports Service Reports provide a professional, comprehensive way to communicate bike service information. By generating and emailing these reports, you ensure that service providers have all the information they need to provide excellent service while maintaining professional documentation of all maintenance work performed on your bikes. *[Screenshot placeholder: Complete service report workflow showing generation, email, and archiving process]* ## Blog - [Aero Efficiency: Why Clean Components Are Faster Than Dirty Ones in the Wind Tunnel](https://www.componentry.app/blog/aero-efficiency-clean-components): Dirty drivetrains cost more watts than most upgrades save. Wind tunnel and lab data reveal how clean components make you measurably faster. Published: 2026-02-25 | Categories: performance, maintenance | Tags: aerodynamics, drivetrain-efficiency, marginal-gains, chain-maintenance, wind-tunnel, clean-drivetrain You spent $5,000 on an aero frame. Another $2,500 on deep-section carbon wheels. Maybe $200 on a skin suit and $40 on aero socks. All in pursuit of marginal gains measured in single-digit watts. Then you rolled out on race morning with a grimy chain, dusty cables, and mud still caked in the cassette from last Tuesday's group ride. Here is the uncomfortable truth about aerodynamic efficiency cycling enthusiasts rarely discuss: a dirty bike erases a significant portion of the speed you paid thousands to gain. Not through some vague "it just feels slower" sensation, but through measurable, lab-tested, wind-tunnel-verified watt losses that add up fast. The data shows that dirt costs you speed in two distinct ways: mechanical friction in your drivetrain, and aerodynamic drag across every surface the wind touches. Together, these losses can exceed 10 watts in normal conditions and climb past 30 in extreme cases. This is the cheapest speed available to any cyclist. And most riders leave it sitting in their garage. ## Drivetrain Friction: The Numbers The most thoroughly studied source of contamination-related watt loss is the drivetrain. Independent lab testing has quantified the penalty across a range of real-world conditions. [CyclingAbout](https://www.cyclingabout.com/how-much-does-a-dirty-bicycle-chain-slow-you-down/) compiled efficiency data from multiple testing sources and found that a clean, properly lubricated chain operates at approximately 97.6% efficiency. A chain contaminated with dried mud drops to 92.8%. At 250 watts of rider output, that 4.8% difference translates to roughly 12 additional watts lost to friction and a speed reduction of about 2.1%. The testing from [Friction Facts](https://velo.outsideonline.com/road/road-racing/how-many-watts-does-a-dirty-chain-steal) (now part of CeramicSpeed) found that a typically dirty road chain adds 3 to 5 watts of friction loss at 250 watts compared to a clean baseline. In truly muddy conditions, the penalty reaches 20 to 30 watts. That is more friction loss than most wheelset upgrades save in aerodynamic drag. > "Dirt and sand in the chain can cost up to 6W after a single wet ride." [SILCA](https://silca.cc/blogs/silca/top-10-marginal-gains-to-save-watts-on-the-bike) Chain wear compounds the contamination problem. [CeramicSpeed's drivetrain efficiency testing](https://ceramicspeed.com/pages/drivetrain-efficiency-test-old-vs-new) measured frictional losses of 6.26 watts for a new chain on new cogs, rising to 10.27 watts for a worn chain on worn cogs. Each 1% of chain elongation added 2.02 watts of friction. Notably, replacing chainrings and cogs alone only recovered 0.10 to 0.33 watts. The chain itself is the dominant variable. This means that a dirty, worn chain on your $12,000 race bike creates more friction than a clean chain on a bike costing a fraction of the price. Equipment cost does not override maintenance. For anyone serious about aerodynamic efficiency cycling performance, the drivetrain is where the largest and most overlooked losses hide. ## Dirty Surfaces in the Wind Tunnel Drivetrain friction is only half the story. The other half involves what happens when contaminated surfaces meet moving air. In aerospace engineering, surface roughness is a well-understood factor in drag generation. Smooth surfaces promote laminar airflow that passes with minimal resistance. Rough or irregular surfaces trip the boundary layer into turbulence earlier, increasing pressure drag. This principle applies equally to bicycle frames, wheels, cables, and components. [Hambini](https://www.hambini.com/modern-real-world-cycling-aerodynamics/), an aeronautical engineer whose career includes work on the Eurofighter Typhoon and F-35 programs, has applied this aerospace perspective to cycling aerodynamics extensively. His analysis demonstrates that seemingly minor surface disruptions create measurable drag penalties, particularly as speed increases. Aerodynamic drag scales with the cube of velocity. A surface irregularity that costs 0.2 watts at 30 km/h costs significantly more at 40 or 45 km/h. [Swiss Side](https://www.swissside.com/en-us/blogs/aero-tech-tips/aero-tip-quick-and-dirty) conducted wind tunnel testing comparing a clean gravel bike against the same bike covered in light mud. At 30 km/h, the dirty bike measured 0.2 watts slower. This was on a non-aero frame with relatively unstressed aerodynamic profiles. Swiss Side noted that aero-optimized frames, where airflow management around tube shapes is critical, would show greater sensitivity to surface contamination. Mud or grime on deep-section wheel rims disrupts airflow management even further. Then there are cables. [Road.cc's analysis](https://road.cc/content/feature/full-internal-cable-routing-bikes-worth-it-306249) of wind tunnel data found that exposed cable housing generates approximately 1 watt of drag per 10 centimeters at race speeds. A single 130mm brake cable adds 0.4 watts at 45 km/h. A bike with four externally routed cable sets accumulates roughly 1.6 watts of cable drag. Internal routing recovers about 2 watts. But this benefit degrades when cable entry and exit points accumulate grime, when housing frays, or when deteriorated bar tape disrupts the smooth surface of the cockpit. None of these individual numbers seem dramatic in isolation. That is the trap. One watt from cables. Two watts from surface contamination. Five watts from a dirty chain. They compound into a penalty that rivals or exceeds the savings from most equipment upgrades. True aerodynamic efficiency cycling gains come not just from the shape of your frame — but from the condition of every surface the wind touches. ## Maintenance vs. Upgrades: The Cost-Per-Watt Reality When performance cyclists evaluate equipment purchases, the implicit calculation is cost per watt saved. By this metric, maintenance is not just competitive with equipment upgrades. It dominates. Cleaning and lubricating a chain costs approximately $15 in supplies and recovers 3 to 6 watts. That works out to $2.50 to $5.00 per watt. A waxed chain treatment costs about $30 for supplies and can save 6 to 8 watts over a basic wet lube, or roughly $3.75 to $5.00 per watt. Compare this to equipment: - Aero socks: 4 to 8 watts saved, $20 to $40 invested, approximately $5 per watt - Race tires over training tires: 20 to 30 watts saved, $100 to $200, roughly $5 to $10 per watt - Deep-section carbon wheels: 5 to 10 watts saved, $1,500 to $3,000, roughly $150 to $600 per watt - Aero frame upgrade: approximately 20 watts saved, $5,000 to $7,000, roughly $250 to $355 per watt [SILCA's marginal gains analysis](https://silca.cc/blogs/silca/top-10-marginal-gains-to-save-watts-on-the-bike) identified over 100 watts of total potential savings across their top 10 interventions. Many of the most cost-effective items on that list are maintenance-related: chain lubrication, tire pressure optimization, and drivetrain cleanliness. The pattern is clear. The cheapest watts available to any cyclist are the ones recovered through regular cleaning and timely component replacement. A $15 chain cleaning session delivers better cost-per-watt returns than a $3,000 wheelset. ## A Maintenance Protocol for Aerodynamic Speed Converting this data into practice requires a structured approach rather than sporadic effort. **After every ride:** Wipe the chain with a dry cloth to remove surface contamination before it bonds to the lubricant. This single habit prevents the majority of contamination buildup that causes friction losses. **Weekly:** Perform a full drivetrain clean, including the cassette, chainrings, and derailleur pulleys. Wipe down frame surfaces in aerodynamically sensitive areas: the down tube, fork legs, seat tube, and wheel rims where dirt disrupts airflow. **Monthly:** Inspect cables and housing for fraying or contamination at entry and exit points. Check bar tape condition. Service bearings if your riding conditions warrant it. **By mileage:** Replace chains at 0.5% elongation for 11 and 12-speed systems. Replace cables annually or by mileage if you ride in wet conditions. Track brake pad wear, particularly if you ride descent-heavy routes. The challenge with any maintenance protocol is adherence. Calendar-based reminders disconnect from actual usage. Memory is unreliable. Spreadsheets require discipline. The riders who benefit most from maintenance-driven performance gains are the ones who track drivetrain wear and component service intervals systematically — ideally with a cycling maintenance app that does the counting for them. ## How Componentry Fits Into Your Care Routine Keeping your bike aerodynamically efficient requires consistent maintenance — and that starts with knowing when each part needs attention. [Componentry](/) is a bike maintenance app that automates the tracking, so proactive care becomes practical instead of aspirational. Connect your Strava, Garmin, or Wahoo account once, and every ride automatically updates the mileage on each component. No manual entry. No spreadsheets. No trying to remember when you last cleaned the drivetrain or replaced the chain. Componentry tracks bike component wear in the background while you ride. Set custom cycling maintenance reminders for each part based on your conditions. Your chain gets a cleaning alert every 300 kilometers. Your cables get a replacement alert at 5,000 kilometers. Your brake pads get attention when your accumulated elevation loss crosses your configured threshold. Every service interval is tailored to how you actually ride — not a generic schedule. The platform lets you track multiple bikes and their components independently. Your race bike chain has its own counter. Your training bike cassette has its own. When any component approaches your configured maintenance threshold, you receive an alert before the performance window closes. For cyclists who already track every watt on the bike, Componentry adds the maintenance dimension that protects those gains. You measure your power. You optimize your position. This bicycle maintenance tracker ensures your equipment is not quietly erasing the performance you have earned. ## Recommended Videos & Further Reading **Research and Data:** - [CyclingAbout: How Much Does a Dirty Chain Slow You Down?](https://www.cyclingabout.com/how-much-does-a-dirty-bicycle-chain-slow-you-down/) - Comprehensive efficiency data across contamination levels - [SILCA: Top 10 Marginal Gains to Save Watts](https://silca.cc/blogs/silca/top-10-marginal-gains-to-save-watts-on-the-bike) - Cost-per-watt analysis of cycling performance interventions - [CeramicSpeed: Drivetrain Efficiency Test: Old vs. New](https://ceramicspeed.com/pages/drivetrain-efficiency-test-old-vs-new) - Lab data on friction losses from chain and cog wear **Aerodynamic Analysis:** - [Swiss Side: Aero Tip: Quick and Dirty](https://www.swissside.com/en-us/blogs/aero-tech-tips/aero-tip-quick-and-dirty) - Wind tunnel comparison of clean vs. dirty bikes - [Hambini: Modern Real World Cycling Aerodynamics](https://www.hambini.com/modern-real-world-cycling-aerodynamics/) - Aerospace engineering perspective on cycling drag - [Road.cc: Has Full Internal Cable Routing Been Worth It?](https://road.cc/content/feature/full-internal-cable-routing-bikes-worth-it-306249) - Wind tunnel data on cable routing and aerodynamic drag **Componentry Resources:** - [The Friction Tax: How Drivetrain Efficiency Costs You Watts](/blog/friction-tax-chain-wear) - The performance cost of worn components - [Drivetrain Efficiency: Why Your $1,000 Cassette Requires 0.5% Precision](/blog/drivetrain-efficiency-cassette-precision) - Chain wear thresholds that protect premium components - [The Lifecycle of a Watt: Where Your Energy Goes](/blog/lifecycle-of-a-watt) - Complete energy loss breakdown in a poorly maintained system - [Automatic Indoor and Outdoor Profile Matching](https://www.componentry.app/blog/bike-profile-activity-type-matching): Profiles can now auto-match to indoor or outdoor activities. Set it once and the right profile activates based on your ride type. Published: 2026-04-14 | Categories: feature | Tags: profiles, indoor, outdoor, activity-matching If you ride both indoors and outdoors on the same bike, keeping profiles accurate just got a lot easier. Profiles can now be tagged as Indoor or Outdoor, and Componentry will automatically assign the right one based on the type of activity that comes in. ## The Problem Bike profiles solve the interchangeable-setup problem — rotating chains, swapping wheelsets, switching between a turbo trainer and outdoor riding. But until now, the only automatic assignment option was a single default profile. If you trained indoors on Monday and rode outside on Wednesday, you had to remember to switch the default each time. Forget once and wear accumulates against the wrong setup. For riders who split time between the trainer and the road, that manual switching added friction to a feature designed to remove it. ## How Activity Type Matching Works Each profile can now have an **activity type**: Indoor, Outdoor, or None. When a new activity arrives — from Strava, Wahoo, Garmin, or Hammerhead — Componentry reads the activity type from the provider data. Every provider classifies rides differently (Strava uses "Ride" and "VirtualRide", Wahoo uses numeric type codes, Garmin uses activity type strings), but Componentry maps all of them to a simple indoor or outdoor classification. If the bike has a profile matching that classification, it gets assigned automatically. No manual intervention needed. ## The Priority Chain Profile assignment now follows this order: - **Activity type match** — if the bike has a profile tagged Indoor or Outdoor that matches the incoming activity, use it. - **Default profile** — if no activity type match exists, fall back to the bike's default profile. - **No profile** — if neither is set, no profile is assigned. Only default (non-profiled) components accumulate wear. This means you can have an Indoor profile for your turbo trainer setup, an Outdoor profile for your road components, and a default profile as a catch-all — and the right one activates every time. ## Setting It Up - Go to your bike's detail screen and find the **Profiles** section. - Create a profile or click the settings icon to edit an existing one. - Select **Indoor** or **Outdoor** from the **Default activity** dropdown next to the profile name. - Save. That's it. Each bike can have one Indoor profile and one Outdoor profile. The dropdown disables types that are already assigned to another profile on the same bike. Once set, the activity type badge appears next to the profile name in the list so you can see your configuration at a glance. ## Example: Road Bike with a Turbo Trainer Say you have a road bike that lives on a direct-drive trainer during the week and goes outside on weekends. You have two setups: - **Turbo Setup** (Indoor) — trainer-specific tyre, dedicated chain - **Road Setup** (Outdoor) — road tyres, waxed chain, race cassette Tag the Turbo Setup profile as Indoor and the Road Setup as Outdoor. Now when a Zwift ride syncs from Wahoo, the Turbo Setup profile activates and only the trainer tyre and dedicated chain accumulate wear. When a Saturday ride syncs from Strava, the Road Setup profile activates and your road components get the wear credit. No switching. No forgetting. The right components track the right rides. ## Works Across All Providers Activity type classification is built into every sync path: - **Strava** — Ride, GravelRide, MountainBikeRide map to Outdoor. VirtualRide maps to Indoor. - **Wahoo** — Road, mountain, cyclocross, e-bike types map to Outdoor. Indoor cycling, indoor trainer, virtual cycling map to Indoor. - **Garmin** — CYCLING, ROAD_BIKING map to Outdoor. INDOOR_CYCLING maps to Indoor. - **Hammerhead** — RIDE, GRAVEL, MOUNTAIN_BIKE map to Outdoor. Manual uploads and default bike fallback assignments also resolve the activity type from the stored activity data, so the matching is consistent regardless of how the activity enters the system. ## Get Started Head to your bike's detail screen and set an activity type on your profiles. If you don't set one, everything works exactly as before — this is a purely additive feature with no changes to existing behavior. For the full details on how profiles work, check out the [Profiles documentation](/docs/profiles/profiles). - [Your Service History Is Your Resale Value: The Case for a Digital Bike Log](https://www.componentry.app/blog/bike-service-history-resale-value): Documented maintenance records command measurable price premiums on used bike marketplaces. Here's what buyers pay for, what sellers leave on the table, and how to build a service history that pays dividends. Published: 2026-06-24 | Categories: maintenance, guide, resale | Tags: bike service history, bike resale value, bicycle maintenance log, second-hand bike value, how to track bike maintenance for resale, used bike market, digital bike log When a buyer on Pinkbike or BikeExchange messages you about your listed bike, they're running a mental calculation you never see. They're trying to estimate how much hidden damage they're buying. The frame you crashed once and repaired — did you ever get it checked? The drivetrain that "feels fine" — when did you last replace the chain? The carbon fork under a scratched stem — has it ever been in a serious impact? No service history means every one of those questions gets answered with doubt. And doubt costs money. Sellers without documentation regularly price bikes 15–25% below market comparables just to move them. That's hundreds of pounds on a mid-range bike. Thousands on anything premium. The cyclists who command full asking price aren't necessarily selling better bikes. They're selling certainty — and certainty comes from documentation. ## The Mystery Bike Problem The used bike market has a fundamental trust problem. Unlike a used car, a bicycle has no chassis number tied to an official service database. There's no equivalent of an MOT history or vehicle report. When a bike changes hands, everything the previous owner knew about its condition — every chain swap, every cable bed-in, every service interval met or missed — stays with that owner. The buyer gets a bike that might be perfect. Or might not. This uncertainty is structural, not personal. Sellers aren't hiding things; most genuinely don't know what their own service history looks like. They remember roughly when they bought the bike, maybe when they last had it in a shop, and not much else. Chain wear measurements from 18 months ago? Component replacement mileages? Torque values applied to the seatpost clamp after a crash? Not recorded. The market prices this uncertainty in. Buyers on Pinkbike and BikeExchange have learned that bikes with vague history require a maintenance budget. They price that budget into their offer, which means sellers with no documentation absorb the cost of every potential problem, whether those problems exist or not. ## What Carbon Frame Uncertainty Actually Costs You Carbon frames crystallise this problem. An aluminium frame takes a knock and dents visibly. Carbon takes the same hit and looks fine. What's happening beneath the paint is invisible to any buyer who isn't sending the frame for a professional ultrasonic inspection — which almost no one does. A carbon road bike with a plausible crash history (a previous eBay listing, a scratched brake lever, anything suggestive) typically sells at a 20–30% discount to a structurally identical frame with clean provenance. Buyers are not irrational: carbon fatigue failure is real, rare, and catastrophic. The discount is rational compensation for uncertainty. The seller who can document their ownership — photos from new, no incident reports, regular torque checks, a log showing the frame has never been worked on beyond standard maintenance — removes that uncertainty. The frame is now worth what its components and condition suggest, not what a risk-adjusted buyer is willing to pay. ## What Buyers Actually Pay a Premium For Not all documentation is equal. Generic claims ("always serviced," "well maintained") have no market value — every seller says them. What buyers pay a premium for is specificity. **Chain wear records.** A bike listed with dated chain replacement records — "chain replaced at 3,800 km, 7,200 km, and 11,600 km" — tells a buyer two things: the drivetrain has been maintained proactively, and the cassette is unlikely to be worn past its serviceable life. A cassette that's been running on correctly-replaced chains can genuinely have thousands of kilometres of life left. One that's run on an over-worn chain almost certainly doesn't. Buyers know this. They value the evidence. **Component replacement dates and mileages.** Brake pads replaced last month. Cables and housing refreshed in December. Tyres at 2,400 km. These entries don't just show maintenance — they show organised ownership, which is a strong proxy for mechanical condition overall. The seller who knows their tyre mileage is the seller who also notices when a headset bearing starts to feel rough. **Service receipts from LBS visits.** A dated receipt from a reputable workshop is the closest thing the bicycle market has to a verified service stamp. It establishes third-party verification of condition at a point in time. For warranty-relevant work (frame, fork, suspension), a receipt may be the only documentation that can support a manufacturer claim. **Photos documenting pre-crash and post-crash condition.** If a bike has been in an incident — even a minor one — the seller who can show before-and-after photos, describe what happened, and confirm the outcome (professional inspection, nothing found, ridden 2,000 km since with no anomaly) is in a fundamentally different position from the seller who says "had a small get-off once, bike is fine." ## The Warranty Angle Sellers Miss Trek, Specialized, and most major manufacturers offer lifetime or long-term structural warranties on carbon frames — conditional on the bike being maintained according to service guidelines. Minimum torque specifications, cable service intervals, suspension service intervals. The warranty documentation specifies them. The rider is expected to follow them. Few riders do, and fewer still can prove they did. If a frame develops a structural issue within the warranty period, a rider who cannot demonstrate service compliance may find their claim rejected. This is not a hypothetical: it appears in warranty terms across major brands. "Evidence of proper maintenance" is frequently a condition, not a suggestion. For a buyer considering a premium carbon bike still within its warranty period, the seller's ability to demonstrate maintenance compliance can be the difference between buying a bike with a live warranty and buying one without. That difference has real monetary value — warranty coverage on a high-end frame is worth exactly what a replacement frame would cost. ## How to Build a Service History That Pays Dividends The barrier to documentation isn't effort. It's system. Cyclists who maintain detailed records don't spend more time on maintenance; they have a place where maintenance records accumulate automatically rather than evaporating. **Start at the component level.** Record when each component was installed and what mileage it started at. Every time you replace a chain, note the odometer. Every brake pad swap, every cable replacement, every tyre. Over a year of regular riding, this builds into a complete drivetrain and consumables record — exactly what a sophisticated buyer wants to see. **Log incidents immediately.** Anything that subjects the frame or fork to impact beyond normal riding deserves an entry: what happened, what you checked, what you found. A log entry that says "dropped bike in car park, 20 km/h, checked frame and carbon fork, no visible damage, 3,200 km ridden since" is worth more than a blank record, because it shows the incident was acknowledged and assessed rather than ignored. **Keep receipts.** LBS invoices, online parts orders, workshop bookings — any time money changes hands in connection with the bike, archive the receipt. A folder in email, a photo in a dedicated album, anything that creates a timestamped record of the transaction. **Connect your rides automatically.** Manual mileage logging fails because it requires action after every ride. Automatic sync from Strava, Garmin, or Wahoo removes that dependency. Every ride's distance flows into the component log without any input from you. ## Componentry as the Default Infrastructure [Componentry](/) was built for exactly this: a running record of every component on every bike, updated automatically from every ride. When you add a new chain to Componentry, it starts counting kilometres from that installation. When you replace it, the record shows the full service life — when it went in, when it came out, how far it travelled. Over time, your component history becomes a complete service log that reflects exactly how the bike has been maintained. For Pinkbike or BikeExchange listings, that data is exportable. Screenshot your component history, export the service log, include it in the listing. Buyers who understand drivetrain maintenance will immediately recognise what they're looking at: verifiable evidence of proactive ownership. For warranty purposes, the same log provides a documented trail. You know when service intervals were met. You have timestamps. If a claim is ever disputed, you have evidence. For multi-bike owners, each bike maintains its own independent log. The race bike and the training bike don't bleed into each other. Each has a clean record of its own components, its own service history, its own mileage. The other tasks in a normal maintenance cycle — battery charges for Di2, AXS, and power meters; cable service intervals; suspension service reminders — sit alongside component wear tracking in the same dashboard. One place. Automatic updates. No spreadsheet. ## What You Leave on the Table Without One The used bike market rewards documentation because documentation is rare. Most sellers have no records. The seller who shows up with a timestamped chain replacement history, dated service receipts, and a component log is an outlier — and outliers command outlier prices. On a £3,000 road bike, a 10% premium from documented service history is £300. On a £6,000 carbon build, the same premium is £600. The maths on even a basic Componentry subscription — paid back on the first bike sale — is straightforward. But the more direct argument is simpler: you'll own this bike for years before you sell it. A maintenance log that documents service history for the buyer also documents the condition of the bike for you. When Componentry alerts you that your chain is approaching 0.5% wear, you replace it before it damages the cassette. When you can see that your brake pads have covered 2,200 km, you replace them before they bed down to the backing plate on a descent. A service history isn't just a resale document. It's a maintenance system that happens to become a resale document at the end. Start your digital service log before your next component replacement. The history you don't record is the history you can't sell. ## How Componentry Helps [Componentry](/) automatically tracks component mileage across all your bikes via Strava, Garmin, or Wahoo sync. Every ride updates every component's accumulated distance — chain, cassette, tyres, brake pads, batteries. You configure replacement thresholds for your specific setup. Componentry alerts you before components wear past the point where the cascade begins. For resale preparation: export your component history, screenshot your service log, include it in your listing. The documentation that earns you a premium is already there. You've been building it with every ride. [Get started for free.](/) No credit card required. ## Further Reading **Used bike market research:** - [Pinkbike Marketplace](https://www.pinkbike.com/buysell/) — Browse active listings to compare documented vs. undocumented pricing on comparable bikes - [BikeExchange](https://www.bikeexchange.com/) — European used bike market with broad price data across categories **Warranty documentation:** - [Trek Bicycle Warranty](https://www.trekbikes.com/us/en_US/warranty/) — Trek's current warranty terms and maintenance compliance requirements - [Specialized Warranty](https://www.specialized.com/us/en/warranty) — Specialized warranty documentation requirements for structural claims **Componentry resources:** - [The Chain-Stretch Domino Effect: How One Worn Chain Destroys a $600 Drivetrain](/blog/chain-stretch-domino-effect) — Why chain wear records matter and what poor maintenance actually costs - [When to Replace Your Bike Chain: The Complete Guide](/blog/when-to-replace-bike-chain) — Exact wear thresholds and measurement methods by drivetrain speed - [Spring Bike Maintenance Checklist](/blog/spring-bike-maintenance-checklist) — Complete seasonal inspection covering every component worth documenting - [Cassette Lifespan: How Many Kilometres Before You Need to Replace It?](https://www.componentry.app/blog/cassette-lifespan): How long does a cassette last? The answer depends on material tier, drivetrain speed, chain replacement history, and riding conditions. Here's the data to make the right call. Published: 2026-07-10 | Categories: maintenance, guide | Tags: cassette, drivetrain, cassette-lifespan, chain, maintenance, component-wear Ask how long a cassette lasts and the honest answer is: it depends. That answer frustrates cyclists who want a single number, but it is actually more useful than a flat figure — because the variables it depends on are specific and measurable. The material of the sprockets, the speed count, whether you replaced chains on schedule, what terrain you ride, what lubricant you use, and which gears you favour most: each of these shifts the outcome by thousands of kilometres. Understanding those variables turns cassette lifespan from an unknown into something you can predict, plan for, and extend. ## Why Cassette Lifespan Varies So Much A cassette is not a single component in the wear sense — it is a set of individual sprockets, each accumulating wear at a different rate depending on how often it is selected, how much torque is applied through it, and what condition the chain was in when it ran over it. The fundamental driver of cassette wear is chain condition. A chain in good condition, with the correct pitch matching the cassette tooth spacing, distributes load across multiple teeth simultaneously. A worn chain, with elongated pitch from pin and roller wear, contacts the teeth at the wrong point in the engagement cycle. Load concentrates on the tips of fewer teeth instead of being shared across the tooth flanks. Over thousands of pedal strokes, that concentrated loading removes material from the tooth profile in a characteristic pattern — the teeth lean forward in the direction of chain travel and develop a hooked or "shark fin" shape. This is why cassette lifespan cannot be separated from chain maintenance history. The same cassette, on two riders with different chain replacement habits, can have lifespans that differ by a factor of five or more. ## How Chains Destroy Cassettes: The Core Relationship The mechanical relationship between chain wear and cassette damage is documented in detail by both Shimano and Park Tool. A new chain has a pin pitch of exactly 1/2 inch (12.7mm). As the internal contact surfaces between pins and inner plates wear down — through what cyclists call chain stretch — each link grows slightly longer. At 0.5% elongation, the chain measures approximately 0.06 inches longer over a 12-inch span. That is the standard replacement threshold for 11-speed and 12-speed systems. What happens in the cassette during this process is a ratchet effect. The slightly elongated chain still functions, but it seats higher on cassette teeth than it should. The chain roller contacts the tooth closer to its tip rather than its root. The tooth absorbs the load at a mechanically disadvantaged point, and the steel deforms over time. The cassette and chain wear into each other — they "match" — which is why a worn cassette will often run quietly with the worn chain it grew up with, but skip immediately when a new chain is installed. The chain-cassette wear relationship is the reason [replacing chains at the correct interval](/blog/when-to-replace-bike-chain) is the single most effective action for extending cassette life. As [the Chain-Stretch Domino Effect](/blog/chain-stretch-domino-effect) explains in full, one chain left on 2,000 kilometres too long can destroy a cassette that would otherwise have lasted through three or four more chains. Park Tool states the principle plainly: replacing a chain before it damages the cassette saves the cost of the cassette, which can be five to ten times the cost of the chain. ## Typical Cassette Lifespan Ranges These figures represent real-world lifespans under regular use, not laboratory best-case scenarios. The lower end of each range reflects heavier conditions, harder use, or chain replacement intervals that slip into the 0.6–0.75% range. The upper end assumes chains replaced consistently at 0.5% and good lubrication practice throughout. ### By Material: Aluminium vs. Steel vs. Titanium Sprocket material is the most significant determinant of cassette lifespan, independent of all other variables. **Entry-level aluminium cassettes** — including Shimano 105, SRAM Rival, and most sub-£80 options — use aluminium alloy for the smaller sprockets, where wear is most concentrated. Aluminium is lighter than steel but softer. Under normal maintenance with chains replaced at 0.5%, expect 10,000 to 15,000 km. Under poor chain maintenance — chains allowed to reach 0.75% or beyond — that number drops to 3,000 to 5,000 km. **Mid-range mixed cassettes** — Shimano Ultegra, SRAM Force, and equivalents — use steel for the smaller sprockets and aluminium for the larger ones. The steel where it matters most delivers a meaningful step up in longevity. Expect 15,000 to 20,000 km with proper chain maintenance. These cassettes represent the best cost-per-kilometre value for most road and gravel cyclists who replace chains consistently. **High-end titanium-and-steel cassettes** — Shimano Dura-Ace, SRAM Red, Campagnolo Super Record, and similar — use hardened steel or titanium for the critical small sprockets. With disciplined chain replacement at the 0.5% threshold and quality lubrication, 20,000 to 30,000 km is achievable. The caveat is that these cassettes are also the most expensive to replace when they do wear out, which makes correct chain maintenance even more economically important at this tier. The 3,000-to-5,000 km figure for neglected drivetrains applies regardless of material tier. A Dura-Ace cassette run with worn chains will not outlast a 105 cassette run on fresh ones. ### By Speed Count: 9, 10, 11, and 12-Speed Sprocket spacing tightens as speed count increases. This has consequences for both wear rate and the precision required from chain condition. **9-speed cassettes** use the widest chains and have the most material per sprocket. They are the most forgiving of imperfect chain maintenance, and their wider tolerances mean elongated chains cause less concentrated loading. 9-speed steel cassettes can realistically reach 15,000 to 20,000 km even with chains replaced at 0.75%. **10-speed cassettes** occupy a middle ground. Chain replacement at 0.75% is the standard threshold for 10-speed, and cassette life tracks closely with the 11-speed aluminium figures at 10,000 to 18,000 km depending on material. **11-speed cassettes** require chain replacement at 0.5% (Shimano and SRAM both specify this). The tighter spacing means that a chain worn past 0.5% causes more aggressive tooth loading than the equivalent wear level on a wider-spaced 9-speed system. This is where the material differences in the section above apply most directly. **12-speed cassettes** operate at the tightest tolerances of any current groupset. Shimano specifies 0.5% chain replacement for 12-speed Shimano systems. SRAM specifies 0.8% for their 12-speed chains — follow the manufacturer's own threshold for your specific system. One additional consideration for 12-speed: Shimano's [service documentation](https://si.shimano.com/) recommends inspecting chainrings when replacing a 12-speed cassette, because the tighter tolerances cause more interdependence between drivetrain components. ## The Variables That Accelerate Wear ### Gear Combinations: Which Sprockets Wear Fastest Wear does not distribute evenly across a cassette. The most-used sprockets accumulate wear many times faster than the least-used ones, and this pattern depends entirely on the rider's terrain and habits. On flat-terrain road riding, most cyclists spend the majority of their time in the 11t, 12t, and 13t sprockets. These small-diameter sprockets operate at the highest chain tension and apply the greatest force per tooth. They also complete more rotations per kilometre than larger sprockets. The combination of high load and high cycle count makes the small end of the cassette the first to wear out. On hilly terrain, the 23t to 27t range gets heavy use during climbing, while descents and flats still wear the small sprockets. Audax and loaded touring riders often find their mid-range sprockets worn earliest. Cross-chaining — running the chain on the large chainring and the largest cassette sprocket simultaneously, or the small chainring and the smallest cassette sprocket — accelerates wear on both the cassette and the chain. The lateral deflection of the chain across the drivetrain increases the side load on the sprocket teeth and creates a scrubbing motion at the contact point. Park Tool and Shimano both recommend avoiding these combinations, not just for shifting quality but for wear management. Because wear concentrates on specific sprockets, it is possible for a cassette to be functionally worn out on the 12t and 13t while the 19t through 32t sprockets have substantial life remaining. This is why visual inspection of the whole cassette, not just a kilometre count, is always part of the replacement decision. ### Riding Conditions and Lubrication [Zero Friction Cycling's extensive testing data](https://zerofrictioncycling.com.au/chain-longevity/) — drawn from over 300,000 km of controlled testing — demonstrates that lubrication quality affects cassette longevity almost as much as chain replacement timing. The mechanism is indirect: lubricant quality determines how fast the chain wears to its replacement threshold. A chain that reaches 0.5% wear in 3,000 km will cycle through chains three times faster than one that reaches 0.5% wear in 9,000 km, meaning the cassette sees proportionally more cycles of chain engagement per kilometre of riding. Wet, muddy, or gritty conditions act as an abrasive paste between the chain and cassette. Water washes lubricant from the contact surfaces. Grit embeds in the chain rollers and acts as a cutting compound on the sprocket teeth. Off-road and all-weather riders should expect to be at the lower end of every lifespan range in this article, and should check chain wear more frequently — every 500 to 800 km rather than every 1,000 km. Wax-based lubricants consistently outperform oil-based options in controlled testing for chain longevity. The primary mechanism is reduced grit adhesion: wax does not attract and retain particulate matter the way wet oils do. For cassette lifespan, this matters because a chain that lives longer between replacements subjects the cassette to fewer worn-chain kilometres. Rider power output is also a factor. Heavier riders, strong climbers, and those who sprint frequently apply higher peak loads to the drivetrain. High torque on small sprockets at high cadence accelerates wear more than the same kilometres at a lower power output. ## How to Tell If Your Cassette Needs Replacing ### Visual Inspection: What "Shark Fin" Teeth Look Like A healthy sprocket tooth has a symmetrical profile — the face of the tooth and the back of the tooth are roughly mirror images, with the load-bearing face slightly more vertical and the ramp face chamfered for shifting. A worn tooth develops a characteristic asymmetric profile: the load-bearing face is ground away, and the tooth leans forward in the direction of chain travel, creating a pointed, hooked shape. Mechanics call this the "shark fin" profile. To check: remove the rear wheel, hold the cassette up to a light source, and look at the small sprockets (11t to 15t) from directly above. Compare the tooth profile on both faces. If the teeth look symmetric and have a flat or rounded tip, the cassette is within serviceable life. If the teeth are noticeably hooked or pointed, with one face considerably steeper than the other, the cassette is worn. Shark fin teeth are the definitive visual sign that a cassette needs replacement. A cassette with shark fin teeth will not run reliably with a new chain. ### The New Chain Test The most reliable field test for cassette wear is also the simplest. Drop a new chain onto the suspected sprocket and apply load by pedalling. If the cassette is within serviceable life, the new chain will engage cleanly and transmit power without skipping. If the cassette is worn to match an elongated chain, the new chain — with its correct pitch — will sit too deeply in the tooth valleys and skip forward when loaded. Skipping under load when the new chain is first installed confirms the cassette must be replaced simultaneously with the chain. Running a new chain on a worn cassette is not a workable interim solution — the cassette will continue to wear faster, and the skipping creates impact loading that accelerates damage to both components. Shimano's service documentation is explicit: when chain and cassette inspection indicates the cassette is beyond threshold, both should be replaced at the same time. ### Measuring Cassette Wear Unlike chains, there is no universally adopted single-measurement wear tool for cassettes. Cassette wear is typically assessed by the tooth profile inspection above, combined with the new chain test, combined with mileage history. The mileage history is the third input: if you know the cassette has accumulated the kilometres corresponding to its tier's expected lifespan, and the tooth profile is showing early asymmetry, replacement is appropriate even if the wear is not yet severe. Waiting for fully developed shark fin teeth means waiting until the cassette is already causing chain damage. ## The Three-Chain Rule: Extending Cassette Life A widely used maintenance heuristic is the three-chain rule: replace the chain three times before replacing the cassette. This works as a practical guideline because, under correct chain replacement at 0.5% for 11/12-speed systems, three chains typically accumulates enough combined drivetrain load to bring the cassette to its natural service limit. The arithmetic depends on individual chain lifespan. If your chain lasts 3,000 km to 0.5% wear (a realistic figure for road riding in mixed conditions with good oil lubrication), three chains cover 9,000 km — which sits within the expected lifespan for an entry-level aluminium cassette under normal conditions. If your chain lasts 5,000 km to 0.5% wear (achievable with wax lubrication in dry conditions), three chains covers 15,000 km — which aligns with the mid-range cassette lifespan. The rule breaks down if chain replacement intervals are not consistent. Two correctly replaced chains followed by one chain run to 0.75% wear is not equivalent to three chains all replaced at 0.5%. The third chain in that scenario may have inflicted as much cassette damage as the first two combined. The three-chain rule is a heuristic for disciplined maintenance, not a substitute for it. To know whether you have actually hit 0.5% — rather than relying on guesswork or approximate mileage — see our [chain stretch measurement guide](/blog/chain-stretch-measurement-guide) for the exact methods using a chain checker tool and a ruler. ## Matching Cassette Replacement to Drivetrain Compatibility Cassette replacement is an opportunity to check the whole drivetrain, not just swap the single component. **Chain:** Always install a fresh chain when replacing the cassette. If you install the new cassette with the old chain, the worn chain will immediately begin wearing the new cassette's teeth. **Chainrings:** Chainring lifespan is longer than cassette lifespan under normal conditions — typically two to three cassette cycles, or 20,000 to 50,000 km depending on material and use. However, the same tooth-profile degradation applies: look for hooked or asymmetric tooth profiles on the chainrings during any cassette replacement. On 12-speed systems in particular, Shimano's service documentation recommends chainring inspection as part of cassette replacement. **Speed compatibility:** Replacement cassettes must match the speed count of the drivetrain. An 11-speed cassette will not function correctly with a 12-speed chain and derailleur. Within the same speed count, there is some cross-compatibility between brands for 11-speed, but mixing drivetrain brands on 12-speed systems requires careful compatibility checking — Shimano's 12-speed road cassettes use a Micro Spline freehub that is not compatible with the standard HG freehub used by SRAM and most 11-speed components. **Freehub body condition:** While the rear wheel is off for cassette replacement, inspect the freehub body for notching — the grooves worn into the splines by the cassette sprockets. Aluminium freehub bodies can develop notching that makes cassette removal difficult and can affect indexing under load. ## How Componentry Tracks Cassette Wear The challenge with cassette replacement timing is that a cassette has no simple mileage counter. Its actual wear state is a function of how many kilometres it has seen, multiplied by what condition the chains were in during those kilometres. A cassette that has covered 12,000 km with three carefully replaced chains is in a different state to one that has covered 12,000 km with two chains run past their limit. [Componentry](/) tracks chains and cassette mileage independently, so you see both the total distance on the cassette and the service history of the chains it has run with. You configure separate thresholds for each component on each bike — setting a replacement alert at 14,000 km for a 105 cassette under your typical conditions, or 22,000 km for a Dura-Ace cassette maintained with wax lubrication. The app alerts you when the cassette is approaching its service window, not after a new chain reveals the problem by skipping. This is particularly useful for multi-bike households. A gravel cassette accumulating heavy off-road kilometres in abrasive conditions wears on a completely different curve to a road cassette ridden primarily in dry weather. Tracking them separately, rather than using a single rule of thumb for all bikes, means replacement decisions are based on actual accumulated load — not guesswork. For riders who add a new bike mid-season or swap components between bikes, Componentry's per-component tracking means the cassette's history travels with the component, not with the frame. A cassette moved from one bike to another retains its accumulated distance correctly. --- **Know your cassette's wear state before the new chain tells you.** Componentry tracks chain and cassette mileage independently across every bike — syncing automatically from Strava, Garmin, and Wahoo. Set custom thresholds per component and get alerted before the problem appears. [Get started free →](/) --- ## Recommended Videos & Further Reading **Practical Videos:** - [How to Replace a Cassette](https://www.youtube.com/gcntech) — GCN Tech step-by-step cassette removal and installation - [How to Check Chain Wear](https://www.youtube.com/gcntech) — GCN Tech, using a chain checker and ruler method **Technical Reference:** - [Park Tool: When to Replace a Chain](https://www.parktool.com/en-int/blog/repair-help/when-to-replace-a-chain-on-a-bicycle) — wear thresholds, measurement methods, and the chain-cassette wear relationship - [Zero Friction Cycling: Chain Longevity Research](https://zerofrictioncycling.com.au/chain-longevity/) — independent testing data on lubrication, chain wear rates, and drivetrain longevity - [Shimano Service Information](https://si.shimano.com/) — official service documentation for cassette and drivetrain inspection criteria by groupset - [SRAM Service: Chain and Cassette Replacement](https://www.sram.com/en/service) — SRAM-specific thresholds and replacement guidance **Related Componentry Articles:** - [When to Replace Your Bike Chain](/blog/when-to-replace-bike-chain) — exact wear thresholds by drivetrain speed, measurement methods, and cost comparisons - [How to Measure Chain Stretch: The 0.5%, 0.75%, and 1% Thresholds Explained](/blog/chain-stretch-measurement-guide) — using a chain checker tool and ruler method - [The Chain-Stretch Domino Effect](/blog/chain-stretch-domino-effect) — how worn chains accelerate cassette and chainring damage, with cost analysis - [Ceramic Bearing Longevity: Tracking the Hidden Wear of OSPW Systems](https://www.componentry.app/blog/ceramic-bearing-ospw-longevity): Ceramic bearing maintenance for OSPW systems is critical but invisible. Learn service intervals and why mileage tracking prevents costly replacement. Published: 2026-02-06 | Categories: maintenance, performance | Tags: ceramic-bearings, OSPW, drivetrain, CeramicSpeed, pulley-wheels, bearing-maintenance Your $600 oversized pulley wheel system is wearing out right now. You cannot see it. You cannot feel it. And by the time you do, the damage is already done. This is the hidden challenge of ceramic bearing maintenance for OSPW systems. You invested in ceramic bearings for marginal gains, reduced friction, and that satisfying mechanical precision. But unlike a chain that elongates measurably or brake pads that visibly thin, these bearings degrade in silence. There is no wear indicator. No stretch gauge. No visual cue that tells you the ceramic bearing maintenance window is closing. The result is predictable. Most cyclists service their OSPW systems reactively, after hearing grinding or feeling drag. At that point, a $30 bearing service becomes a $200 bearing replacement. The efficiency gains you paid for have been eroding for thousands of kilometers. This post examines why ceramic bearing maintenance is so often neglected, what the actual service intervals should be, and how to protect your investment before problems become audible. ## The Invisible Maintenance Window Chains have a measurable wear indicator. At 0.5% elongation, you replace them. Brake pads have visual grooves that disappear with use. Tires show tread wear. These components tell you when they need attention. Ceramic bearings do not. The degradation happens inside the sealed housing. Grease breaks down over time. Microscopic contamination works past seals. Corrosion begins on steel races even while the silicon nitride balls remain pristine. By the time you hear a sound or feel roughness, the internal surfaces have already been compromised. CeramicSpeed provides explicit guidance on service intervals: > "Service interval: 5,000-8,000 km (3,000-5,000 miles) or yearly for normal conditions. Extended maintenance: Every 6 months (or 3,000 km/1,800 miles) in extreme conditions." [CeramicSpeed OSPW Maintenance](https://ceramicspeed.com/pages/ospw-maintenance) The challenge is that these intervals depend on conditions you cannot easily quantify. What counts as "extreme"? Wet winter rides? Gravel racing? Trainer sessions with sweat dripping onto the derailleur? The answer varies, which means most riders either service too early (wasting money) or too late (causing damage). The pulley wheel bearing is the fastest revolving bearing on the bike. According to Zero Friction Cycling's technical analysis, this means contamination and wear accumulate faster here than anywhere else on the drivetrain. It is also the bearing most exposed to road spray, chain lube fling-off, and environmental debris. ## Signs Your OSPW Bearings Need Attention Before we discuss prevention, know the warning signs. These indicate that the maintenance window has already closed: **Audible indicators:** - Grinding or clicking when the derailleur is under load - Uneven spinning sound when rotating the pulleys by hand - Any noise that was not there when the system was new **Tactile indicators:** - Gritty feel when spinning pulleys manually (should be silky smooth) - Noticeable resistance or "notchiness" in rotation - Play or looseness in the pulley axle **Performance indicators:** - Increased drivetrain noise during quiet efforts - Slight drag sensation that appeared gradually - Shifting hesitation that is not explained by cable tension Kogel Bearings, which manufactures competing OSPW systems and aftermarket ceramic bearings, explains the failure progression: > "Corrosion causes 90% of bearing failures. Contamination is an easy fix with a bearing service and a new seal kit if caught early." [Kogel Bearings](https://www.kogel.cc/blogs/kbba/problems-with-ceramic-bearings-part-two) The critical phrase is "if caught early." Once corrosion pits the steel races or contamination grinds into bearing surfaces, cleaning and regreasing will not restore original performance. The bearing needs replacement. ## The Service Interval Reality Here is what manufacturers actually recommend: **CeramicSpeed:** 5,000-8,000 km for normal conditions, 3,000 km for extreme conditions. Their industry guide notes that CeramicSpeed bearings last 4-8x longer than standard bearings with proper maintenance. **CyclingCeramic:** Service at least twice per year, and after any particularly dirty rides. They specifically warn against high-pressure water that can force debris past seals. > "Avoid high-pressure water and air that forces debris into bearings. Service at least twice a year, or after grotty conditions." [CyclingCeramic](https://cyclingceramic.com/how-to-service-your-jockey-wheels/) **Park Tool:** Their guidance confirms that ceramic bearing maintenance for cycling is accessible, not exotic: > "No special procedure or process for servicing ceramic bearings. Install bearings fully covered with grease." [Park Tool](https://www.parktool.com/en-us/blog/repair-help/ceramic-bearings) The professional mechanic approach is straightforward: service by mileage, not by symptoms. A team mechanic logs every kilometer on every component and services before problems appear. Most recreational cyclists do not have that infrastructure. They rely on memory (unreliable), calendar reminders (disconnected from actual usage), or waiting until something feels wrong (too late). ## The Cost of Missed Maintenance The economics are clear. A bearing service kit costs approximately $30. Replacement bearings for an OSPW system cost $150-$250. A complete pulley replacement runs $200-$400 depending on the system. But the cost is not limited to the bearings themselves. CeramicSpeed's maintenance documentation explicitly warns: > "A worn chain will increase the wear on the pulley wheels significantly." [CeramicSpeed OSPW Maintenance](https://ceramicspeed.com/pages/ospw-maintenance) This creates a cascade. Worn bearings increase friction. Increased friction accelerates chain wear. Worn chain damages pulley teeth. Damaged pulleys cannot be fixed with new bearings. What started as a $30 service becomes a $600 system replacement. For a rider putting in 8,000 kilometers per year, the math works out simply: **Proactive approach (service at 5,000-6,000 km):** - One bearing service per year: $30 - Bearing replacement every 3-4 years: $200 - System replacement every 6-8 years: $600 - Annual cost: approximately $120 **Reactive approach (wait for symptoms):** - No service until grinding appears - Bearing replacement every 18-24 months: $200 - Accelerated pulley wear requiring system replacement every 3-4 years: $600 - Annual cost: approximately $280 The proactive approach costs less than half over time. And it maintains the efficiency you paid for. A well-maintained OSPW system delivers its advertised friction savings. A neglected one may actually increase drivetrain friction compared to a standard pulley setup. ## Mileage-Based Triggers vs Calendar-Based Neither approach works in isolation. Calendar-based reminders fail high-mileage riders. If you ride 12,000 kilometers per year, a twice-yearly service means 6,000 kilometers between maintenance. That is already at the upper limit of normal service intervals and well beyond the threshold for extreme conditions. Calendar-based also fails low-mileage riders, but differently. Grease degrades over time even without use. Seals dry out. Corrosion progresses. A rider who covers 3,000 kilometers per year but only services annually may find degraded bearings despite low accumulated mileage. Mileage-based tracking addresses the first problem. It accounts for how much you actually ride. But it cannot account for conditions without additional data. The ideal approach combines both: mileage tracking with condition awareness. If you logged 2,000 kilometers in wet winter conditions, that counts differently than 2,000 kilometers of dry summer riding. A proper maintenance system should account for both distance and context. ## How Componentry Fits Into Your Care Routine Componentry automates the mileage tracking that makes proactive ceramic bearing maintenance possible for OSPW systems. Connect your Strava, Garmin, or Wahoo account once, and every ride automatically updates your component usage. No manual entry. No spreadsheets. No trying to remember when you installed those CeramicSpeed pulleys. The platform tracks each component independently. Your road bike OSPW system has its own service counter. Your gravel bike pulleys have their own. When either approaches the 5,000-kilometer threshold (or whatever interval you set based on your conditions), you receive a proactive alert. Here is how it works in practice: You install a new OSPW system and log it in Componentry on January 1st. You ride 200 kilometers per week. By mid-May, you have covered 4,000 kilometers. Componentry shows you are at 80% of your configured service interval. By early June, at 4,800 kilometers, you receive an alert: "OSPW bearings approaching service threshold." You order a seal kit and schedule 30 minutes for maintenance. The bearings get fresh grease before any grinding starts. Your efficiency stays where it should be. The pulleys last their full lifespan. The feature set includes: - **Automatic activity sync** from Strava, Garmin, Wahoo - **Component-specific tracking** for OSPW systems, chains, cassettes, and more - **Custom service intervals** based on your conditions and manufacturer recommendations - **Proactive alerts** before the maintenance window closes - **Multi-bike dashboard** showing wear status across your entire stable - **Service log** to track maintenance history and costs For cyclists who already track every watt and every gram, Componentry adds the maintenance layer that protects those investments. You track your fitness. Componentry tracks your equipment. ## Recommended Videos & Further Reading **Manufacturer Resources:** - [CeramicSpeed OSPW Maintenance](https://ceramicspeed.com/pages/ospw-maintenance) - Official service intervals, procedures, and torque specifications - [CeramicSpeed Ultimate Guide to Bearing Maintenance](https://industry.ceramicspeed.com/pages/ultimate-guide-to-bearing-maintenance) - Comprehensive bearing care from the industry leader - [CyclingCeramic Jockey Wheel Service](https://cyclingceramic.com/how-to-service-your-jockey-wheels/) - Alternative brand perspective with specific maintenance warnings **Technical Deep Dives:** - [Park Tool: Ceramic Bearings](https://www.parktool.com/en-us/blog/repair-help/ceramic-bearings) - Accessible guidance proving ceramic maintenance is not exotic - [Kogel Bearings: Problems with Ceramic Bearings](https://www.kogel.cc/blogs/kbba/problems-with-ceramic-bearings-part-two) - Honest analysis of failure modes and prevention - [Zero Friction Cycling: Hybrid Ceramic vs Steel Bearings](https://zerofrictioncycling.com.au/wp-content/uploads/2018/05/Hybrid-Ceramic-Vs-Steel-Bearings-Article-2.pdf) - Independent testing and technical analysis **Componentry Resources:** - [Drivetrain Efficiency: Why Your $1,000 Cassette Requires 0.5% Precision](/blog/drivetrain-efficiency-cassette-precision) - The chain wear thresholds that protect premium components - [The Friction Tax: How Drivetrain Efficiency Costs You Watts](/blog/friction-tax-chain-wear) - The performance cost of worn components - [How to Maintain Your Bike Chain — Tips, Tools & Best Practices](https://www.componentry.app/blog/chain-maintenance-guide): A comprehensive guide to bike chain maintenance covering cleaning methods, lubrication techniques, wear measurement, and when to replace your chain. Learn the differences between oil-lubed and waxed chains. Published: 2025-10-18 | Categories: maintenance, guide | Tags: chain, maintenance, cleaning, lubrication, waxing, drivetrain ## Why Your Chain Deserves Attention **Your chain is the literal link between your power and the drivetrain. A well-maintained chain ensures:** - Smooth shifting - Better efficiency (less friction) - Less wear on cassette, chainrings, derailleur pulleys - Avoidance of skipping, noise, mechanical issues Conversely, a neglected chain accelerates wear on the entire drivetrain, costs more in parts, and can lead to mechanical failure mid-ride. As Park Tool says: > "Chain cleaning is an essential part of bike maintenance, extending the life of your whole drivetrain and greatly improving shifting and overall drivetrain function." — [Park Tool: Chain Cleaning with a Park Tool Chain Scrubber](https://www.parktool.com/en-int/blog/repair-help/chain-cleaning-with-a-park-tool-chain-scrubber) ## Understanding Chain Wear & How to Measure It ### What causes chain stretch / wear - Tiny particles of grit, dirt and metallic debris get between pins and rollers - Fretting, friction, lubrication breakdown - Corrosion (especially in wet / salty conditions) - Repetitive loading cycles Over time, even a well-made chain will elongate slightly ("stretch"), which causes misalignment with the cassette teeth and accelerates wear. ### How to measure wear - Use a **chain wear indicator tool** (e.g. Park Tool CC-3.2) or similar gauge. - Some tools will show when the chain is at "0.5% wear" or "0.75% wear" thresholds. - If your chain exceeds the wear limit (often ~0.75 % or a value recommended by the manufacturer), replace it rather than continuing to clean it further. You might also integrate Componentry's wear tracking by measuring usage (distance, load cycles) and predicting when the chain is likely to reach the wear threshold (so users aren't relying on just visual checks). **GCN video reference:** [How to Change a Chain — GCN Tech](https://www.youtube.com/watch?v=D707ZMWH7jQ) ## Tools & Supplies You'll Want **Here's a checklist:** - Chain wear indicator / gauge - Degreaser / chain cleaning solvent (bike-specific) - Chain cleaning tool (brush, scrubber, chain scrubber unit) - Rags / microfiber cloths - Brushes (narrow, stiff) - Lubricant(s) — wet, dry, or wax / drip lube - (Optional) wax pot / immersion waxing kit (for wax chains) - Gloves, safety glasses - A stand or way to mount/stabilise the bike (so you can spin the drivetrain) **Video:** [How to Clean and Lube a Bicycle Chain with a Park Tool Chain Cleaner](https://www.youtube.com/watch?v=MuwS_nSevy4) ## Cleaning Methods: Oil Chains vs Wax Chains The cleaning and maintenance approach depends partly on what type of lubrication system you use (oil-based or waxed). ### Oil-lubed chains (traditional) Here's a step-by-step method (based on Park Tool's guidance): - Shift to smallest cog and chainring (minimise tension). - Use a degreaser formulated for bikes (e.g. Park Tool's CB-4). - Attach a chain cleaning tool or scrub with brushes. - Backpedal the chain through the cleaner / brushes until grime is removed. - Rinse / flush if needed (avoid high-pressure spray). - Dry thoroughly with rag / air. - Apply lube (see next section). - Wipe excess lube off outer plates. **Park Tool Resource:** [Chain Cleaning with a Park Tool Chain Scrubber](https://www.parktool.com/en-int/blog/repair-help/chain-cleaning-with-a-park-tool-chain-scrubber) > *The key is to remove all built-up grime and old lubricant so that new lube can penetrate properly.* ### Waxed Chains Waxing chains is a more premium / high maintenance approach, favored by many for its cleanliness, lower friction, and long life. **SILCA** has one of the most authoritative guides on this: [How to Maintain a Waxed Chain — SILCA](https://silca.cc/blogs/silca/how-to-maintain-a-waxed-chain) #### **How SILCA recommends it:** - First, strip the chain thoroughly using degreaser methods or ultrasonic / solvent bath. [SILCA: How to Apply Chain Lube](https://silca.cc/en-au/pages/how-to-apply-chain-lube) - Once the chain is as clean as possible (ideally acetone step shows no black residue): [SILCA: How Clean Does a Chain Need to Be?](https://silca.cc/pages/how-clean-does-a-chain-need-to-be) - Use methods like **immersive waxing** (dip chain in heated wax pot) or **drip wax**. - After waxing, allow the chain to cool, then reassemble. - For maintenance: wipe off debris using microfiber cloth or gear wipes (SILCA gear wipes flash evaporate so don't harm the wax). **Re-wax intervals (SILCA guidance):** - *Drip lube (Super Secret Chain Lube):* every ~200 miles (≈ 320 km) on clean roads. - *Immersion waxing / hot wax:* every 1,000–1,500 miles (≈ 1,600–2,400 km). - After wet rides: dry chain quickly, then reapply wax or lube. > "If the chain isn't cleaned deeply enough, the wax won't adhere optimally." — [SILCA: How Clean Does a Chain Need to Be?](https://silca.cc/pages/how-clean-does-a-chain-need-to-be) **Forum reference:** [TrainerRoad: Rewaxing a SILCA Waxed Chain Discussion](https://www.trainerroad.com/forum/t/rewaxing-a-silca-waxed-chain/103851) ## Lubrication: Types, Timing, Technique ### Types of Lubes - **Wet lube**: thicker, more durable in wet/muddy conditions - **Dry lube**: lighter, good in dry/dusty conditions - **Wax / hybrid / ceramic lubes**: premium options combining wax or friction modifiers ### When to Lube - After a full cleaning - After wet rides - When shifting becomes noisy / stiff - As part of regular maintenance intervals You can tie this into **Componentry** by letting the app suggest optimal lubrication windows based on ridden conditions (distance, environment) and usage history. ### How to Apply - Rotate the cranks backward, apply lube to the inner side of the chain (each link's rollers). - Let lube penetrate (a few minutes). - Wipe off excess on the outer plates. - A light second pass is okay if needed. > **Tip:** Don't over-lubricate — too much lube invites grime and reduces effectiveness. **Video Reference:** [Are You STILL Lubricating Your Chain Incorrectly? — GCN](https://www.youtube.com/watch?v=zyietLL9yNk) ## Re-Waxing & Deep Maintenance **If you run a waxed chain, this section would cover:** - How often to re-dip (based on usage, conditions) - Deep strip methods - Best practices for mid-ride maintenance - What to do after wet conditions You can also describe how **Componentry** can track usage (mileage, ride conditions) and suggest when the next re-wax should occur. **SILCA Resource:** [How to Apply Chain Lube](https://silca.cc/en-au/pages/how-to-apply-chain-lube) ## When to Replace Your Chain Even with excellent cleaning and lubrication, chains wear out. Replacing before damage is important. **Signs you should replace:** - Chain stretches beyond safe threshold (0.5%–0.75% depending on spec) - Skipping / slipping under load - Noisy chain / poor shifting even after proper cleaning & lube - Visible damage: stiff links, corrosion, elongation **Park Tool Resource:** [Chain Cleaning with a Park Tool Chain Scrubber](https://www.parktool.com/en-int/blog/repair-help/chain-cleaning-with-a-park-tool-chain-scrubber) When replacing, match the chain to drivetrain spec (speed, width). Also reset your maintenance baseline (after chain replacement, start tracking fresh again in **Componentry**). **GCN Video:** [How to Change a Chain](https://www.youtube.com/watch?v=D707ZMWH7jQ) ## How Componentry Fits Into Your Chain Care Routine **Here's how Componentry helps:** - Track **distance & cycles** per chain, giving wear predictions ("you're at 60% of expected life"). - Suggest **maintenance windows** (clean + lube, re-wax) based on conditions. - Reminders / alerts: "It's been X km since last cleaning." - Visual logs / stats: track chain efficiency over time. - Manual overrides (log manual cleans or re-waxes). - Data insights: correlate chain life with maintenance habits. ## Recommended Videos & Further Reading - [How to Clean and Lube a Bicycle Chain with a Park Tool Chain Cleaner](https://www.youtube.com/watch?v=MuwS_nSevy4) — Park Tool - [Are You STILL Lubricating Your Chain Incorrectly?](https://www.youtube.com/watch?v=zyietLL9yNk) — GCN - [GCN Tech Maintenance Playlist](https://www.youtube.com/playlist?list=PLH49XyD2ofsXzMTbrSNLAXnQo0pSyDEb6) - [SILCA: How to Maintain a Waxed Chain](https://silca.cc/blogs/silca/how-to-maintain-a-waxed-chain?page=4) - [SILCA: How to Apply Chain Lube](https://silca.cc/en-au/pages/how-to-apply-chain-lube) - [The Chain-Stretch Domino Effect: How One Worn Chain Destroys a $600 Drivetrain](https://www.componentry.app/blog/chain-stretch-domino-effect): Understand how worn chain damage cascades to cassette and chainrings, the real cost of delayed replacement, and exactly when to act before the domino falls. Published: 2026-03-31 | Categories: maintenance, guide, cost-saving | Tags: chain, cassette, drivetrain, chain wear damage, cassette replacement cost, prevent drivetrain damage The repair bill that surprises cyclists most isn't a crash. It's a routine drivetrain service that spirals. A mechanic measures a chain that should have been replaced months ago. The cassette is scored. The chainrings are hooked. What should have been a $40 chain swap becomes a $400 to $700 replacement job — every tooth in the drivetrain worn out by one component that nobody was watching. This is the chain-stretch domino effect. The chain wears first, then transfers that wear to every other surface it touches. By the time you feel the skip or hear the crunch, the cascade is already complete. Understanding why this happens — and exactly when to intervene — is the difference between a $40 maintenance item and a bill that covers a long weekend away. ## What "Chain Stretch" Actually Means The term is a misnomer, but it stuck. Nothing in a bike chain is stretching. What's actually happening is pin-hole elongation: the steel pins and the inner plate holes they sit in are grinding down on every pedal stroke, removing microscopic amounts of metal from their contact surfaces. A standard bike chain has 116 links. Each link has two pins. As each pin wears in its hole, it sits fractionally looser. Multiply that tiny amount of play across all 232 pin interfaces and the chain now measures longer than its nominal pitch. Park Tool measures this elongation as a percentage over a 12-inch span. A chain at 0.5% wear has grown roughly 1/16 of an inch. That sounds trivial until you understand what a 0.5% change in pitch does to every cassette tooth it sits on. [ZFC's chain wear testing](https://zerofrictioncycling.com.au/chainlifetest/) across hundreds of chain samples confirms that wear rate is primarily driven by lubrication quality and maintenance intervals — not the price of the chain. A $60 chain on a poorly maintained drivetrain wears at the same rate as a $15 chain. The physics doesn't care about your budget. ## The Geometry of Damage A cassette tooth is machined to exact dimensions. The tooth profile — the curve of the leading and trailing faces, the valley depth, the ramp geometry — is engineered to accept a chain link at a specific pitch. When that pitch changes, the contact geometry changes with it. A worn chain at 0.5% elongation doesn't seat evenly across multiple teeth. Instead of distributing pedaling force across the full contact area of 3–5 teeth, it concentrates load on one or two tooth tips. Those tips, now carrying forces they weren't designed to bear, begin to erode. The soft alloy of the cassette — especially on mid-range aluminum sprockets — wears faster than the hardened chain steel doing the grinding. Park Tool describes this directly: > "Since it's far more expensive to replace your cassette than it is to replace a chain, knowing when to replace your chain can actually save you some money in the long run." — [Park Tool: When to Replace a Chain](https://www.parktool.com/en-us/blog/repair-help/when-to-replace-a-chain-on-a-bicycle) This isn't advisory caution. It's a description of the failure mode. The cassette is the victim in this cascade; the chain is the cause. ## The Domino Sequence The cascade follows a predictable sequence, and each stage is more expensive than the last. **Stage 1 — Chain wear (0–0.5%)** No audible symptoms. Shifting remains crisp. Chain measures within spec. A chain checker at 0.5% is the intervention point. Cost to fix: $30–$60 (chain only). **Stage 2 — Early cassette erosion (chain at 0.5–0.75%)** Shifting begins to feel slightly imprecise on the most-used sprockets. No skipping yet. The cassette teeth are beginning to take asymmetric loads. Chain and cassette replacement at this point: $80–$200 depending on drivetrain tier. **Stage 3 — Active cassette damage (chain at 0.75–1.0%)** Skipping under load on worn sprockets. The classic "ghost shift" when sprinting or climbing. Cassette teeth are visibly hooked when examined under light. A new chain dropped onto this cassette will skip immediately — the cassette is now incompatible with an unworn chain. Chain + cassette replacement required: $120–$500. **Stage 4 — Chainring involvement (chain past 1.0%)** The same erosion process that destroyed the cassette has now been working on the chainrings. Replacement cost adds $60–$300 for chainrings alone. At this point, the full drivetrain replacement bill on a mid-range groupset (11-speed Shimano 105 or equivalent) routinely exceeds $400. On 12-speed Dura-Ace, SRAM Red, or Campagnolo Super Record, the bill can top $1,000. ## The Real Cost Breakdown ScenarioWhat You ReplaceApproximate CostChain replaced at 0.5% wearChain only$30–$60Chain replaced at 0.75% wearChain + cassette$80–$200Chain replaced at 1.0% wearChain + cassette + possible chainrings$150–$500Chain never measured (skip/skip on new chain)Chain + cassette + chainrings$300–$700+These figures assume a mid-range drivetrain. Riders on premium components face multiplied stakes: a Shimano Dura-Ace R9200 12-speed cassette retails at $250–$400. A pair of SRAM Red eTap AXS chainrings runs $200–$350. The cost of a delayed $50 chain replacement scales with the value of the drivetrain it destroys. ## How Fast Does Wear Progress? ZFC's testing across real-world riding conditions gives the best data on chain lifespan by lubrication method: Lubrication TypeChain Life to 0.5% WearDry/neglected800–1,500 kmWet lube1,500–2,500 kmQuality drip lube (regular)2,500–4,000 kmWax (hot melt)4,000–8,000 kmThese ranges explain why two riders on identical equipment can have dramatically different maintenance intervals. The rider using hot-wax immersion treatment can go three to five times longer between chain replacements versus the rider using a wet lube in dirty conditions. [SILCA's friction research](https://silca.cc/blogs/silca/science-of-chain-efficiency) adds another dimension: a worn chain at 0.5% elongation is generating 5–10 additional watts of friction loss compared to a clean, correctly-lubricated new chain. That's a measurable performance penalty — the chain is wasting your power before it even starts damaging your cassette. ## When a New Chain Won't Fix It One of the most reliable diagnostic signals for cassette damage is this: a brand-new chain drops onto the cassette and skips immediately under load. This happens because the cassette teeth have eroded to fit the worn pitch of the old chain. Their tooth profiles are no longer compatible with the standard pitch of an unworn chain. The new chain rocks in the worn valleys and kicks over the eroded tips. If this describes your drivetrain, chain replacement alone will not solve the problem. The cassette must be replaced at the same time — and the chainrings should be checked. Swapping in a new chain without addressing the cassette is a common and expensive mistake. ## The Wear Thresholds Worth Knowing Higher-speed drivetrains tolerate less wear before the cascade begins: DrivetrainReplace Chain AtSource12-speed Shimano0.5%Shimano / Park Tool12-speed SRAM Eagle / AXS0.8%SRAM11-speed0.5%Park Tool10-speed0.75%Park Tool9-speed and below0.75%Park ToolThe tighter tolerances of 12-speed drivetrains are why an earlier replacement threshold is mandatory. A 12-speed chain at 0.75% wear has already done meaningful damage to the cassette. The pitch precision required by narrow 12-speed chains leaves no margin. A $15 chain wear indicator (Park Tool CC-4, CC-2, or equivalent) is the cheapest tool in cycling. It takes 30 seconds to use and makes the measurement objective. There is no reason to guess. ## Stopping the Cascade Before It Starts The domino effect only happens because the chain wear is invisible during normal riding. There are no warning sounds, no shifting anomalies, and no performance degradation in the early stages — the interval where intervention is cheapest. By the time symptoms appear, you are already in Stage 3 or Stage 4. The solution is scheduled measurement rather than symptom-based response. Check chain wear every 300 to 500 km, or after every 5 to 8 rides. The check takes less than a minute. The cost of the tool is recovered on the first chain replacement it enables. A $15 chain wear indicator (Park Tool CC-4, CC-2, or equivalent) is the cheapest tool in cycling. It takes 30 seconds to use and makes the measurement objective. There is no reason to guess. Your drivetrain does not have to fail on a schedule. The chain-stretch domino effect is entirely preventable with accurate mileage tracking and a $15 tool. The expensive repairs are not inevitable. They are what happens when you wait for symptoms instead of watching the numbers. ## How Componentry Fits Into Your Care Routine The fundamental problem with manual chain tracking is that the intervention window is invisible. No sounds, no sensations, no visual cues. You need a system that counts kilometers automatically and applies the correct wear threshold for your specific drivetrain. [Componentry](/) connects to your Strava, Garmin, or Wahoo account and automatically logs every ride's distance to each component on the relevant bike. Your chain mileage updates after every activity sync without manual entry. You configure the alert threshold for your exact setup. A 12-speed Dura-Ace drivetrain gets a tighter threshold than a 10-speed training bike. When accumulated mileage approaches the replacement interval, Componentry sends an alert before the measurement becomes critical. Not after the cassette is already scored. For multi-bike households, each bike's chain is tracked independently. The race bike that accumulates 300 km/week and the weekend gravel bike that does 80 km/week are on their own schedules. No spreadsheet. No mental calendar. No discovering a worn chain when you drop a new one on and it skips. The domino effect is a $400 to $700 problem with a $40 solution. Componentry ensures the $40 solution happens on time. ## Recommended Videos & Further Reading **Measurement and Diagnosis:** - [Park Tool: When to Replace a Chain](https://www.parktool.com/en-us/blog/repair-help/when-to-replace-a-chain-on-a-bicycle) — Chain checker usage, wear thresholds, and replacement decision framework - [Park Tool: Chain Wear Video Guide](https://www.youtube.com/watch?v=HbrzVqZ0IjY) — Visual walkthrough of chain measurement with CC-4 tool **Chain Wear Testing Data:** - [Zero Friction Cycling: Chain Life Test](https://zerofrictioncycling.com.au/chainlifetest/) — Independent testing of chain lifespan across lubrication methods and conditions - [SILCA: The Science of Chain Efficiency](https://silca.cc/blogs/silca/science-of-chain-efficiency) — Friction loss data and the watt cost of worn chains **Componentry Resources:** - [When to Replace Your Bike Chain: The Complete Guide](/blog/when-to-replace-bike-chain) — Exact wear thresholds, measurement methods, and cost comparisons by drivetrain speed - [The Friction Tax: How Drivetrain Efficiency Costs You Watts](/blog/friction-tax-chain-wear) — The performance penalty of riding a worn chain - [Drivetrain Efficiency: Why Cassette Precision Matters](/blog/drivetrain-efficiency-cassette-precision) — The physics behind why high-end cassettes demand tighter wear tolerances - [How to Measure Chain Stretch: The 0.5%, 0.75%, and 1% Thresholds Explained](https://www.componentry.app/blog/chain-stretch-measurement-guide): Learn exactly how to measure chain stretch using a chain checker, understand the 0.5%, 0.75%, and 1% wear thresholds, and know which threshold applies to your specific drivetrain. Published: 2026-04-07 | Categories: maintenance, guide | Tags: chain, chain-wear, chain-checker, drivetrain, chain-stretch, maintenance Most cyclists decide to replace their chain based on feel — a sticky shift, an occasional skip, a drivetrain that sounds rougher than it did last month. That instinct is unreliable. Symptoms appear after the damage is already done. Chain wear accumulates invisibly over thousands of kilometres, and the only way to know where your chain stands is to measure it. This chain stretch measurement guide explains exactly how to do that, which numbers to trust, and why the threshold you target depends on the drivetrain you are running. ## What "Chain Stretch" Actually Measures The phrase "chain stretch" is technically inaccurate. Hardened steel links do not stretch. What degrades are the contact interfaces between each pin and the inner plate holes. Every pedal stroke forces these surfaces to articulate under load, removing microscopic amounts of material. After thousands of repetitions, each pin sits fractionally looser in its bore. A 116-link chain contains 116 of those interfaces on each side. A brand-new chain has a pitch of exactly 1/2 inch per link (12.7mm) — 57.5 inches for the full chain, and 12.000 inches across a standard 24-link measurement span. As those interfaces wear, the effective pin-to-pin distance grows. That growth — expressed as a percentage of the original 12-inch reference length — is what chain wear tools measure. At 0.5% wear, a chain has grown approximately 0.06 inches (1.5mm) over that 12-inch span. At 0.75%, growth reaches roughly 0.09 inches (2.3mm). At 1.0%, the chain has elongated by about 0.12 inches (3.1mm) past the reference length. A cassette and chainring are machined to accept a chain with a specific pitch. When the chain grows, it no longer seats correctly in the tooth valleys. Load concentrates on fewer teeth rather than distributing across the tooth profile. The harder steel of the chain grinds down the softer cassette alloys. This is the cascade: one worn chain, left past its threshold, destroys the cassette — a component that costs 5 to 10 times as much. [The Chain-Stretch Domino Effect: How One Worn Chain Destroys a $600 Drivetrain](/blog/chain-stretch-domino-effect) covers the mechanics and economics of this cascade in full. [SILCA's research on chain friction](https://silca.cc/blogs/silca/chain-friction-explained) identifies the articulation between inner plates and pins as one of the primary friction sources in a drivetrain. As those surfaces wear, friction increases and the chain physically elongates — wear and efficiency loss are the same phenomenon measured two different ways. ## The Standard Tool: How Chain Checkers Work A chain checker is a small gauge — typically $10 to $30 — designed to measure chain elongation without a ruler or calipers. The tool has a hook that catches on a chain roller, and a second pin or set of pins that attempts to drop into a link gap further along the chain. If the pin drops fully in, the chain has elongated enough to allow it. If it does not, the chain is within tolerance. The principle follows the same 12-inch reference standard that [Park Tool documents](https://www.parktool.com/en-int/blog/repair-help/when-to-replace-a-chain-on-a-bicycle): measure elongation over a standard pitch span and express it as a percentage of the original length. To use the tool correctly: shift to the middle of the cassette, apply the checker to the lower run (the slack side between the chainring and derailleur pulley), and let it sit under its own weight. Do not press it down — applying force produces a false worn reading. Wipe down the section you are measuring beforehand, since contamination can prevent the tool from seating correctly. ### Go/No-Go vs. Percentage Checkers **Go/no-go tools** give a binary answer: worn or not worn. The Shimano CN-based chain wear indicator has two check points — marked .0 and .75 — corresponding to 0.5% and 0.75% wear. If the .0 pin drops in, the chain is at or past 0.5%. These tools are fast and require no interpretation, but they confirm only whether a threshold has been crossed, not how close you are to it. **Percentage (graduated) checkers** provide a more nuanced reading. The Park Tool CC-3.2 gives readings at both 0.5% and 0.75% using a rocking design that seats at different depths depending on elongation. The CC-4 adds a 0.25% marker for riders who want to track wear progression over time. For most cyclists, the CC-3.2 or equivalent two-point checker is sufficient. The check takes roughly 30 seconds and gives you the information needed to make a replacement decision based on your drivetrain type. ## The 0.5%, 0.75%, and 1.0% Thresholds Three numbers appear repeatedly in chain replacement guidance. Understanding what each represents is essential to making the right call for your drivetrain. **0.5% wear** means the chain has grown roughly 0.06 inches over the 12-inch measurement span. Park Tool specifies 0.5% as the replacement threshold for all 11-speed and 12-speed systems. SRAM reinforces this for 12-speed Eagle drivetrains — their own documentation lists 0.5% as the replacement point. At this level, the chain has elongated enough to begin misaligning with the narrow cog spacing of modern high-speed cassettes, but the cassette itself has not yet sustained meaningful damage. This is the ideal replacement window. **0.75% wear** means the chain has grown approximately 0.09 inches over the same span. Park Tool specifies this as the threshold for 9-speed and 10-speed systems. Wider cogs and looser tolerances in these drivetrains mean the chain can elongate further before causing cassette damage. For 11 and 12-speed systems, 0.75% is a late-stage warning — the window where cassette wear may already be underway. **1.0% wear** represents full elongation across all drivetrain types. At this point, cassette damage is almost certainly already done. A chain reaching 1.0% has been working incorrectly long enough that hook-shaped wear on cassette teeth is likely. Installing a new chain on a cassette worn to this degree typically causes immediate skipping, because the new chain's precise pitch no longer matches the damaged tooth profile. Repair at this stage means replacing both the chain and the cassette, and often the chainrings. [Zero Friction Cycling's testing programme](https://zerofrictioncycling.com.au/chain-longevity/), which covers over 300,000 km of controlled chain wear data, shows that wet and muddy conditions can accelerate wear to the 0.5% threshold in as few as 800 to 1,200 km on a mountain bike, compared to 3,000 to 5,000 km on a dry road bike with quality lubrication. Conditions matter as much as distance when estimating when to check. ### Why Speed Matters: Threshold by Drivetrain The difference in thresholds reflects the physical geometry of each speed range. A 12-speed cassette packs 12 cogs into roughly the same hub flange width as a 9-speed cassette, so cog spacing is tighter. The chain is narrower — approximately 5.1 to 5.5mm across the outer plates for 12-speed, compared to 6.6mm for 9-speed. Narrower chains have less lateral tolerance for misalignment: a 12-speed chain elongated by 0.5% sits noticeably off-centre relative to the tooth valley, while a wider 9-speed chain under the same elongation remains closer to correct seating. That mechanical tolerance gap is why the damage threshold is higher for older speed configurations. DrivetrainReplacement ThresholdSource12-speed (Shimano)0.5%Park Tool / Shimano12-speed (SRAM Eagle)0.5%SRAM11-speed0.5%Park Tool10-speed0.75%Park Tool9-speed and below0.75%Park ToolSingle-speed / fixed1.0%Park Tool ## Step-by-Step: How to Measure Your Chain This process takes approximately 30 seconds. You need a chain checker (Park Tool CC-3.2, CC-4, or equivalent two-point graduated checker) and a clean rag. **Step 1:** Wipe down a section of the lower chain run — the portion between the chainring and the rear derailleur. Grit or lubricant buildup can prevent the tool from seating and produce a false worn reading. **Step 2:** Shift to the middle of the cassette (5th or 6th cog on 11-speed; 6th or 7th on 12-speed) to put the chain in a relatively straight line. **Step 3:** Hook the tool onto the lower chain run. On a Park Tool CC-3.2, the hook end drops onto a roller and the indicator rests on the chain. Hold the tool horizontally under its own weight. Do not push it down. **Step 4:** Read the result. If the 0.5% side drops fully in, the chain is at or beyond 0.5% elongation. Check the 0.75% side if you are running a 9 or 10-speed system. **Step 5:** Record date, chain model, and reading. Under threshold: note when to check next. At or past threshold: schedule replacement. No dedicated checker? A 12-inch steel ruler works as backup. Align the zero mark with the centre of one pin and count forward 24 links. On a new chain, the 24th pin aligns exactly with 12 inches. If the pin sits more than 1/16 inch past that mark, the chain is past a serviceable point. ## How Often Should You Check? The interval depends on your riding conditions, not just your distance. **Every 300 to 500 km** is the standard interval for road cyclists in mixed or dry conditions with a quality lubricant. At typical training volumes, this is roughly once per month for a rider covering 150 to 200 km per week. **After 5 to 8 rides in wet or dirty conditions**, regardless of distance. Mud, grit, and road spray act as abrasive compounds inside the pin-to-plate interfaces. Zero Friction Cycling's testing shows uncontrolled conditions can produce wear rates 2 to 3 times higher than dry conditions over equivalent distance. A chain at 500 km of dry road riding may read fine; the same chain at 500 km of muddy gravel may be near threshold. **Mountain bikers and gravel riders** should default to every 200 to 300 km, with an additional check after any ride involving extended mud, river crossings, or sandy terrain. **After cleaning and relubrication** is a natural check point: the chain is already clean, and the additional 30 seconds costs nothing. ## What to Do When You Hit the Threshold When the chain checker confirms the chain is at or past its replacement threshold, the decision tree is straightforward. **Replace the chain.** For 11 or 12-speed systems, that means at 0.5%. A new chain for common groupsets costs $30 to $50; higher-end chains run $50 to $80. If you caught the chain at the threshold rather than past it, the cassette is almost certainly still serviceable. Install the new chain and confirm it does not skip — immediate skipping on a new chain means the cassette teeth have already worn to match the elongated chain. **Check the cassette.** Run your thumb across the most-used cogs. New teeth have a symmetrical profile. Worn teeth develop a hook shape — a steep ramp on the engagement side and an undercut on the trailing side. Pronounced hooks on more than two or three cogs mean the cassette needs replacement alongside the chain. **If you have run the chain past 0.75% or 1.0%**, the cassette almost certainly needs replacement too. A new chain on badly worn cassette teeth will skip in most gears because the pitch no longer matches the damaged profile. Adjusting cable tension will not fix it. ## How Componentry Automates Chain Wear Tracking The measurement itself is a 30-second task. The harder problem is knowing when to perform it — specifically, how many kilometres are on your current chain. Most cyclists cannot answer that question accurately. They remember installing the chain "around the start of the season" without a specific distance figure. Without knowing how far the chain has travelled, there is no rational basis for deciding when to check — the result is either checking too rarely, or checking constantly out of anxiety. [Componentry](/) solves this by connecting to your Strava, Garmin, or Wahoo account and automatically logging every ride's distance to each registered component. Install a new chain, log it in Componentry, and every ride from that point updates the chain's odometer without any manual input. You configure the replacement threshold for your exact drivetrain: 0.5% for an 11-speed Shimano setup, 0.75% for a 9-speed commuter. Componentry alerts you before the threshold, not after your chain starts skipping, giving you time to order a chain and replace it on your schedule. Multi-bike riders benefit particularly: a road bike, gravel bike, and commuter each accumulate kilometres at different rates. Componentry tracks each bike's chain independently, based on actual ride data from your connected devices. The measurement protocol in this guide does not change. Every 300 to 500 km, you still verify with a physical tool — that 30-second check remains the ground truth. What Componentry removes is the guesswork about when to perform it. The measurement stays manual. The tracking becomes automatic. --- **Stop guessing when to check.** Componentry tracks the distance on every chain across every bike you ride — automatically, by syncing with Strava, Garmin, and Wahoo. Get an alert before your chain hits the replacement threshold, not after the cassette is already scored. [Get started free →](/) --- ## Recommended Videos & Further Reading **Videos:** - [How to Check Chain Wear](https://www.youtube.com/gcntech) — GCN Tech demonstrates the physical measurement process with the Park Tool CC-3.2 and the ruler method - [Chain Wear Tools Compared](https://www.youtube.com/gcntech) — GCN Tech side-by-side of go/no-go tools versus graduated percentage checkers **Reference Sources:** - [Park Tool: When to Replace a Chain on a Bicycle](https://www.parktool.com/en-int/blog/repair-help/when-to-replace-a-chain-on-a-bicycle) — The primary industry reference for wear thresholds, measurement methods, and tool selection - [Zero Friction Cycling: Chain Longevity Testing](https://zerofrictioncycling.com.au/chain-longevity/) — Independent testing data covering wear rates across conditions, lubrication types, and chain brands - [SILCA: Chain Friction Explained](https://silca.cc/blogs/silca/chain-friction-explained) — Technical breakdown of where friction originates in a drivetrain and how chain wear contributes to efficiency loss **Related Componentry Articles:** - [When to Replace Your Bike Chain: The Complete Guide](/blog/when-to-replace-bike-chain) — Broader coverage of replacement timing, drivetrain-specific thresholds, and the real cost difference between proactive and reactive maintenance - [The Chain-Stretch Domino Effect: How One Worn Chain Destroys a $600 Drivetrain](/blog/chain-stretch-domino-effect) — How elongation damage propagates from chain to cassette to chainrings, with cost analysis - [Cassette Lifespan: How Many Kilometres Before You Need to Replace It?](/blog/cassette-lifespan) — The full picture on what determines cassette longevity and when to replace - [How Much Does a Worn Drivetrain Actually Cost? The Full Price of Neglect](https://www.componentry.app/blog/cost-of-worn-drivetrain): A worn chain isn't just a performance problem — it's an expensive cascade. Here's the real cost breakdown of neglecting drivetrain maintenance, from chain to cassette to chainrings, with real component prices. Published: 2026-07-22 | Categories: maintenance, guide, cost-saving | Tags: drivetrain-cost, chain-wear, cassette-replacement, bike-maintenance-cost, drivetrain-neglect, cost-analysis The most expensive component on your bike is the one you are currently neglecting. Not the one that failed spectacularly in a crash, not the one you paid the most for at point of sale — the one that is quietly accumulating damage right now because nobody measured it at the right moment. For most cyclists, that component is the chain. And the chain's neglect cost is unusual in cycling: it is not absorbed by the chain. It is transferred, progressively and invisibly, to the components that are significantly more expensive to replace. This article calculates the full cost of a worn drivetrain — not as a general argument for maintenance, but as a specific, component-level breakdown using real UK prices for mid-range and high-end groupsets. The numbers are not designed to frighten. They are designed to make a clear cost comparison between two approaches: proactive replacement based on wear data, and reactive replacement based on symptoms. ## The Base Case: How the Cascade Works A bicycle drivetrain is an interdependent system. The chain, cassette, and chainrings wear against each other, and the wear on each component accelerates or decelerates based on the condition of the others. A chain at 0.5% wear — the standard replacement threshold for 11-speed and 12-speed systems, per Park Tool — has elongated enough that its pitch no longer perfectly matches the tooth spacing of the cassette. Load that should distribute across multiple teeth begins concentrating on fewer teeth, accelerating cassette wear. At 0.75%, this effect is severe. Beyond 0.75%, the chain is actively destroying cassette material on every pedal stroke. > "Replacing the chain before it wears past the recommended threshold is the most cost-effective drivetrain maintenance action available to the cyclist. The alternative — replacing the cassette (and potentially chainrings) that a worn chain has damaged — costs between five and ten times as much." — [Park Tool: When to Replace a Chain on a Bicycle](https://www.parktool.com/en-int/blog/repair-help/when-to-replace-a-chain-on-a-bicycle) This is the leverage principle of drivetrain maintenance. A £35 chain, replaced correctly, protects a £180 cassette and £120 chainring. The numbers change by groupset tier, but the ratio holds across all of them. ## The Cost Breakdown by Groupset Tier The following costs are approximate UK retail prices as of 2026, using Shimano groupsets as the reference point. SRAM equivalents (Rival, Force, Red) follow a similar tiered structure. ### Entry-Level: Shimano 105 (11-speed) **Proactive maintenance scenario:** - Chain (105 CN-HG601): £25–£35 - Replacement interval: 2,500–3,500 km with consistent lubrication - Annual chain cost (assume 8,000 km/year): £55–£110 (two to three chains) - Cassette (105 CS-R7000, 11-speed): £45–£65 - Cassette replacement interval (three to four chains): every 7,500–14,000 km - Chainring set: £80–£120, typically outlasts two to three cassettes **Annual proactive maintenance cost (chains): £55–£110** **Three-year total cost (chains + one cassette): £220–£390** **Reactive maintenance scenario (replace when worn beyond 0.75%):** The 105 cassette uses aluminium alloy on the smaller sprockets. Zero Friction Cycling's wear testing data shows that aluminium cassettes run with chains allowed to reach 0.75% wear experience significantly accelerated wear, with lifespan dropping from 10,000–15,000 km to 3,000–5,000 km in typical conditions. - Chain at point of forced replacement (0.75%+): £35 - Cassette (required replacement due to damage): £55 - Chain + cassette replacement: £90 per event - Frequency: every 3,000–4,000 km of neglected riding - Annual cost at 8,000 km/year: £180–£240 (chain + cassette, two to three times) - Chainrings (damaged by worn chain): £100–£120 every two to three years **Annual reactive maintenance cost: £180–£240** **Three-year total cost (chains + cassettes + chainrings): £650–£880** The cost multiplier of reactive versus proactive maintenance at this tier: **2.5 to 3x**. --- ### Mid-Range: Shimano Ultegra (11-speed) **Proactive maintenance scenario:** - Chain (Ultegra CN-HG701): £35–£45 - Cassette (Ultegra CS-R8000): £90–£130 - Cassette interval: 15,000–20,000 km (steel small sprockets) - Annual chain cost (8,000 km/year): £70–£135 (two to three chains) - Cassette replacement: once every two years at this volume **Annual proactive maintenance cost (chains): £70–£135** **Three-year total cost (chains + one cassette): £320–£535** **Reactive maintenance scenario:** Ultegra's steel small sprockets are more wear-resistant than 105 aluminium, but the damage mechanism is the same. A worn chain concentrating load on tooth tips will eventually deteriorate even hardened steel. The lifespan advantage of Ultegra over 105 vanishes under poor chain maintenance — a cassette that should last 18,000 km with correct chain replacement may fail at 6,000–8,000 km when chains are allowed to wear past threshold. - Chain + cassette replacement event: £130–£175 - Frequency at poor maintenance: every 6,000–8,000 km - Annual cost: £130–£230 (one to two events per year) - Chainrings (Ultegra pair): £130–£160, needed every two years at accelerated rate **Three-year total cost (reactive): £570–£890** **Cost multiplier versus proactive: 1.5 to 1.7x** Note: the ratio is lower at this tier because Ultegra's steel cassette is more durable per unit cost. But the absolute savings from proactive maintenance — £250–£350 over three years — are larger because the components are more expensive. --- ### High-End: Shimano Dura-Ace (12-speed, R9200) **Proactive maintenance scenario:** - Chain (Dura-Ace CN-M9100 compatible): £50–£70 - Cassette (Dura-Ace CS-R9200, 12-speed): £280–£380 - Cassette interval: 20,000–30,000 km with disciplined chain replacement - Annual chain cost (8,000 km/year): £100–£210 - Cassette: £280–£380, once every three to four years **Annual proactive maintenance cost: £100–£210** **Three-year total cost (chains + one cassette): £600–£1,010** **Reactive maintenance scenario:** Dura-Ace R9200 uses titanium and hardened steel sprockets. The material quality is exceptional. But at £300+ for a cassette, the consequence of premature failure is proportionally severe. With chains allowed to reach 0.75% wear, the cassette lifespan drops toward 6,000–10,000 km — the same range as much cheaper cassettes in poor conditions. At this riding volume, that means cassette replacement every one to one and a half years instead of every three to four. - Annual chain cost (reactive, same as proactive since chains are still replaced): £100–£210 - Cassette at reactive failure interval (every 15 months at 8,000 km/year): £300–£380 per event - Annual cassette cost (amortised): £240–£305 - Chainrings (Dura-Ace): £200–£280, replaced more frequently at reactive rate **Three-year total cost (reactive): £1,620–£2,340** **Cost multiplier versus proactive: 2.5 to 2.8x** At this tier, the financial case for proactive maintenance is strongest because the cost per event is highest and the ratio of cassette cost to chain cost is most extreme. --- ## Hidden Costs That Don't Appear in the Component Bill ### Labour Most cyclists either do their own maintenance or use a local bike shop for service work. When a cassette and chainrings need simultaneous replacement — the reactive scenario — labour charges apply to the full job, not just the chain. A typical LBS in the UK charges £30–£60 for a drivetrain service that includes chain, cassette, and chainring replacement. Multiply this over the additional replacement events the reactive scenario generates, and labour adds £100–£200 to the three-year cost differential at mid-range groupset tier. ### Missed Rides A worn drivetrain that skips under load is not a malfunctioning drivetrain that can still be ridden. Skipping under load during a sprint or a climb is a sudden and hazardous failure mode. When a chain begins to skip, the bike needs to come off the road until the drivetrain is serviced. The cost of a missed sportive entry — typically £30–£80 for a UK event — plus the travel and logistics of a trip built around a ride that cannot happen adds costs that are not captured in component pricing. ### Reduced Resale Value A bike with a documented maintenance history — chains replaced at correct intervals, cassettes changed before damage, service records kept — commands a measurable premium on the second-hand market. A bike with an unserviced drivetrain, visibly worn cassette teeth, and no maintenance records will either sit unsold or sell at a significant discount. [As our resale value analysis shows](/blog/bike-service-history-resale-value), documented maintenance history can make a £500 to £1,000 difference on a mid-to-high-end bike sale. This is not theoretical. It is the price delta that buyers apply when evaluating the risk of inheriting a bike with unknown maintenance history. ## The Chain Replacement Calculus The decision that determines which scenario you end up in is simple: replace the chain when it reaches the wear threshold, not when it starts skipping. Park Tool's CC-3.2 or CC-4 chain checker confirms wear in under 60 seconds. At 0.5% wear for 11-speed or 12-speed systems (0.75% for 10-speed and below), the chain should be replaced regardless of whether the drivetrain feels fine. It will feel fine until the cassette damage is done. The replacement frequency varies by riding conditions: - **Dry road/gravel, quality lubricant:** 3,000–4,500 km - **Mixed wet/dry conditions:** 2,000–3,000 km - **Consistently wet or off-road:** 1,500–2,500 km - **Indoor trainer use:** 3,000–4,000 km (higher tension, heat) These ranges align with [ZFC's independent testing](https://zerofrictioncycling.com.au/chain-longevity/) across different lubricant types and riding conditions. The cleaner and drier the conditions, and the better the lubricant, the longer the chain lasts — but these ranges give a realistic planning baseline for each bike in your stable. ## Calculating Your Three-Year Cost To calculate your own cost comparison: - Identify your groupset tier (entry, mid, high-end) - Estimate your annual riding distance - From the distance and conditions, calculate chain replacements per year - Compare chain-only annual cost against chain + cassette replacement at the reactive interval For most mid-range cyclists riding 6,000–10,000 km per year on Ultegra or equivalent, the three-year saving from proactive chain replacement is £300–£500. At Dura-Ace or SRAM Red, that saving can exceed £1,000. The chain is the cheapest regular maintenance item in the drivetrain. It is the most important. ## How Componentry Tracks Drivetrain Wear [Componentry](/) tracks chain distance from installation automatically. Every ride synced from Strava, Garmin, or Wahoo updates the counter for each component on the correct bike. You set the alert threshold — 2,500 km for an Ultegra chain ridden in mixed conditions, 1,800 km for a gravel bike chain in wet autumn conditions — and receive a notification when the chain approaches that threshold. The cassette counter tracks parallel to the chain. When you replace a chain, the cassette continues accumulating. After three or four chain replacements, the cassette counter shows the accumulated distance and flags when the cassette is approaching its service life. The goal is not to eliminate drivetrain maintenance. It is to do it at the right time — when it is cheap, before the cascade begins. ## Further Reading - [The Chain-Stretch Domino Effect: How One Worn Chain Destroys a £600 Drivetrain](/blog/chain-stretch-domino-effect) — The mechanics of how chain wear transfers to cassette damage - [The Friction Tax: How a Worn Chain Costs You 5–10 Watts](/blog/friction-tax-chain-wear) — The performance cost of a worn drivetrain, quantified in watts - [Cassette Lifespan: How Many Kilometres Before You Need to Replace It?](/blog/cassette-lifespan) — Material tier, speed count, and riding conditions — the variables that determine cassette life - [Your Service History Is Your Resale Value](/blog/bike-service-history-resale-value) — How documented maintenance history protects the financial value of your bike - [Zero Friction Cycling: Chain Longevity Testing](https://zerofrictioncycling.com.au/chain-longevity/) — Independent wear data across conditions and lubricant types - [Park Tool: When to Replace a Chain](https://www.parktool.com/en-int/blog/repair-help/when-to-replace-a-chain-on-a-bicycle) — Industry-standard chain wear thresholds by drivetrain speed - [Electronic Shifting Battery Tracking: Know Exactly When Your Di2 or AXS Will Die](https://www.componentry.app/blog/di2-axs-battery-tracking): Electronic shifting batteries fail without warning. Learn how to predict Di2 and AXS battery life for any upcoming ride, and how automated tracking eliminates the anxiety across multiple bikes. Published: 2026-07-04 | Categories: maintenance, electronic-shifting | Tags: Di2, AXS, battery-tracking, electronic-shifting, Shimano, SRAM, multi-bike, component-tracking You have a 160-kilometre sportive on Sunday. Your Di2 battery was last charged after your Tuesday evening ride. The junction box LED shows green, which means anything from 51% to 99% charged. The question you actually need answered — will this battery last Sunday's ride? — is one that a junction box LED cannot answer. This is the fundamental problem with electronic shifting battery management. The hardware is superb. The failure mode is rare. But when it happens, it happens without any of the gradual warning signs that mechanical systems provide. The chain skips before it snaps. The cable shifts poorly before it breaks. The Di2 or AXS battery shifts perfectly until it doesn't shift at all. Tracking solves this problem. Not checking the app before every ride, but genuine tracking: knowing how many kilometres your battery has covered since its last charge, comparing that against your personal consumption rate, and getting an alert before you reach the window where failure becomes possible. ## Why Battery Life Estimates Are Ranges, Not Numbers Shimano specifies the BT-DN300 battery (used in current Ultegra R8100 and Dura-Ace R9200) at 1,000 to 2,000 kilometres per charge. SRAM specifies AXS rear derailleur batteries at approximately 1,500 to 2,500 kilometres depending on ride conditions. These ranges are not hedged marketing copy. They reflect real variation driven by measurable factors: **Shifting frequency.** Every actuation draws current. A criterium racer averaging a shift every 20 seconds depletes their battery at two to three times the rate of an endurance rider on a steady climb. According to Shimano's TEC documentation, shift frequency is the primary variable determining where any rider falls within the 1,000–2,000 km range. A rider doing weekly crits may sit firmly at the 1,000 km end. A sportive rider doing long steady efforts may see 1,800+ km per charge. **Temperature.** Lithium-ion cells lose capacity in cold. A battery delivering 1,500 km of range at 20°C may deliver 1,100 km at 5°C. Early spring riding and winter base blocks push riders toward the lower end of the manufacturer range, sometimes significantly. **Firmware state.** Shimano Di2 firmware updates have measurably changed battery consumption in multiple generations. An unupdated system may be using 10–15% more power per shift than the current firmware version allows. **Multi-component systems.** AXS adds complexity: rear derailleur, front derailleur, and blip boxes are separate batteries with separate depletion rates. The SRAM AXS app shows each component independently — rear derailleur percentage, front derailleur percentage, blip boxes — because they do not discharge at the same rate. The front derailleur, moving a more complex mechanism through greater travel, typically depletes faster. Understanding this range matters because it means a "green LED" or "68% in the app" tells you your current charge, not your remaining range. Converting charge percentage to range requires knowing your personal consumption rate for your riding style. ## Calculating Your Personal Consumption Rate The mathematics are straightforward, but most riders never run them. Your personal consumption rate is: **Kilometres per charge = your typical range per full charge cycle** If you charged fully in October, rode through November at your normal mix of training rides and group rides, and reached low battery in December, your log would tell you exactly how many kilometres that charge lasted. That is your personal consumption rate. In practice, most riders do not have this data because they charge opportunistically rather than tracking charge cycles. The result is a persistent uncertainty: you know the manufacturer's range, but not your range. A useful proxy: review your recent ride data and estimate your average shifting intensity. Primarily solo endurance riding on varied terrain maps toward the upper end of the manufacturer's range. Primarily group riding, criteriums, or technical terrain with frequent cadence and gear changes maps toward the lower end. A rough starting point: - Conservative endurance riders: 1,600–2,000 km per charge (BT-DN300), 2,000–2,500 km (AXS) - Mixed training and group riding: 1,200–1,600 km per charge - High-frequency racing and criterium use: 900–1,200 km per charge These are starting estimates. Your actual data, tracked over two or three charge cycles, will be more accurate than any published figure. ## The Multi-Bike Problem Single-bike riders can manage battery tracking with reasonable attentiveness. Multi-bike households cannot. A typical road-plus-gravel setup means two separate Di2 or AXS systems, each ridden at different frequencies, in different conditions, with different shifting patterns. A race bike used for weekly intervals and Saturday crits has a fundamentally different depletion profile from a gravel bike used for two-hour adventure rides on Sunday mornings. Tracking these separately in your head is not reliable. Tracking them with the same "charge every Sunday evening" rule means over-charging the light-use bike and potentially under-charging the heavy-use one. The problem compounds with seasonal bikes. A summer race bike may sit from October through March. A Di2 battery left without a maintenance charge during this period faces self-discharge that can damage cells if they reach critically low states. Shimano recommends charging stored bikes every three to six months. In practice, the winter bike gets pulled out in March, the battery is dead, and the cause-and-effect connection between storage management and battery longevity is never made. SRAM AXS provides somewhat better tooling for multi-bike households: the hot-swappable battery design means a spare battery in a jersey pocket is a viable solution for long rides, and the app shows each component's percentage independently. But across multiple bikes in the AXS ecosystem, you are still managing several separate sets of component batteries without a unified view of which bike is approaching its charge threshold. ## What Automated Tracking Changes The difference between manual management and automated tracking is the difference between checking your battery state when you think of it and being notified when your battery reaches the threshold you care about. [Componentry](/) connects to your Strava, Garmin, or Wahoo account. Every ride automatically increments a usage counter for the battery component on the bike you rode. You set the alert threshold: "notify me when this bike's Di2 battery reaches 300 km remaining before my personal low threshold." When the counter crosses that threshold, you receive the notification. This matters most in three scenarios: **The surprise ride.** You are offered a last-minute 120 km group ride. Without tracking, you are calculating in your head: when did I last charge, how many rides since then, how far were they? With tracking, you open Componentry and see the current km count since last charge against your personal threshold. The answer is immediate. **The event build-up.** In the weeks before a race or gran fondo, you may be riding more than usual. Battery depletion accelerates without the pattern change registering consciously. A fixed threshold alert catches this regardless of how your ride frequency changes. **The seasonal bike.** A dormancy alert — "this bike has not been ridden in 90 days" — prompts the storage maintenance charge before deep discharge can occur. The battery does not get neglected because it is not showing up in your regular riding pattern. ## Setting Up Battery Tracking in Componentry The setup requires one configuration step per battery component, done once: - Add your bike to Componentry and connect your activity source (Strava, Garmin, or Wahoo). - Add each electronic battery as a component: rear derailleur battery, front derailleur battery (if applicable), blip boxes. - Set the tracking unit to kilometres (or miles) and the alert threshold based on your personal consumption estimate. - When you charge a battery, mark it as serviced in Componentry to reset the counter. From that point, each ride auto-syncs and updates the counter for the correct bike. The threshold alert fires when the accumulated distance approaches your set limit. You charge, mark the service, the counter resets. For AXS users with multiple component batteries: track each separately with individual thresholds. Your front derailleur battery will typically need more frequent charges than your rear. If you are running a dropper post or AXS power meter on the same bike, those can be tracked independently as well. For Di2 users with multiple bikes: each bike has its own battery component. The criterium race bike and the endurance road bike are tracked with different thresholds that reflect their different depletion rates. You are not applying a one-size-fits-all rule to components with fundamentally different usage profiles. ## Before the Season Starts May is the month when many cyclists step up their volume — longer rides, more frequent events, group rides resuming after winter. This is also when batteries get tested against distances that the low-season ride frequency did not require. Before the first big ride of the season, verify two things beyond just checking that the battery shows full charge: **When was it last fully cycled?** A battery that sat at partial charge through winter may show 80% on the indicator but have reduced effective capacity from cell degradation. Running a complete charge-then-discharge cycle reveals the actual usable range. **Is firmware current?** Check E-TUBE Project (Di2) or the AXS app for pending firmware updates before a major event. Battery management improvements in firmware updates are real, and applying them before a high-mileage event is straightforward insurance. The tracking setup that catches a low battery before a ride is worth the five minutes of initial configuration. Once it is running, you do not think about it — you just receive the alert when it matters. ## Further Reading **Manufacturer documentation:** - [Shimano E-TUBE Project](https://www.shimano.com/en/products/e-tube.html) — Di2 battery status, firmware updates, component configuration - [SRAM AXS App](https://www.sram.com/en/sram/technologies/axs) — Per-component battery percentages and system management - [Shimano TEC Service Manuals](https://si.shimano.com/) — Technical specifications for all Di2 generations **Componentry resources:** - [Di2 Battery Life Tips](/blog/di2-battery-life-tips) — Manufacturer specifications, cold weather effects, and practical management techniques - [The Multi-Bike Problem: Tracking Maintenance Across Your Entire Stable](/blog/tracking-maintenance-multiple-bikes) — How to manage component health across road, gravel, and indoor bikes - [Chain Maintenance Guide](/blog/chain-maintenance-guide) — How automated tracking applies to mechanical components - [Di2 Battery Life: How to Track, Extend, and Never Get Caught Dead on a Climb](https://www.componentry.app/blog/di2-battery-life-tips): Electronic shifting battery failures happen at the worst moments. Learn Di2 and AXS battery life expectations, charging practices, and how to track battery health across multiple bikes. Published: 2026-06-28 | Categories: maintenance, electronic-shifting | Tags: Di2, AXS, battery-life, electronic-shifting, Shimano, SRAM, component-tracking The shift felt smooth. Then it stopped responding. The lever clicked, the derailleur didn't move, and somewhere on the back half of a four-hour ride, the electronic shifting battery had simply run out. This is the distinctive failure mode of electronic groupsets — quiet, sudden, and timed perfectly for maximum inconvenience. Unlike a broken cable, there is no warning rattle. Unlike a worn chain, there is no audible degradation. The Di2 or AXS battery dies, and you are suddenly limited to whatever gear you happened to be in when the power ran out. For most riders, Di2 battery life tips start and end with "remember to charge it." But the actual management of electronic shifting batteries across multiple bikes, across seasons, and across the variable discharge rates that different riding styles create requires a more systematic approach. This guide covers what the manufacturer specifications actually say, how ride conditions change battery behavior, and how to track Di2 battery life in a way that makes dead-battery failures a thing of the past. ## Shimano Di2 Battery Specifications Shimano Di2 systems have used several battery configurations across generations. The most widely installed current system is the BT-DN300 internal battery, introduced with Ultegra R8100 and Dura-Ace R9200. The BT-DN300 provides approximately 1,000 to 2,000 kilometers of riding per charge in normal conditions according to Shimano's technical documentation. This is a deliberately wide range that reflects the real variation in discharge rate. The older EW-WU111 battery used in Di2 systems through the R8050/R9150 generation has a smaller capacity and typically delivers 500 to 1,000 kilometers per charge. Di2 battery charge is displayed through the Shimano E-TUBE Project app and via the junction box LED indicators: - **Green:** Above 50% charge - **Flashing green:** 25% to 50% - **Red:** Below 25%, charge soon - **Flashing red:** Critical, charge immediately The LED indicators are functional but coarse. Green means "fine" across a range that includes 51% and 99%. Without checking the E-TUBE app, you cannot distinguish "just charged" from "charged two rides ago." This matters more than it sounds when you are planning a long ride or a race week with multiple consecutive days of riding. ## SRAM AXS Battery Specifications SRAM's AXS platform uses a shared battery architecture across Red, Force, and Rival groupsets. The AXS battery is hot-swappable — it can be swapped between compatible components during a ride, and spare batteries are small enough to carry in a jersey pocket. SRAM specifies approximately 60 hours of operation per charge for the AXS battery in the rear derailleur, which translates to roughly 1,500 to 2,500 kilometers depending on pace and shifting frequency. The front derailleur battery typically delivers around 30 to 40 hours per charge due to its higher power demands from operating the more complex mechanism. The SRAM AXS app displays battery percentage for each component independently. Unlike Di2's LED system, AXS gives you precise percentage readings for rear derailleur, front derailleur, blip boxes, and any connected AXS components (dropper post, power meter) simultaneously. This granularity is genuinely useful — you can see that the rear derailleur is at 68% but the front is at 31% and plan your charge schedule accordingly. Critical threshold for AXS: SRAM recommends charging before reaching 20%. Below this level, the system may enter power-saving mode that reduces shift responsiveness. ## The Variables That Kill Your Battery Faster Than Expected Both Shimano and SRAM publish battery life figures for "normal conditions." Understanding what moves you outside normal conditions is the key to avoiding premature depletion. ### Cold Weather Battery chemistry degrades performance in cold. Lithium-ion batteries, which power all current Di2 and AXS systems, lose capacity at temperatures below 10°C and perform measurably worse below 5°C. A battery that delivers 1,500 kilometers in summer may deliver only 1,000 to 1,100 kilometers in winter riding at sub-10°C temperatures. This matters for training camps, early season racing, and winter base-building. The same battery state-of-charge that got you through a full week of July riding may not last a February training block. Cold-weather riders should charge more frequently — not because the battery is damaged, but because available capacity is temporarily reduced. ### Shifting Frequency Every shift draws current. A flat criterium involving constant speed changes consumes battery far faster than a steady alpine climb where shifting is minimal. SRAM estimates that a rider who averages one shift every 30 seconds (aggressive criterium pacing) will deplete an AXS battery in roughly half the estimated hours compared to a rider averaging one shift per three minutes (long steady endurance riding). For Di2 systems, Shimano TEC documentation notes that higher shift frequency is the primary variable determining which end of the 1,000–2,000km range a rider experiences. Racers who shift frequently during sprints, group rides, and criteriums sit at the lower end. Sportive riders and endurance athletes sit at the upper end. ### Multi-Bike Setups and Seasonal Bikes Multi-bike households face a specific problem: battery self-discharge during storage. A Di2 battery left uncharged for three to six months (the typical indoor trainer season for a summer road bike) will self-discharge to a level that may damage the cells. Shimano recommends charging stored bikes every three to six months to maintain battery health. AXS batteries are designed for longer storage tolerance but still benefit from a half-charge maintenance cycle every few months. SRAM recommends storing batteries at 40–60% charge — not full and not empty — for long-term cell health. The practical problem: "every three to six months" is the kind of instruction that is easy to acknowledge and impossible to remember. Without a tracking system, the seasonal bike gets pulled out of storage in March with a dead or degraded battery, requiring a full charge before the first ride of the year — and potentially a battery replacement if deep discharge has occurred repeatedly. ### Firmware and Software Updates Shimano and SRAM occasionally release firmware updates that affect battery efficiency. The Di2 R9200/R8100 generation received firmware updates that improved shift efficiency and extended battery life by 10–15% in some user reports. AXS firmware updates have similarly affected battery management algorithms. Check the E-TUBE Project and SRAM AXS app for firmware updates at each service interval. Battery life improvements through software are the rarest form of free upgrade in cycling. ## Why Electronic Shifting Doesn't Fail Like Mechanical Systems Understanding the Di2 and AXS battery failure mode helps explain why tracking matters differently than for mechanical shifting. Mechanical cable-actuated shifting degrades gradually. Stretched cables, worn housing, and dirty pivots produce progressive deterioration in shift quality. The rider notices increasing shift time, missed shifts, and ultimately derailment — a warning gradient that prompts investigation. Electronic shifting does not degrade gradually in normal use. The derailleur motor moves the same distance at the same speed whether the battery is at 80% or 20%. Shifting performance remains consistent until the battery crosses the minimum threshold, at which point function stops abruptly. This means the feedback loop that mechanical riders rely on does not exist for electronic shifting. There is no "getting worse" phase that triggers a service check. There is only "working" and "not working," separated by a battery threshold that the rider cannot feel. For riders accustomed to mechanical systems, this requires a mental model shift. You are not maintaining a system that shows degradation — you are managing a consumable that must be tracked proactively because it will not announce its depletion in advance. ## Practical Battery Management for Electronic Drivetrains ### Establish a Charge Cadence The simplest and most reliable approach is charging after every two to three rides for riders using Di2 systems, and monitoring AXS battery percentage via the app before each ride. This is conservative — most batteries can last longer — but it keeps you well above critical thresholds. For high-frequency riders (five or more rides per week), weekly charging is sufficient for both Di2 and AXS systems in normal conditions. ### Check Charge Before Events Before any event, century ride, or multi-day tour, check battery status explicitly. This means opening E-TUBE Project or SRAM AXS, not glancing at the junction box LED. A confirmed charge status 48 to 72 hours before a major ride gives time for a charge cycle and any troubleshooting if the system shows an unexpected state. For multi-day events and stage races, carry a charging cable. Di2 and AXS batteries can be charged overnight in any accommodation with a USB-C outlet (recent Di2 generations) or the appropriate adapter. A fully charged battery at the start of each stage is standard professional mechanic protocol — and appropriate for any serious amateur stage event. ### Rotate Batteries for AXS Users The hot-swappable AXS architecture makes battery rotation practical for high-volume riders. Carry one spare AXS battery per long ride. After the ride, charge both batteries and note which one went into each component. Over time, this reveals if any battery is showing reduced capacity relative to its charge cycles — an early indicator of degradation. ### Monitor Battery Health Over Time Di2 and AXS batteries have finite charge cycles, though the limits are generous. Shimano rates the BT-DN300 for approximately 300 full charge cycles before notable capacity reduction. At one charge per week, that is roughly six years of weekly charging — beyond the upgrade cycle of most performance components. Real degradation typically appears as consistently shorter range between charges: the battery that previously lasted 1,500km reliably now reliably delivers 1,100km. This is a meaningful signal that a replacement battery may extend another season's riding. The E-TUBE app provides battery health information that makes this visible without requiring estimation. ## Tracking Di2 Battery Life Across Multiple Bikes The challenge for multi-bike households is straightforward: different bikes are ridden at different frequencies, in different conditions, and with different shifting patterns. A race bike used for Saturday crits and weekly interval sessions depletes its battery faster than a gravel bike used for two-hour weekend adventures. Tracking the charge status of four or five different electronic drivetrains in your head is not reliable. [Componentry](/) tracks each component independently per bike, including batteries. Connect your Strava, Garmin, or Wahoo account once, and every ride automatically updates the usage counter for the battery on the relevant bike. You configure the alert threshold: charge reminder at 400km for your criterium race bike, and 800km for your endurance road bike. When either bike crosses the threshold, Componentry sends an alert before the critical window closes. No spreadsheet. No mental calendar. No discovering a dead battery on the start line. For seasonal bikes, Componentry handles storage tracking as well. A configured dormancy alert — "this bike hasn't been ridden in 90 days" — prompts the maintenance check and charge cycle that protects battery health during off-season storage. The bike does not get neglected until spring because it is not showing up in your regular maintenance routine. ## Extending Battery Life: The Practical Checklist Several habits extend effective battery service life without requiring new hardware: **Optimize shift behavior:** In sprints and group riding, use MultiShift (Di2) sparingly. Double-shifts consume more current than single shifts. When possible, shift before the sprint rather than during it. **Trim the front derailleur:** Most Di2 front derailleurs can be adjusted via E-TUBE to reduce their total travel. Smaller motor movement equals less current per shift. Have a Shimano service center or a Di2-competent mechanic check front derailleur adjustment if you suspect inefficient operation. **Keep firmware updated:** Battery management algorithms improve through firmware. A five-minute update via E-TUBE or AXS apps may recover measurable capacity. **Avoid full discharge:** Deep-discharging lithium batteries below their minimum threshold damages cells over time. Prevent low-battery states before they become zero-battery failures. This is the core argument for proactive tracking rather than reactive charging. **Store batteries at partial charge:** For bikes going into storage, 50% charge rather than full or empty preserves cell chemistry. A brief ride before storing — to bring a full battery down to around 50% — is better for long-term battery health than storing fully charged. ## How Componentry Fits Into Your Electronic Shifting Routine Battery management for electronic drivetrains is fundamentally an information problem. The hardware is reliable. The failure mode is predictable. What is missing is a system that converts ride data into timely alerts that prevent the failure before it happens. [Componentry](/) is that system. Every ride synced from Strava, Garmin, or Wahoo increments the usage counter on your Di2 or AXS battery. Custom alert thresholds per bike ensure your criterium race bike's aggressive depletion profile and your gravel bike's conservative usage profile are tracked independently. When the threshold is approaching, you know. For the multi-bike household — the road bike, the gravel bike, the trainer bike with Di2, the second road build — Componentry gives you a single dashboard where the charge status and service history of every electronic component is visible at once. No mental overhead. No missed alerts. No dead battery on a climb. ## Recommended Videos & Further Reading **Official Documentation:** - [Shimano E-TUBE Project App](https://www.shimano.com/en/products/e-tube.html) — Battery status monitoring, firmware updates, Di2 configuration - [SRAM AXS App](https://www.sram.com/en/sram/technologies/axs) — Per-component battery percentages, firmware, and connectivity - [Shimano TEC: Di2 Service Manual](https://si.shimano.com/) — Full technical specifications for all Di2 generations **Guides and Video:** - [GCN Tech: Di2 Battery Setup and Care](https://www.youtube.com/gcntech) — Practical guide to E-TUBE configuration and charging schedules - [Park Tool: Electronic Shifting Overview](https://www.parktool.com/en-us/blog/repair-help/electronic-shifting-systems) — System-level understanding of Di2 and AXS architecture **Componentry Resources:** - [When to Replace Your Bike Chain: The Complete Guide](/blog/when-to-replace-bike-chain) — Wear threshold methodology for all components - [Ceramic Bearing Longevity: Tracking the Hidden Wear of OSPW Systems](/blog/ceramic-bearing-ospw-longevity) — How invisible degradation affects performance components - [Aero Efficiency: Why Clean Components Are Faster](/blog/aero-efficiency-clean-components) — The full picture of how maintenance protects performance - [Beyond the Spreadsheet: Why Your High-Performance Bicycle Needs a Digital Twin](https://www.componentry.app/blog/digital-twin-bicycle-maintenance): Discover how Digital Twin technology transforms bicycle maintenance from reactive to predictive, using real-time telemetry to track drivetrain wear and prevent costly component failures. Published: 2026-01-08 | Categories: technology, maintenance | Tags: digital-twin, predictive-maintenance, drivetrain, wear-tracking, performance The traditional approach to bicycle maintenance is reactive. Most riders wait for an audible cue or a missed shift before investigating their drivetrain. For the owner of any bike, this delay is more than a nuisance; it is an active degradation of a significant financial investment. Componentry introduces the concept of the Digital Twin to eliminate this uncertainty. A Digital Twin is a high fidelity virtual model of your physical bicycle that tracks every watt and every rotation to predict wear before it compromises performance. ## The Science of Predictive Modelling Drivetrain wear is not a linear process. Factors such as torque loads, environmental contamination, and lubrication efficiency create a variable rate of elongation in the chain. According to [a technical analysis by SILCA](https://silca.cc/blogs/silca/chain-friction-explained), the interaction between the inner plates and rollers is the primary source of friction and wear. As these surfaces interface under load, the microscopic peaks and valleys of the steel begin to shear. This process accelerates once the initial factory treatment is depleted. By creating a Digital Twin, Componentry accounts for these variables using real time telemetry to provide a precise status of your mechanical integrity. ## Preventing the Component Domino Effect A neglected chain does not fail in isolation. As a chain elongates, it no longer sits correctly in the teeth of the cassette and chainrings. This misalignment forces the harder steel of the chain to ground down the softer alloys of the expensive cassette. Replacing a chain at the correct interval—typically at 0.5 percent elongation for 11 and 12 speed systems—can extend the life of a cassette by three to four times. The Componentry platform acts as an early warning system, ensuring you replace a relatively inexpensive consumable before it destroys your high value hardware. ## How Componentry Fits Into Your Care Routine Componentry integrates directly with your [Strava](https://www.strava.com), [Wahoo](https://wahoofitness.com) and [Garmin](https://www.garmin.com/) account to pull precise mileage and elevation data. Once you have logged your components, the app applies predictive algorithms to calculate the remaining lifespan of each part. You should consult your dashboard after every major block of training. When a component enters the yellow or red zone, the app provides a proactive alert. This allows you to schedule service or order parts in advance, ensuring your bike is always in a race ready state without the need for manual spreadsheets or guesswork. ## Recommended Videos & Further Reading For a deeper understanding of the mechanics of wear and the financial benefits of proactive maintenance, consult these validated resources. [Chain Friction Explained](https://silca.cc/blogs/silca/chain-friction-explained) A technical deep dive from SILCA into how friction occurs and why precision lubrication is the most important factor in component longevity. [When to Replace a Chain on a Bicycle](https://www.parktool.com/en-int/blog/repair-help/when-to-replace-a-chain-on-a-bicycle) The definitive guide from Park Tool on how to measure chain wear and the specific percentages that dictate a replacement. [How To Save Money On Bike Maintenance](https://youtu.be/Mr3CTOdmny4?si=Tjg-emw4ODXowt1f) A video from GCN explaining how simple, data driven maintenance routines prevent catastrophic and expensive failures. - [Drivetrain Efficiency: Why Your $1,000 Cassette Requires 0.5% Precision](https://www.componentry.app/blog/drivetrain-efficiency-cassette-precision): Premium cassettes demand stricter chain maintenance. Learn why 0.5% wear is the breaking point for 11-12 speed systems and how precision tracking saves $740 over 15,000 km. Published: 2026-01-19 | Categories: performance, maintenance | Tags: cassette, chain-wear, drivetrain, precision, premium-components The paradox of premium components: your $1,000 Dura-Ace cassette requires more precise maintenance than a $75 Tiagra. The engineering that shaves 80 grams and adds crispness to every shift also makes these components more vulnerable to wear. A chain that stretches to 0.6% will destroy titanium sprockets in a fraction of the time it takes to damage hardened steel. This is not marketing hyperbole. This is materials science. Premium cassettes use lighter alloys and titanium to reduce rotational weight. These softer materials wear faster when subjected to the point loads of an elongated chain. By the time you notice symptoms (rough shifting, chain skip under load), the damage has already occurred. The threshold is specific and unforgiving: 0.5% for 11-speed and 12-speed systems. Not 0.6%. Not 0.75%. At 0.5%, the chain has elongated enough to begin misaligning with cassette teeth. Beyond that point, every pedal stroke accelerates exponential wear. This post examines why premium cassettes demand this precision, what happens when you exceed the threshold, and why proactive tracking is the only economically rational approach. ## The Material Science of Premium Cassettes Premium groupsets optimize for weight and efficiency. Shimano Dura-Ace cassettes use titanium on the larger sprockets. SRAM Red AXS XG-1290 cassettes employ a combination of hardened steel and lighter alloys across the cluster. These material choices reduce weight by 80 to 100 grams compared to mid-tier equivalents. The trade-off is hardness. Chain steel is hardened to 50-55 HRC (Rockwell hardness). Premium cassette materials range from 35-45 HRC depending on the sprocket. This differential is intentional. Cassettes are designed to wear at a predictable rate under normal conditions. But those normal conditions assume a chain that maintains proper pitch and alignment. When a chain elongates beyond 0.5%, it no longer seats correctly in the tooth valleys. The hardened steel pins begin grinding the softer cassette alloys at an angle. This point-load stress concentrates force on individual teeth rather than distributing it across multiple engagement points. SRAM's technical service documentation describes this failure mode: > "Chain elongation beyond manufacturer-specified thresholds results in accelerated wear to cassette sprockets, particularly on titanium and aluminum components where material hardness is optimized for weight reduction rather than wear resistance." [SRAM Technical Service](https://www.sram.com/en/service) The physics are straightforward. A chain at 0.5% wear has elongated by approximately 0.06 inches over 12 inches of length. That sounds trivial. But distributed across 116 links, it means each link is slightly out of position relative to the cassette tooth pitch. The misalignment increases contact stress and introduces lateral forces that the cassette was not designed to handle. Shimano's technical documentation for Dura-Ace components specifies similar tolerances: > "For optimal drivetrain performance and component longevity, replace chains at 0.5% elongation when using 11-speed or 12-speed systems. Exceeding this threshold will result in accelerated wear to cassette sprockets and chainrings." [Shimano Technical Documentation](https://si.shimano.com/) This is not a suggestion. This is the engineering specification for protecting a $1,000 investment. ## Why 0.5% Wear Is the Physics Breaking Point The transition from acceptable wear to accelerated damage is not linear. At 0.4% chain wear, the drivetrain functions as designed. At 0.5%, measurable misalignment begins. At 0.6%, the wear rate on cassette teeth accelerates exponentially. Park Tool, the industry standard for bicycle maintenance tools and guidance, provides explicit thresholds: > "For 11-speed and 12-speed chains, replace at 0.5% wear. For 10-speed and lower, replace at 0.75% wear. Exceeding these thresholds accelerates cassette and chainring wear exponentially." [Park Tool: When to Replace a Chain](https://www.parktool.com/en-int/blog/repair-help/when-to-replace-a-chain-on-a-bicycle) The reason 11-speed and 12-speed systems have stricter requirements is geometric. Narrower chains have less lateral compliance. The tolerances are tighter. The margin for error is smaller. A 12-speed chain running on a cassette with 10.2mm cog spacing cannot tolerate the same elongation as a 9-speed chain with 14mm spacing. Zero Friction Cycling (ZFC), which has conducted over 300,000 kilometers of controlled drivetrain testing, quantifies this progression: > "Chain wear progression accelerates non-linearly. A chain at 0.5% wear shows measurable increases in friction and cassette interface stress. By 0.75%, wear rates on premium cassette materials increase by a factor of three to five compared to operation with a chain below 0.5%." [Zero Friction Cycling: Chain Wear Testing](https://zerofrictioncycling.com.au/) This is why waiting for symptoms is economically irrational. By the time you feel rough shifting or hear chain noise, you have already spent weeks or months grinding down expensive cassette teeth. The damage is done before the symptoms appear. The 0.5% threshold is not arbitrary. It is the point where chain pitch deviation exceeds the tolerance for proper tooth engagement on narrow-pitch cassettes. Beyond this point, contact shifts from the optimized engagement surfaces to the sides of the teeth. Material removal accelerates. Shifting precision degrades. The cascade begins. ## The Economics: Why Precision Saves Money The cost analysis for drivetrain maintenance is straightforward. The only variable is whether you replace chains proactively or reactively. **Proactive Replacement Strategy (0.5% threshold):** - Chain: $50-$80 every 3,000-4,500 km - Cassette: $400-$1,000 every 12,000-18,000 km (replaced after 3-4 chains) - Chainrings: $150-$300 every 20,000-30,000 km (replaced after 5-6 chains) **Total cost per 15,000 km:** Approximately $920 depending on component quality and riding conditions. **Reactive Replacement Strategy (wait until symptoms):** - Chain: $50-$80 every 4,500-6,000 km (if you are lucky) - Cassette: $400-$1,000 every 6,000-9,000 km (damaged by worn chain) - Chainrings: $150-$300 every 12,000-18,000 km (accelerated wear from misalignment) **Total cost per 15,000 km:** Approximately $1,660, plus the cost of emergency replacements and potential mid-ride failures. **Savings from proactive approach:** $740 over 15,000 km. This calculation assumes premium components (Dura-Ace, SRAM Red, Campagnolo Super Record). For mid-tier groupsets with hardened steel cassettes, the differential is smaller but still significant. A proactive approach extends cassette life by a factor of three to four regardless of component tier. Park Tool's maintenance guidance confirms this economic reality: > "Replacing a chain at the correct interval (0.5% for 11/12-speed, 0.75% for 10-speed and lower) extends cassette life by a factor of three to four times. Waiting until the chain skips typically results in cassette replacement at the same time." [Park Tool: When to Replace a Chain](https://www.parktool.com/en-int/blog/repair-help/when-to-replace-a-chain-on-a-bicycle) The hidden cost is not just parts. It is the mid-ride failures, the degraded shifting performance, and the gradual erosion of confidence in your equipment. It is checking your drivetrain before every long ride because you are not sure if today is the day it finally gives out. For a performance cyclist with a $3,000 wheelset and premium components, proactive chain replacement is not maintenance. It is asset protection. ## What Pro Teams Know WorldTour professional teams do not wait for 0.5% wear. They replace chains based on distance, not measured elongation. According to Cyclingnews reporting on pro team maintenance practices, teams like Jumbo-Visma and UAE Team Emirates replace chains every 1,500 to 2,000 kilometers regardless of wear measurement. This approach eliminates guesswork. A team mechanic tracks every kilometer ridden on every bike and swaps chains preemptively. The cost of a chain (approximately $80 wholesale) is negligible compared to the cost of a mechanical failure in a race or the performance degradation from a worn drivetrain. Pro teams understand that the friction losses from chain wear cost more watts than the marginal weight savings of running a chain to its absolute limit. A chain at 0.5% wear shows measurable efficiency losses compared to a new chain under identical conditions. For riders pushing 350+ watts for hours at a time, that loss matters. SILCA's technical analysis of chain friction mechanics explains why: > "The primary sources of friction in a bicycle chain are the articulation between the inner plates and the pins, and the rolling contact between the rollers and pins. As wear progresses, these interfaces lose precision, increasing friction and reducing power transfer efficiency." [SILCA: Chain Friction Explained](https://silca.cc/blogs/silca/chain-friction-explained) For the average performance cyclist, replacing chains every 1,500 kilometers may not be economically practical. But the principle remains: distance-based proactive replacement beats symptom-based reactive replacement. The challenge is tracking. Pro teams have mechanics who log every ride on every bike. Most cyclists do not have that infrastructure. They rely on memory, which is unreliable, or manual checking with a chain wear tool, which is inconsistent. ## Why Manual Checking Fails The industry-standard approach to chain maintenance is periodic checking with a chain wear tool. In theory, this works. In practice, it fails for three reasons: **Cognitive burden:** You have to remember to check your chain. Most cyclists check when they think about it, which is often when something feels off. By that point, the chain is frequently beyond 0.75%. **Inconsistency:** Manual measurements vary based on where you measure the chain, how much tension you apply to the tool, and whether the chain is clean. A dirty chain can show false readings. Measurement error of 0.1% is common. **Multiple bikes:** If you own a road bike, a gravel bike, and a trainer setup, you have to track three chains independently. Most cyclists cannot accurately recall when they last replaced the chain on each bike or how many kilometers they have ridden since. Zero Friction Cycling's testing data shows that manual checking intervals are poorly correlated with actual chain life: > "Riders who rely on periodic manual checking typically replace chains 20-40% later than optimal. This delay results in measurable cassette damage and increased total drivetrain replacement costs over the lifecycle of the cassette." [Zero Friction Cycling: Chain Wear Testing](https://zerofrictioncycling.com.au/) The solution is not more frequent manual checking. The solution is automatic tracking that removes the cognitive burden entirely. ## Automated Tracking as Maintenance Engineering Professional teams solve the tracking problem with meticulous record-keeping. They log every ride, track every chain, and replace components based on precise distance data. This approach is not guesswork. It is maintenance engineering. Automatic tracking replicates this system without the manual labor. Connect your ride data source (Strava, Garmin, Wahoo) once. Every ride automatically updates your chain usage. No manual logging. No trying to remember when you last replaced your chain or how many kilometers you have ridden since. The benefit is precision without burden. You ride. The system tracks. When your chain approaches 0.5% wear (based on distance and your component history), you receive an alert. Not after it starts skipping. Before it damages your cassette. This is the difference between reactive maintenance (responding to symptoms) and proactive maintenance (preventing damage before it starts). For cyclists with multiple bikes, automated tracking is even more critical. Road bike, gravel bike, trainer. Each has its own chain with its own usage pattern. Automatic tracking manages all of them independently, so you never have to guess which bike needs attention. The economic benefit compounds over time. Replacing a chain at 3,500 kilometers instead of 5,000 kilometers costs $80 today but saves $400-$1,000 in cassette replacement over the next 15,000 kilometers. ## How Componentry Fits Into Your Care Routine Componentry automates the distance-based tracking that professional teams do manually. Connect your Strava, Garmin, or Wahoo account once, and every ride automatically updates your chain usage. No manual entry. No spreadsheets. No trying to remember when you installed the chain. The platform tracks wear by distance, duration, and activity count. When your chain approaches the 0.5% threshold (or whatever interval you set based on your component type and riding conditions), you receive a proactive alert. You replace the chain at 3,500 kilometers. Your cassette remains in perfect condition. Your shifting stays crisp. You never pay the cascade damage cost. Here is how it works in practice: You install a new chain on January 1st and log it in Componentry. You ride 150 kilometers per week. By mid-March, you have 1,800 kilometers on the chain. Componentry shows you are at 60% of expected life. By late April, at 3,200 kilometers, you get an alert: "Chain approaching replacement threshold." You replace the chain at 3,500 kilometers, well before cassette damage begins. Your cassette remains in perfect condition for three more chain cycles. Over 15,000 kilometers, you spend $920 on drivetrain maintenance instead of $1,660. You save $740. The same logic applies to multiple bikes. Each chain is tracked independently. Each bike has its own usage pattern. Componentry manages all of them, so you never have to guess which bike needs attention. The feature set includes: - **Automatic activity sync** from Strava, Garmin, Wahoo - **Component-specific tracking** for chains, cassettes, chainrings, and more - **Predictive alerts** based on your riding patterns and component history - **Dashboard view** showing wear status across all your bikes - **Service log** to track maintenance history and replacement costs For cyclists already using Strava to analyze performance, Componentry adds the maintenance layer that has been missing. You track your fitness. Componentry tracks your equipment. The result is a proactive approach to drivetrain maintenance that protects both your performance and your investment. If you want to extend the life of your cassette by three to four times and stop guessing when to replace your chain, automatic tracking is the only rational approach. ## Recommended Videos & Further Reading **Technical Deep Dives:** - [SILCA: Chain Friction Explained](https://silca.cc/blogs/silca/chain-friction-explained) — Detailed technical breakdown of chain friction mechanics and efficiency losses - [Zero Friction Cycling: Chain Testing Data](https://zerofrictioncycling.com.au/) — Independent testing with over 300,000 km of drivetrain data - [Park Tool: When to Replace a Chain](https://www.parktool.com/en-int/blog/repair-help/when-to-replace-a-chain-on-a-bicycle) — Industry standard wear thresholds and measurement techniques **Manufacturer Resources:** - [SRAM Technical Service](https://www.sram.com/en/service) — Technical documentation for SRAM groupsets and component specifications - [Shimano Technical Documentation](https://si.shimano.com/) — Service manuals and wear guidelines for Shimano components **Practical Maintenance:** - [How to Check Chain Wear — GCN Tech](https://www.youtube.com/watch?v=D707ZMWH7jQ) — Step-by-step guide to measuring chain wear with a checker tool **Componentry Resources:** - [The Friction Tax: How Drivetrain Efficiency Costs You Watts](/blog/friction-tax-chain-wear) — The performance cost of worn chains before symptoms appear - [Chain Maintenance Guide](/blog/chain-maintenance-guide) — Complete guide to cleaning, lubing, and maintaining chains - [Where Your Drivetrain Watts Actually Go: Contamination vs. Lubrication vs. Chain Stretch](https://www.componentry.app/blog/drivetrain-power-loss-tracking): Chain friction isn't one number. See how contamination, lubrication state, and chain stretch each cost separate watts, and how Componentry now quantifies all three for your own bike. Published: 2026-08-03 | Categories: performance, maintenance | Tags: chain, drivetrain, power-loss, lubrication, chain-stretch, wear-tracking Two riders can have chains at the exact same wear percentage and be losing very different amounts of power. One rode a wet commute this morning and hasn't wiped the chain down. The other cleaned and re-lubed last night. Both chains might measure 0.4% elongation on a checker tool. Their drivetrain power loss right now is not the same number. That's because "friction tax" was always shorthand for three separate physical problems bundled into one figure. Contamination, lubrication state, and chain stretch each cost their own watts, move independently of each other, and respond to completely different fixes. A chain can be freshly wiped down and still losing several watts to stretch. A brand-new chain can be losing watts to a bad lube choice before it's ridden a single kilometer. Treating the three as one number hides which one is actually costing you. This post breaks the number apart, source by source, then covers how Componentry's new Drivetrain Power Loss feature now resolves it for your own bike instead of leaving you with a population average. ## Three Different Watts, Three Different Causes Chain friction happens where metal parts move against each other under load. SILCA's breakdown of the mechanism is precise on this point: > "The primary sources of friction in a bicycle chain are the articulation between the inner plates and the pins, and the rolling contact between the rollers and pins." [SILCA: Chain Friction Explained](https://silca.cc/blogs/silca/chain-friction-explained) That's the physical location. What changes the amount of friction happening there is three separate variables: how much grit has worked its way into those contact points, whether there's still functional lubricant separating the metal surfaces, and whether the pins and bushings have worn enough to change the chain's geometry. Any one of those three can be good or bad independently of the other two, on the same chain, on the same day. ## The Dirt Cost: Contamination Contamination is the fastest-moving of the three variables. It can go from negligible to significant within a single ride. [CyclingAbout's testing](https://www.cyclingabout.com/how-much-does-a-dirty-bicycle-chain-slow-you-down/) on a Friction Facts precision rig, accurate to ±0.02W, measured a clean and properly lubricated chain running at 97.6% mechanical efficiency. A muddy, dry chain dropped to 92.8% efficiency, a 4.8-point loss. At 250 watts of output, that translated to a real-world speed difference: 31.38 km/h clean versus 30.71 km/h dry-muddy, a 2.1% slowdown from grit alone. Riding with no lubrication at all cost 2.7% of speed at the same power output. Zero Friction Cycling's contaminated-condition block testing puts a number on how much worse this gets when grit and a struggling lubricant combine: wet lubricants under real-world contaminated conditions can lose 5 to 8 watts, well beyond what either factor would cost on its own. > "Even with a perfectly cleaned chain, there will be a 3W difference between the best and worst lubricants." [Zero Friction Cycling: Lubricant Testing](https://zerofrictioncycling.com.au/lubetesting/) This is the part of the number that changes hour to hour, not just week to week. A dry gravel ride and a wet commute can leave the same chain in wildly different contamination states by the same evening, independent of how worn it is or which lubricant is on it. ## The Lubricant Cost: What's Actually on the Chain Right Now Lubrication state is a different question from contamination: not "is there grit in there," but "is there still enough functional lubricant separating the moving surfaces." Zero Friction Cycling's testing found a 3-watt spread between the best and worst lubricants even on a chain that's completely clean, and founder Adam Kerin puts the cost of a poor lubricant choice at upwards of 5 watts at race power. Independent testing from CeramicSpeed backs up the range: their UFO Drip Chain Coating measured under 4 watts of friction loss at 250W and 95rpm, against 4.5 to 9 watts for the other lubricants tested under the same protocol. > Chains coated with a coating that resists picking up road grit "were faster if anything" after being ridden outside, while conventional wet and dry lubes "typically generated more friction after being ridden outside." [BikeRadar: CeramicSpeed's "World's Fastest" Chain Lube](https://www.bikeradar.com/news/ceramicspeed-touts-new-worlds-fastest-chain-lube) That distinction matters more than which lubricant you picked. What counts is how much of it is still doing its job. A wax-lubed chain three weeks past its re-lube interval isn't being penalized for wax as a lubricant, it's being penalized for depletion. Wax film wears off predictably with distance and needs reapplying on a schedule; wet lube migrates and attracts grit over time in a different way. Either way, "lubrication state" is asking how long it's been since the chain last had a fresh, intact layer, not what brand is in the bottle. ## The Wear Cost: Chain Stretch Chain stretch is the only one of the three variables that's cumulative and effectively irreversible without replacement. Contamination washes off. Lubricant gets reapplied. Elongated pin-bushing gaps don't shrink back down. CeramicSpeed's "Old vs. New" drivetrain efficiency test isolated this specifically, and the numbers are unusually clean: friction losses increased at an average rate of roughly 2.02 watts per 1% of chain elongation. A new chain paired with a new cassette measured 6.26 watts of friction loss at 250W and 95rpm. The most-elongated chain tested, at 1.56% elongation, measured 10.27 watts under identical conditions. > Swapping an old cassette and chainrings for new ones under the same chain shifted friction by only 0.10 to 0.33 watts. Elongation, not cog or ring wear, was "predominantly responsible" for the efficiency loss. [CeramicSpeed: Drivetrain Efficiency Test, Old vs. New](https://ceramicspeed.com/pages/drivetrain-efficiency-test-old-vs-new) That's a useful number to hold onto: elongation alone, isolated from every other factor, costs roughly 2 watts for every 1% of stretch. For the mechanics of measuring your own chain against the 0.5% and 0.75% replacement thresholds, [The Friction Tax](/blog/friction-tax-chain-wear) and our [chain stretch measurement guide](/blog/chain-stretch-measurement-guide) cover that in full. What matters here is that stretch behaves nothing like the other two variables. It only moves in one direction, and no amount of cleaning or re-lubing gets those watts back. ## How Componentry Quantifies This for Your Bike Componentry's new Drivetrain Power Loss feature (mobile v2.7.0, web v0.32.0) replaces the "somewhere between 5 and 10 watts" guess with a live number specific to your own chain, broken into the same three factors covered above: contamination, lubrication state, and chain stretch. Instead of a lab-average figure applied to your bike after the fact, the estimate is built from your own ride history: how you've actually been riding, in what conditions, and how long it's been since your last clean and re-lube. Tag a reminder as a lubrication reminder and the model sharpens further, working from your real lube-timing data instead of an assumed habit. On the bike, drivetrain power loss shows up where you're already looking. On mobile, a Drivetrain Power Loss card sits on the chain's entry in the component list, with a nudge on the home bike card and the bike's Components tile when there's something worth recovering. On web, it appears as a "Recover X.X watts" figure on the dashboard, bikes list, and component rows. Tap or open it and the breakdown expands into the three factors individually, each with its own figure, so you can see exactly which one is costing you: is it grit, is it a lubricant that's run dry, or is it stretch that only a new chain will fix. A clean, freshly lubricated chain with minimal elongation shows nothing. The feature is built to flag recoverable watts, not to manufacture a number where none exists. That's the practical difference this makes. "Your chain is probably costing you 5 to 10 watts" was never wrong, but it was never useful either, because it couldn't tell you which of three unrelated problems to fix first. A number broken into contamination, lubrication, and stretch, calculated from your actual rides, tells you exactly that. ## Further Reading - [The Friction Tax: How Drivetrain Efficiency Costs You 5-10 Watts Before You Notice](/blog/friction-tax-chain-wear): the wear-threshold primer this post builds on - [Chain Stretch Measurement Guide](/blog/chain-stretch-measurement-guide): how to measure the 0.5%, 0.75%, and 1% elongation thresholds referenced above - [Waxed Chain Intervals](/blog/waxed-chain-intervals): re-lube interval data specific to wax lubrication - [February 2026 Update](https://www.componentry.app/blog/february-2026-update): Mobile apps for iPhone and Android, weather-enriched activities, real-time Strava sync, bulk activity management, and predictive intelligence on the horizon. Published: 2026-02-28 | Categories: update | Tags: monthly-update, mobile, weather, strava, garmin, activities February was a big month. Componentry is now on your phone, activities include weather data, and predictive intelligence is coming. ## Mobile Apps — Now Available Componentry for iPhone and Android is live and available to all users. Manage your bikes, track component wear, set reminders, and view activities — all from your pocket. Five updates shipped this month alone, including unit preferences, weather data on activities, component editing, and pull-to-refresh across your gear. Download from the [Apple App Store](https://apps.apple.com/us/app/componentry/id6758467316?itscg=30200&itsct=apps_box_link&mttnsubad=6758467316) or [Google Play Store](https://play.google.com/store/apps/details?id=app.componentry.rnapp). ## Weather-Enriched Activities Every activity now includes weather conditions automatically. Temperature, wind, rain — captured and tagged without lifting a finger. Wet ride? Snowy commute? Componentry tags it so you can see how conditions affect your gear over time. A chain ridden through 30 wet rides wears differently to one that's only seen dry tarmac — now you have the data to prove it. ## Real-Time Strava Sync No more waiting. Activities from Strava now sync the moment they land. Your component wear updates in real time, activity names stay in sync, and Componentry detects whether Strava is your primary source or a pass-through from Garmin or Wahoo. ## Bulk Activity Management Select multiple activities. Reassign bikes, apply tags, or delete — all at once. Managing a backlog of rides just got significantly faster. ## Import Bikes from Strava Already have bikes set up in Strava? Import them directly from your gear page. One click, and your existing setup carries over — no need to rebuild what you've already configured. ## Garmin Provider Improvements Garmin authentication is now more reliable across web and mobile, with proper token deregistration and improved error handling. ## Coming Soon: Predictive Intelligence We're building predictive intelligence into Componentry. Here's what's in progress: - **Race Day Readiness** — A pre-event check that tells you if your bike is ready to race, based on current component wear and upcoming service windows. - **Wear Rate Per Week** — See how fast each component is wearing based on your actual riding patterns, not generic estimates. - **Predicted Remaining Wear** — Know exactly how many kilometres or weeks are left before a component needs attention. Stop guessing. Start knowing — before it matters most. - [The Friction Tax: How Drivetrain Efficiency Costs You 5-10 Watts Before You Notice](https://www.componentry.app/blog/friction-tax-chain-wear): Discover how a worn chain costs 5-10 watts in power loss before skipping starts. Learn when to replace chains, the cascade effect on cassettes, and how automatic tracking saves performance and money. Published: 2026-01-12 | Categories: performance, maintenance | Tags: chain, drivetrain, efficiency, power-loss, maintenance, wear-tracking You finish a climb and check your power meter. Same effort as last month, but your time is 15 seconds slower. Your chain is not skipping. Shifting feels normal. But somewhere in those 116 links, friction is taxing you 5 to 10 watts, every pedal stroke, before the first audible symptom appears. This is the friction tax. Not the catastrophic failure you prepare for, but the gradual performance degradation that happens in silence. By the time your chain reaches 0.75% wear (the point where many riders finally replace it), you have already spent weeks or months paying this tax without knowing it. The numbers tell a clear story. A well-maintained chain at 0.5% wear shows measurable power loss. By 0.75%, that loss compounds as the elongated chain begins grinding down your cassette. The damage is not just to your performance, it is to your wallet. Replacing a chain at the correct interval can extend cassette life three to four times. This post examines where friction lives in your drivetrain, quantifies the watt cost of chain wear, and explains why proactive replacement (before symptoms) is both the fastest and most economical approach. ## Where Friction Lives in Your Chain Most cyclists understand that a dirty chain causes friction. But even a perfectly clean and lubricated chain generates friction at two critical internal points: the interface between inner plates and pins, and the contact between rollers and pins. SILCA's technical breakdown clarifies this: > "The primary sources of friction in a bicycle chain are the articulation between the inner plates and the pins, and the rolling contact between the rollers and pins. These internal interfaces are where most energy loss occurs during drivetrain operation." [SILCA: Chain Friction Explained](https://silca.cc/blogs/silca/chain-friction-explained) When a chain is new, these tolerances are tight. Pins sit correctly in their bushings, rollers move smoothly, and the chain engages cleanly with cassette teeth. As wear accumulates, the pins and bushings elongate. This elongation is not uniform across the chain. Some links wear faster than others depending on chainring size, cross-chaining frequency, and riding conditions. The result is a chain that no longer sits correctly on the cassette. The misalignment increases friction at every contact point. Even before the chain begins to skip under load, this misalignment is costing you watts. Zero Friction Cycling (ZFC), which has conducted over 300,000 kilometers of controlled chain testing, provides the most comprehensive independent data on this phenomenon: > "A chain at 0.5% wear shows measurable increases in friction compared to a new chain under identical lubrication conditions. This friction increase accelerates exponentially as wear approaches 0.75%, with additional compounding effects as the worn chain begins damaging cassette teeth." [Zero Friction Cycling: Chain Wear Testing](https://zerofrictioncycling.com.au/) This is why the friction tax is so insidious. You cannot feel a 5-watt loss the same way you feel a skipping chain. But over a 40-kilometer ride, that 5-watt tax translates to measurably slower times and higher perceived effort. ## The Science of the Friction Tax Chain wear is measured as a percentage of elongation. A new chain has 116 links (for standard road chains) with precise spacing. As the pins and bushings wear, that spacing increases. When measured over a standard length (typically 12 inches), a chain at 0.5% wear has elongated by 0.06 inches. At 0.75%, it has elongated by 0.09 inches. These numbers sound trivial. They are not. Park Tool, the industry standard for bicycle tools and maintenance guidance, provides clear thresholds: > "For 11-speed and 12-speed chains, replace at 0.5% wear. For 10-speed and lower, replace at 0.75% wear. Exceeding these thresholds accelerates cassette and chainring wear exponentially." [Park Tool: When to Replace a Chain](https://www.parktool.com/en-int/blog/repair-help/when-to-replace-a-chain-on-a-bicycle) But what does this wear progression cost in terms of actual power? Zero Friction Cycling's data shows that a chain at 0.5% wear loses approximately 3-5 watts compared to a new chain under controlled conditions. At 0.75%, that loss increases to 5-10 watts depending on drivetrain configuration, lubrication state, and power output. For chains worn beyond 0.75% (a common scenario for riders who wait for skipping), the losses can exceed 12 watts. To put this in perspective: if you are pushing 250 watts on a climb, a 7-watt loss represents a 2.8% reduction in effective power. Over a 20-minute climb, this translates to approximately 20-30 seconds of lost time, depending on gradient and rider weight. The compounding factor is cassette damage. As the elongated chain wraps around cassette cogs, it no longer seats correctly in the tooth valleys. The hardened steel of the chain begins to grind the softer alloy teeth. This damage is invisible at first, but accelerates rapidly once the chain exceeds 0.75% wear. ### Why You Don't Feel It (But Your Strava Times Do) The human body is remarkably poor at detecting gradual performance degradation. If your chain went from perfect to 0.75% worn overnight, you might notice the difference. But because the degradation happens over hundreds of kilometers, your neuromuscular system adapts. You unconsciously compensate by pushing slightly harder or shifting slightly earlier. This compensation feels normal because it happens incrementally. What does not feel normal is when you review your Strava data and see that your PR segments are slipping despite consistent training. Or when you compare your power files and realize you are working harder for the same speeds. The friction tax shows up in data before it shows up in feel. This is why power meter users and Strava-focused cyclists are often the first to investigate drivetrain efficiency. They have objective metrics that highlight performance discrepancies. But even without power data, you can see this effect in segment times, average speeds, and perceived effort on familiar routes. WorldTour professional teams understand this intimately. According to Cyclingnews reporting on pro team maintenance practices, teams like Jumbo-Visma and UAE Team Emirates replace chains every 1,500 to 2,000 kilometers, regardless of measured wear. They do not wait for 0.5%. They replace based on distance because they know that even minor efficiency losses matter in races decided by seconds. For the average performance cyclist, this frequency may not be economically practical. But the principle remains: proactive replacement based on data, not reactive replacement based on symptoms. ## The Cascade Effect: From Cheap Chain to Expensive Cassette A neglected chain does not fail in isolation. As a chain elongates, it no longer sits correctly in the teeth of the cassette and chainrings. This misalignment forces the harder steel of the chain to grind down the softer alloys of the expensive cassette. The economics are straightforward: **Proactive Replacement (0.5% threshold):** - Chain: $30-$80 every 3,000-5,000 km - Cassette: $150-$400 every 12,000-20,000 km (replaced after 3-4 chains) - Chainrings: $80-$200 every 20,000-30,000 km (replaced after 5-6 chains) **Total cost per 15,000 km:** Approximately $300-$600 depending on component quality. **Reactive Replacement (wait until skipping):** - Chain: $30-$80 every 4,000-6,000 km (if lucky) - Cassette: $150-$400 every 6,000-8,000 km (worn chain destroys cassette teeth) - Chainrings: $80-$200 every 10,000-15,000 km (accelerated wear from misalignment) **Total cost per 15,000 km:** Approximately $500-$900, plus the cost of emergency replacements and potential mechanical failures during rides. The Park Tool guidance is explicit about this cascade: > "Replacing a chain at the correct interval (0.5% for 11/12-speed, 0.75% for 10-speed and lower) extends cassette life by a factor of three to four times. Waiting until the chain skips typically results in cassette replacement at the same time." [Park Tool: When to Replace a Chain](https://www.parktool.com/en-int/blog/repair-help/when-to-replace-a-chain-on-a-bicycle) This is not speculation. This is documented across hundreds of thousands of real-world drivetrain lifecycles. The hidden cost is not just the parts. It is the mid-ride failures, the degraded shifting performance, the gradual erosion of confidence in your equipment. It is checking your chain before every long ride because you are not sure if today is the day it finally gives out. For a performance cyclist with a $3,000 wheelset and a $400 cassette, proactive chain replacement is not maintenance. It is asset protection. ## When to Replace: The Standards vs. The Reality Park Tool provides the industry standard thresholds: - 11-speed and 12-speed: Replace at 0.5% wear - 10-speed and lower: Replace at 0.75% wear - Any chain showing stiff links, corrosion, or visible damage: Replace immediately These thresholds are not arbitrary. They represent the point where continued use begins to accelerate wear on other drivetrain components. But measuring wear manually requires a chain checker tool, consistent measurement technique, and regular checking intervals. Most cyclists do not check their chains weekly. They check when they remember, which is often when something feels off. By that point, the chain is frequently beyond 0.75%, and cassette damage has begun. This is where the gap exists between best practice and common practice. Professional teams solve this by replacing chains based on distance, not symptoms. A team mechanic tracks every kilometer ridden on every bike and swaps chains preemptively. For a WorldTour rider racing at 300+ watts for hours at a time, the cost of a worn chain (in terms of performance and reliability) far exceeds the cost of frequent replacements. Zero Friction Cycling's extensive testing supports this approach: > "Premium chains with optimal lubrication can achieve 3,000 to 5,000 kilometers before reaching 0.5% wear under clean, dry conditions. Poor lubrication or contaminated conditions can reduce this to 1,500 to 2,500 kilometers. Automatic tracking based on ride data provides far more accurate replacement timing than manual checking intervals." [Zero Friction Cycling: Chain Longevity Data](https://zerofrictioncycling.com.au/) The reality for most cyclists is somewhere in the middle. You want the proactive protection of distance-based replacement without the manual tracking burden or the need to remember to check your chain every 500 kilometers. ## The Hidden Cost Before the Symptoms The friction tax begins accruing before you know you are paying it. Here is what the typical progression looks like: **0-1,000 km (New Chain):** - Optimal efficiency - Smooth shifting - Minimal friction (2-5 watts depending on lubrication) **1,000-2,500 km (Early Wear):** - Wear accumulates but remains below 0.5% - No noticeable symptoms - Friction begins increasing (3-6 watts) **2,500-4,000 km (Approaching 0.5%):** - Measurable elongation - Subtle shifting changes (often attributed to cable stretch) - Friction tax now 4-7 watts **4,000-6,000 km (0.5% to 0.75%):** - Cassette damage beginning - Shifting under load becomes less crisp - Friction tax 5-10 watts - This is the window where most cyclists finally replace the chain **6,000+ km (Beyond 0.75%):** - Skipping under load (typically on smaller cogs) - Cassette replacement now required - Friction tax 10+ watts - Risk of chain failure increases The critical insight is that the majority of the performance degradation and component damage occurs between 2,500 and 6,000 kilometers. This is the window where you are paying the friction tax without realizing it. You might attribute slower times to fatigue, wind, or route conditions. You might blame your power meter calibration or your training block. But the data shows that a significant portion of that performance loss is sitting in your drivetrain. The solution is not more frequent manual checking. It is automatic tracking that removes the guesswork. ## How Componentry Fits Into Your Care Routine Componentry automates the tracking process that professional teams do manually. Connect your Strava, Garmin, or Wahoo account once, and every ride automatically updates your chain usage. No manual logging. No trying to remember when you last replaced your chain or how many kilometers you have ridden since. The platform tracks wear by distance, duration, and activity count. When your chain approaches 0.5% wear (or whatever threshold you set), you receive a proactive alert. Not after it starts skipping. Before it damages your cassette. Here is how it works in practice: You install a new chain on January 1st and log it in Componentry. You ride 150 kilometers per week. By mid-March, you have 1,800 kilometers on the chain. Componentry shows you are at 60% of expected life. By late April, at 3,200 kilometers, you get an alert: "Chain approaching replacement threshold." You replace the chain at 3,500 kilometers, well before 0.5% wear. Your cassette remains in perfect condition. Your shifting stays crisp. You never pay the friction tax. This same logic applies to multiple bikes. Road bike, gravel bike, trainer. Each has its own chain with its own usage pattern. Componentry tracks all of them independently, so you never have to guess which bike needs attention. The feature set includes: - **Automatic activity sync** from Strava, Garmin, Wahoo - **Component-specific tracking** for chains, cassettes, chainrings, and more - **Predictive alerts** based on your riding patterns and component history - **Dashboard view** showing wear status across all your bikes - **Service log** to track maintenance history and replacement costs For cyclists already using Strava to analyze performance, Componentry adds the maintenance layer that has been missing. You track your fitness. Componentry tracks your equipment. The result is a proactive approach to drivetrain maintenance that protects both your performance and your investment. If you want to extend the life of your cassette by three to four times, eliminate the guesswork from chain replacement, and stop paying the friction tax, automatic tracking is not optional. It is the difference between reacting to symptoms and preventing damage before it starts. ## Recommended Videos & Further Reading **Technical Deep Dives:** - [SILCA: Chain Friction Explained](https://silca.cc/blogs/silca/chain-friction-explained) — Detailed technical breakdown of where friction occurs in drivetrain systems - [Zero Friction Cycling: Chain Testing Data](https://zerofrictioncycling.com.au/) — Independent testing with over 300,000 km of data - [Park Tool: When to Replace a Chain](https://www.parktool.com/en-int/blog/repair-help/when-to-replace-a-chain-on-a-bicycle) — Industry standard wear thresholds and replacement guidance **Practical Maintenance:** - [How to Check Chain Wear — GCN Tech](https://www.youtube.com/watch?v=D707ZMWH7jQ) — Step-by-step guide to measuring chain wear with a checker tool - [How to Clean and Lube a Bicycle Chain](https://www.youtube.com/watch?v=MuwS_nSevy4) — Park Tool's comprehensive cleaning tutorial **Componentry Resources:** - [Digital Twin for Bicycle Maintenance](/blog/digital-twin-bicycle-maintenance) — How predictive tracking prevents failures - [Chain Maintenance Guide](/blog/chain-maintenance-guide) — Complete guide to cleaning, lubing, and maintaining chains - [How to Run a Full Service and Clear Every Reminder in One Session](https://www.componentry.app/blog/full-service-clear-reminders): A full bike service works best as one session, not a string of one-off fixes. Here is the order to work in, how to use your open reminders as the checklist, and how to leave a real record behind. Published: 2026-08-10 | Categories: maintenance, guide | Tags: bike-service-checklist, service-log, reminders, full-service, maintenance-routine Most home mechanics do not run out of maintenance knowledge. They run out of sessions, and without a bike service checklist to work from, jobs get done one at a time instead of together. A reminder fires for the chain, so the chain gets checked. The brake pads are also close to their wear line, but that reminder is not the one that fired, so it waits. Three weeks later the brake reminder fires on its own, the bike comes off the hook a second time, and a job that could have taken one sitting has taken two. A proper bike service checklist fixes that, but only if it is treated as one session with a shape, not a pile of tasks done in whatever order they occur to you. Here is the order that actually works, how to turn the reminders you already have into that session's checklist, and what to do with the parts that come off so the work does not just disappear the moment you put the tools away. ## Why the Order of a Full Bike Service Matters Skipping straight to the part that is bothering you feels efficient. It usually costs time instead, because several of the checks you will want to make are only accurate once earlier steps are done. Clean before you inspect. A drivetrain caked in road grime hides the one thing you are trying to see: how much material is actually gone from the chain, cassette, and chainrings. Bicycle Blue Book's tune-up checklist puts cleaning first for exactly this reason, recommending you: > "Use a bucket of soapy water and a soft brush to scrub your bike down, including all components like the chain, cassette, and derailleurs." — [Bicycle Blue Book: Bike Tune-Up Checklist](https://www.bicyclebluebook.com/articles/bike-tune-up-check-list/) From there, a sensible full-service order looks like this: - **Clean** the drivetrain, frame, and wheels so nothing is hidden under grime. - **Drivetrain:** chain wear, cassette and chainring teeth, derailleur function. - **Brakes:** pad thickness, rotor or rim wear, lever feel. - **Wheels and tires:** tread, sidewall condition, spoke tension, tire pressure. - **Bearings and electronics:** hub and headset play, battery levels on Di2, AXS, or a power meter. The reasoning holds up under inspection. Wheels get trued and bearings get checked last partly because [Bicycle Blue Book](https://www.bicyclebluebook.com/articles/bike-tune-up-check-list/) notes the same test applies at both ends of a service: "To check the bearings, grab the wheel or other component and try to move it from side to side." Doing that check on a wheel you have not yet reinstalled or trued gives you a false reading. Work in this order and each step sets up the next one instead of undoing it. ## Turn Your Open Reminders Into Your Bike Service Checklist The order above tells you how to move through the bike. Your open reminders tell you what actually needs doing on this particular bike, on this particular day, and that is the part a generic bike service checklist cannot know on its own. Most riders have more than one component approaching a service point at any given time, because wear does not arrive on a schedule that suits your calendar. Park Tool's chain wear thresholds are a good example of a number worth checking rather than guessing: > "Using a chain beyond its intended wear limit will prematurely wear out your cogs and chainrings, so staying on top of this routine maintenance task can save you a lot of cost and hassle in the long run." — [Park Tool: When to Replace a Worn Chain](https://www.parktool.com/en-us/blog/repair-help/when-to-replace-a-chain-on-a-bicycle) Park Tool sets that limit at 0.5% elongation for 11 and 12-speed drivetrains, and 0.75% for 10-speed. [Zero Friction Cycling's independent chain testing](https://zerofrictioncycling.com.au/chaintesting/) shows how fast a chain can cross that line under real riding conditions, which is the whole reason a reminder exists in the first place: nobody checks chain wear from memory reliably enough to catch it right at the threshold. If you have reminders open for the chain, the brake pads, and a tire inspection, that is not three separate future trips to the workstand. It is the checklist for one session, worked through in the order above so nothing gets missed and nothing gets checked twice. ## When a Full Service Beats a Quick Check Not every reminder deserves a full session. If all you have due is [a quick maintenance check](/blog/quick-maintenance-check), a glance at brake pads, tires, and chain wear with nothing yet at a replacement point, a full teardown is wasted effort. Save the full session for when two or more reminders land close together, when any single component is at or past its stated limit, or when it has simply been a season since the bike was properly gone over. A useful rule of thumb: if clearing one reminder means the bike is already on the stand and partially apart, clear whatever else is close to due while you are there. That is the batching instinct a full service is built around. ## Retiring and Replacing Parts Without Losing the Story The part of a full service riders skip most often is not the wrench work. It is writing down what came off, in what state, and what went on in its place. A chain gets swapped, the old one goes in a drawer or the bin, and three months later nobody remembers whether that cassette is six months old or two years old. Recording a retirement properly needs three things: the wear the old part had reached when it came off, a note on why, and a link to whatever replaced it. Skip any one of those and you are back to guessing the next time the question matters, whether that is at the next service or when you are pricing a bike for resale and a buyer wants to know the cassette's actual age rather than an estimate. This only works if retiring a part happens in the same place as the rest of the session's record, not as a separate, disconnected action. A retirement logged on its own tells you a part came off. A retirement logged inside the service that removed it tells you why, what condition it was in, and what replaced it. That is a story you can actually use, not just a fact. ## A Sample Full-Service Session, Start to Finish Here is what a full bike service checklist looks like end to end, using a bike with three open reminders: chain wear, brake pad thickness, and a tire pressure and tread check. - **Start the session** with all three reminders in view as the task list, not three separate future jobs. - **Clean** the drivetrain and wheels first, so the inspections that follow are reading the actual component, not the grime on top of it. - **Check the chain** against its wear threshold. If it is past the limit, replace it and note the old chain's measured wear at removal. - **Check the cassette and chainrings** while the chain is off. A chain replaced well past its limit often takes the cassette with it, and this is the moment you find out. - **Inspect the brake pads.** Measure remaining pad material, and replace if it is close to the manufacturer's minimum rather than waiting for a second session. - **Check the tires.** Tread depth, sidewall condition, and pressure, adjusting or replacing as needed. - **Finish with bearings**, checking hub and headset play now that the wheels are back on and trued. - **Record the session**, per component: what you found, what you did, and the date and distance at the time. Anything retired gets its wear-at-removal and what replaced it noted against the same session. - **Reschedule from today.** Every reminder cleared this way should restart from the work actually done, not from whenever the original reminder first fired. That is one sitting and one record that actually reflects what happened to the bike, rather than three separate half-memories of jobs done on three separate days. ## How Componentry Turns This Into a Repeatable Session Componentry's service logs are built around exactly this workflow. Starting a full service log for a bike pulls in every one of that bike's open reminders as a checklist for the session, so you see the chain, brake, and tire reminders together instead of one at a time. Clear what the session covers, leave the rest open, and each reminder you complete reschedules from the actual date and wear recorded, not from whenever it first fired. Retiring a component now happens inside that same service log, on both the web app and mobile. The retirement carries the wear the part had reached when it came off, a note, and a link to whatever replaced it, so the story stays attached to the session rather than living as a disconnected fact. If a quick maintenance check turns into more work than expected, it can be escalated to a full service mid-session without losing the notes or reminders already cleared. Full service logs carry a status workflow from New to Booked to Completed, an optional crash flag, and space for who did the work, so a session at a shop or with a mechanic friend gets recorded the same way a driveway session does. On the web app, you can also replace components within the log and email a service report once it is done. The result is a per-bike history that reads as a series of real sessions, not a scatter of disconnected tick marks. ## Recommended Videos & Further Reading - [Bicycle Blue Book: Bike Tune-Up Checklist](https://www.bicyclebluebook.com/articles/bike-tune-up-check-list/) — The standard order of operations for a full tune-up, from cleaning through bearing checks. - [Park Tool: When to Replace a Worn Chain](https://www.parktool.com/en-us/blog/repair-help/when-to-replace-a-chain-on-a-bicycle) — Wear thresholds by drivetrain speed and why running past them costs you the cassette too. - [Zero Friction Cycling: Chain Testing](https://zerofrictioncycling.com.au/chaintesting/) — Independent testing on how quickly chains reach replacement thresholds in real conditions. - [GCN Tech: Maintenance Videos playlist](https://www.youtube.com/playlist?list=PLH49XyD2ofsXzMTbrSNLAXnQo0pSyDEb6) — Video walkthroughs for the individual checks that make up a full session. - [Stop Ticking Boxes: Turn Every Reminder Into a Bike Maintenance Log](/blog/reminders-to-service-records) — Why recording the work matters, and how Componentry's reminder-completion flow works. - [The Quick Maintenance Check: Catching Brake, Tire and Chain Wear Early](/blog/quick-maintenance-check) — The lighter-weight routine for when a full session is not warranted yet. - [Garmin Bike Maintenance App: The Only Tracker That Connects Without Strava](https://www.componentry.app/blog/garmin-wahoo-bike-maintenance-app): Every bike maintenance app requires a Strava account. Componentry connects directly to Garmin Connect and Wahoo Cloud — sync your components without Strava in the loop. Published: 2026-07-28 | Categories: integration, guide | Tags: garmin, wahoo, garmin-integration, wahoo-integration, bike-maintenance, component-tracking, automation, drivetrain If you ride with a Garmin head unit or a Wahoo ELEMNT, you already know the frustration. Every bike maintenance app tells you the same thing: connect your Strava. Not your Garmin. Not your Wahoo. Your Strava. For riders who use Garmin Connect or Wahoo as their primary training platform — and there are millions of you — this creates a choice that should not exist. Either maintain a Strava account you do not otherwise use, route your activities through a second platform just to unlock maintenance tracking, and accept that if the Strava sync breaks, your component wear goes unrecorded. Or keep guessing when your chain needs replacing. As of April 2026, every dedicated bike maintenance tracker — ProBikeGarage, Geer, VeloBuddy — supports Strava only. Componentry is the only maintenance app with native Garmin Connect and Wahoo Cloud integration. You do not need Strava. You never did. ## Why Every Other App Routes Through Strava The reason maintenance apps default to Strava is practical: the Strava API is well-documented, widely used, and covers a large share of the cycling market. Building on Strava is faster than building separate integrations for Garmin Connect, Wahoo Cloud, and every other training platform. But "easier to build" does not mean "better for riders." Strava was designed for activity tracking and community. It was not designed as a maintenance data pipeline. When it sits between your Garmin and your maintenance app, you get an indirect integration with real limitations: - **Strava is optional for Garmin users.** A significant portion of Garmin Edge riders upload directly to Garmin Connect and never touch Strava. For this group, a Strava-dependent maintenance app is inaccessible without creating an account specifically to enable maintenance tracking. - **Strava strips data granularity.** Garmin records elevation, surface type, temperature, and power data natively. When an activity flows through Strava to a maintenance app, only the data Strava exposes via its API reaches the downstream tool — which is less than what your head unit captured. - **Sync chains break.** The more services between your ride and your maintenance record, the more places the connection can fail. A Strava API rate limit, an authentication timeout, or a platform outage breaks the entire chain and silently leaves your component wear untracked. If your data lives in Garmin Connect, a Garmin bike maintenance app should read directly from Garmin Connect. Componentry does. ## What Native Garmin Integration Means Componentry's Garmin integration connects directly to the Garmin Connect API. When you finish a ride, Garmin syncs your activity to Garmin Connect as it always has. Componentry reads that activity directly from Garmin Connect — the same data your head unit recorded, without Strava in the loop. Every activity updates your component wear in real time. Your chain accumulates kilometres. Your cassette, brake pads, and tyres do the same. If you run electronic shifting with a Garmin device tracking battery level, that data feeds into your battery tracking. Nothing requires manual entry. Nothing requires an additional platform. **What Componentry reads from each Garmin activity:** - **Distance** — increments mileage-based wear counters on drivetrain components, tyres, and brake pads - **Duration** — tracks time-based service intervals: lubricant re-application schedules, hydraulic brake bleeds, and electronic shifting battery consumption - **Ride date** — enables calendar-triggered reminders for services measured in weeks rather than kilometres - **Bike assignment** — routes mileage to the correct component set when you own multiple bikes, using the bike profile mapped in Componentry The last point matters for multi-bike riders. If you rotate between a road bike, a gravel bike, and a trainer setup — all recorded on Garmin Connect — Componentry tracks which bike each activity belongs to and updates the right components accordingly. Your road chain and your gravel chain accumulate mileage separately, without any manual logging. ### Supported Garmin Devices Componentry works with any Garmin device that syncs to Garmin Connect. This includes the full Edge head unit range: - **Edge 540 and Edge 540 Solar** — the current mid-range GPS computer - **Edge 840 and Edge 840 Solar** — mid-range with touchscreen - **Edge 1040 and Edge 1040 Solar** — flagship head unit - **Edge Explore 2** — navigation-focused touring computer - **Older Edge models** (Edge 530, 830, 1030 Plus) — fully supported via Garmin Connect sync It also includes Garmin's multisport watch range — **Fenix 7 and Fenix 8**, **Forerunner 965 and Forerunner 955**, and **Epix** — for riders who track activities on their watch rather than a dedicated head unit. If your device syncs to Garmin Connect, Componentry can read from it. ## What Native Wahoo Integration Means Componentry's Wahoo integration works the same way via the Wahoo Cloud API. Ride with your ELEMNT head unit, sync to Wahoo as normal, and Componentry reads the activity directly — no Strava relay required. For Wahoo users, this resolves a frustration that has no good workaround: the ELEMNT ecosystem is excellent for training data, but completely invisible to Strava-dependent maintenance tools. Riders who track power, heart rate, and structured workouts through Wahoo's platform have never had a native maintenance app. Until now. **Supported Wahoo devices:** - **ELEMNT Bolt** (v1 and v2) — the aerodynamic head unit preferred by road racers - **ELEMNT Roam** (v1 and v2) — the navigation-focused option for long-distance and gravel riding - **ELEMNT** — the original full-size head unit Any activity recorded on a Wahoo ELEMNT and synced to Wahoo Cloud is available to Componentry. The integration uses the same data fields as the Garmin path: distance, duration, and ride date to increment component wear counters. ## The Strava Single-Point-of-Failure Problem Even for riders who do use Strava, routing maintenance tracking through a third-party platform introduces risk that a direct integration eliminates. Strava has experienced notable API rate limiting and authentication issues that have broken third-party integrations without warning. When your chain wear tracking depends on a Strava sync, a broken OAuth token or a platform outage means kilometres go unrecorded. You may not notice until you check your maintenance dashboard and find it three weeks behind. [SILCA's research on drivetrain friction](https://silca.cc/blogs/silca/chain-friction-explained) quantifies what an overdue chain costs in real terms: 5–10 watts of lost power output before the chain starts skipping under load, compounding to measurable fitness and financial loss over a season. A maintenance tool that stops working silently is not a maintenance tool — it is a false sense of security. Direct integration means Garmin data goes to Garmin Connect and then to Componentry. Wahoo data goes to Wahoo Cloud and then to Componentry. No Strava dependency. No single platform that, if unavailable, breaks your maintenance record. According to [Park Tool's chain replacement guidance](https://www.parktool.com/en-int/blog/repair-help/when-to-replace-a-chain-on-a-bicycle), a chain worn past 0.5% elongation on an 11- or 12-speed drivetrain begins accelerating cassette wear at a rate that makes the chain-to-cassette cost ratio irreversible. The cassette that survives an on-time chain replacement typically costs three to four times more than the chain itself. That mathematics demands reliable tracking — not tracking that is contingent on a third-party platform behaving correctly. ## Connecting Garmin or Wahoo: How It Works Setup takes under two minutes for either integration. **Step 1: Create your Componentry account** Sign up at Componentry. The free trial gives full access to test both integrations with your actual ride history. **Step 2: Add your bikes** Create a profile for each bike. Name it clearly — you will map each Componentry bike to the matching Garmin Connect or Wahoo bike profile during setup. **Step 3: Add components** Set up the components you want to track on each bike: chain (with estimated current mileage if you know it), cassette, brake pads, tyres, and any electronic shifting batteries. If you do not know the current mileage, start from zero — the system builds an accurate record from the first synced activity. **Step 4: Connect Garmin or Wahoo (or both)** In Componentry's settings, select your platform and authorise the integration. Componentry requests read-only access to your activity data. It does not write to Garmin Connect or Wahoo Cloud. **Step 5: Sync recent history** On first connection, Componentry offers to import your recent activity history. This populates your component wear counters immediately so you are not starting from zero on an existing bike. From this point, every ride you complete on your Garmin or Wahoo device updates your component wear automatically. You ride. Your head unit records it. Componentry tracks what it costs your components. ## If You Use Multiple Platforms Many serious riders use more than one recording device. A Garmin watch for commuting and indoor sessions, an ELEMNT head unit for road rides, and Strava for segment comparisons and club activity — all recording the same bike. Componentry handles this. You can connect Garmin Connect, Wahoo Cloud, and Strava simultaneously. Componentry deduplicates activities across platforms so a ride recorded by both Garmin and Strava is counted once, not twice. The component wear ledger stays accurate regardless of which device or platform recorded any given ride. For Garmin and Wahoo users who also run Strava, native platform connections simply mean you are not dependent on Strava staying connected to keep your maintenance data current. The integrations complement rather than conflict. ## Know Your Component State After Every Ride The promise of a Garmin bike maintenance app is straightforward: after every ride, you know the current state of every component on the bike you just rode — without doing anything differently from what you already do. Your chain mileage updates. Your cassette wear is current. If a component approaches its replacement threshold, you receive an alert before the next ride. If everything is within limits, the dashboard confirms it. That is what maintenance tracking should be for Garmin and Wahoo users. Not a workaround through a platform you may not use. Not a sync chain with three points of failure. A direct connection between the ride you just logged and the components that absorbed it. [Connect your Garmin or Wahoo account and start your free trial →](#) --- ## Further Reading - [Strava Bike Maintenance: What Your Favourite Riding App Can't Do](/blog/strava-bike-maintenance) - [When to Replace Your Bike Chain: The Complete Guide](/blog/when-to-replace-bike-chain) - [Di2 Battery Life: How to Track, Extend, and Never Get Caught Dead on a Climb](/blog/di2-battery-life-tips) - [Tracking Maintenance Across Multiple Bikes](/blog/tracking-maintenance-multiple-bikes) - [How Long Does a Bike Cassette Last? (And When to Replace It)](https://www.componentry.app/blog/how-long-does-a-bike-cassette-last): Bike cassette lifespan ranges from 10,000 to 30,000 km — but the real answer depends on one thing: how well you tracked your chain changes. Published: 2026-04-14 | Categories: maintenance, guide | Tags: cassette, drivetrain, cassette-lifespan, chain, maintenance, component-wear How long does a bike cassette last? The honest answer is somewhere between 10,000 and 30,000 km — but that range is almost useless without knowing the one variable that determines where in that range your cassette ends up. That variable is not your riding style. It is not the brand name on the cassette. It is not even how many kilometres you have ridden. It is whether you tracked your chain changes. A cassette that has been paired with chains replaced at the right time can outlast a cassette of the same model — on the same terrain, ridden by the same person — by a factor of five. That is not marketing copy. That is the mechanical reality of how chains and cassettes wear together. Understanding it is the difference between replacing a cassette on schedule and discovering it is already ruined when a new chain skips all over it. ## What Actually Kills a Cassette Cassette teeth are not hard to destroy. The question is what does the destroying. When your chain is in good condition, it distributes pedalling force across several teeth at once. Load is shared. Wear is gradual. But as a chain wears — technically a lengthening of the chain as the pin-hole contact surfaces erode — it no longer sits correctly in the cassette valleys. The elongated chain contacts each tooth at a slightly wrong point. Load concentrates on the tips of fewer teeth instead of spreading across the tooth faces. Over thousands of pedal strokes at this mismatched pitch, the teeth develop a characteristic forward lean. Mechanics call it the shark fin profile. The leading face of each tooth gets rounded down and then hooked in the direction of chain travel. At that point, a new chain — which has the correct pitch — will sit too deep in the worn valleys and skip forward under load. This is the sequence that most cyclists only discover when they fit a new chain and find their cassette immediately unusable. Park Tool explains the economics plainly: replacing a chain before it damages the cassette saves the cost of the cassette, which runs five to ten times the price of the chain. The chain is the consumable that protects the expensive part. Treating it that way changes the maths considerably. ## Typical Lifespan Ranges With that context, here is what cassette longevity actually looks like by material: **Aluminium cassettes** (Shimano 105, SRAM Rival, most budget options) use aluminium for the smaller sprockets — the ones that wear fastest. With chains replaced correctly, expect 10,000 to 15,000 km. With chains allowed to run long, that can collapse to 3,000 to 5,000 km. **Mixed-material cassettes** (Shimano Ultegra, SRAM Force, equivalents) use steel on the small sprockets that take the most load. Expect 15,000 to 20,000 km with proper chain maintenance. This tier offers the best cost-per-kilometre value for most road and gravel riders. **High-end cassettes** (Shimano Dura-Ace, SRAM Red, Campagnolo Super Record) use hardened steel or titanium throughout the critical range. With wax lubrication and chains replaced at the 0.5% threshold consistently, 20,000 to 30,000 km is achievable. The same cassette with neglected chains will not outlast the aluminium alternative. The 3,000–5,000 km floor applies regardless of how much you spent. Material quality cannot overcome the damage done by a worn chain. ### The Speed Count Factor The speed count of your drivetrain also sets the rules of engagement. 11-speed and 12-speed systems pack the cogs tighter. Narrower spacing means the chain has less margin for misalignment before it loads the teeth incorrectly. For 11-speed systems (Shimano and SRAM) and 12-speed Shimano, Park Tool specifies chain replacement at 0.5% wear. SRAM's 12-speed Eagle and AXS use a different chain spec and sets 0.8% as their threshold — follow the manufacturer's own guidance for your system. 9-speed steel cassettes, with their wider spacing and more material per tooth, are more forgiving. They can tolerate chains replaced at the 0.75% mark without the same degree of accelerated wear. The practical implication: if you run a modern 11 or 12-speed drivetrain, the tolerance for late chain replacement is smaller. The cost of missing the window is higher. ## Three Signs Your Cassette Needs Replacing ### 1. Hook-shaped or shark fin teeth Remove your rear wheel and hold the cassette at eye level. Look along the small sprockets — the 11t, 12t, and 13t teeth — from directly above. A healthy tooth is roughly symmetric on both faces. A worn tooth leans forward in the direction of chain travel, with the leading face rounded or scooped away. The tooth ends up pointed, like a shark fin. This visual check requires no tools and takes 30 seconds. If the teeth are clearly hooked or asymmetric, replacement is overdue. ### 2. Chain skipping under load If your cassette is worn to match an elongated chain, a new chain will skip immediately when you put power through it. This is the most common way cyclists discover cassette wear: they replace the chain, and the cassette now skips on all their favourite gears. Skipping that appears specifically with a new chain, under load, that resolves when you fit the old chain back on, is confirmation the cassette is past its service life. ### 3. Jumping under power Intermittent gear jumping — where the chain drops into the next sprocket under a hard pedal stroke, then returns — is a subtler symptom of worn teeth. It is easy to misattribute to cable tension or derailleur adjustment. If indexing changes fail to fix it, and the cassette has accumulated significant mileage, worn teeth are the more likely cause. ## How to Check Cassette Wear Unlike chains, cassettes have no single-measurement wear tool. Assessment combines three inputs: **Visual inspection** is the primary method. The shark fin check described above identifies wear that is already significant. You are looking for asymmetric tooth profiles on the most-used sprockets. **The new chain test** is the most reliable confirmation. Drop a new chain onto the suspected sprocket and apply load by pedalling through it. A cassette within serviceable life will engage cleanly. A worn cassette will skip. This test distinguishes a cassette that looks borderline from one that is genuinely past threshold. **Mileage history** is the third input. If you know the cassette has accumulated kilometres in the range of its tier's expected lifespan, and tooth profiles are showing early asymmetry, replacement is appropriate even if the wear is not yet severe. Waiting for fully developed shark fin teeth means waiting until damage is already accelerating. A useful heuristic: the three-chain rule. Replace the cassette after every three chains. Under consistent chain replacement at 0.5% wear, three chains at 3,000 to 5,000 km each covers roughly the expected lifespan of an entry-level cassette. For higher-tier cassettes with longer-lived chains, the arithmetic shifts, but the principle holds: cassette and chain replacement are coupled decisions. ## Why Tracking Chain Changes Is the Real Answer The question cyclists actually want answered when they search "how long does a bike cassette last" is usually one of two things: am I due for a replacement now, or how do I avoid an unexpected replacement later? Both answers come back to chain maintenance history. A cassette covered 12,000 km with three carefully replaced chains at 0.5% wear is in a fundamentally different state than one that covered 12,000 km with two chains allowed to run to 0.85% before replacement. The second scenario may have already destroyed the cassette by the time you check it. The first may have years of life remaining. The problem is that most cyclists cannot reliably recall when they last replaced their chain, how many kilometres ago that was, or whether the chain at installation was at a 0.5% or 0.75% threshold. They check when they remember — which is often after symptoms have already started. This is the structural gap that [tracking your chain changes](/blog/when-to-replace-bike-chain) closes. Knowing the exact distance on your current chain, against the threshold for your drivetrain speed, converts cassette lifespan from an unknown into something you can actively manage. Each timely chain swap is a direct extension of cassette life. Three or four correct chain replacements at scale across a training season can add 10,000 to 15,000 km to a cassette that would otherwise be worn out in a fraction of that distance. The chain is not a consumable you deal with when it becomes inconvenient. It is the primary maintenance lever for the most expensive components in your drivetrain. ## How Componentry Tracks This Automatically The mechanical logic is straightforward. The practical challenge is remembering to act on it. Componentry tracks the distance on every component on every bike, updated automatically from each Strava, Garmin, or Wahoo activity. No manual logging. No trying to recall installation dates. For each bike, you set thresholds for the chain and cassette separately — calibrated to your drivetrain speed, your typical conditions, and the material tier of your cassette. When the chain approaches its replacement threshold, you get an alert. You replace the chain before it begins concentrating load on the cassette teeth. The cassette accumulates correctly maintained kilometres instead of damaged ones. For riders who own multiple bikes, this matters more than for single-bike households. A gravel cassette accumulating off-road kilometres in abrasive conditions follows a completely different wear curve than a road cassette in dry weather. Componentry tracks each one separately, so you know which bike needs attention next — not just which bike has covered the most total kilometres. The sign-up takes two minutes. The component thresholds take another five. From there, [the app handles the tracking](/), and you make the replacement decisions on schedule rather than in response to a problem. --- **Know your cassette's wear state before the new chain tells you.** Componentry tracks chain and cassette mileage independently across every bike — syncing automatically from Strava, Garmin, and Wahoo. Set custom thresholds per component and get alerted before the problem appears. [Get started free →](/) --- ## Further Reading **Related Componentry Articles:** - [When to Replace Your Bike Chain: The Complete Guide](/blog/when-to-replace-bike-chain) — exact wear thresholds by drivetrain speed, five signs to check, and the measurement methods - [Cassette Lifespan: How Many Kilometres Before You Need to Replace It?](/blog/cassette-lifespan) — deeper technical guide covering material tiers, speed count thresholds, and drivetrain compatibility - [The Chain-Stretch Domino Effect](/blog/chain-stretch-domino-effect) — how worn chains accelerate cassette and chainring damage, with full cost analysis **Technical Reference:** - [Park Tool: When to Replace a Chain](https://www.parktool.com/en-int/blog/repair-help/when-to-replace-a-chain-on-a-bicycle) — wear thresholds, measurement methods, and the chain-cassette wear relationship - [Zero Friction Cycling: Chain Longevity Research](https://zerofrictioncycling.com.au/chain-longevity/) — independent testing data on lubrication, chain wear rates, and drivetrain longevity - [January 2026 Update](https://www.componentry.app/blog/january-2026-update): Bike fit tracking, Wahoo activity import, component measurements, seven languages, and unit preferences. Published: 2026-01-31 | Categories: update | Tags: monthly-update, bike-fit, wahoo, measurements, localisation January brought some significant improvements to how you track and understand your bikes in Componentry. Here's what's new. ## Bike Fit Measurements Your positioning matters. Now you can track 35+ measurements across saddle, handlebar, stem, cockpit, cleats, and frame geometry — all linked to your bike profiles. Save each fit as a version. Compare side-by-side. See exactly what changed between professional fits or your own adjustments. No more guessing if you moved that saddle 3mm forward or back. ## Wahoo Activity Import Already have months of rides in Wahoo? Import them directly. Choose your last 7, 30, 60, or 90 workouts and they'll process in the background, updating component wear automatically. No manual logging. No data entry. Connect and import — your component usage updates itself. ## Component Measurements Track specifics like brake pad thickness and chain stretch. Record measurements during service logs with notes on condition. When you retire a component, capture its final state in one step. Over time, this builds a history of each component's decline — giving you the data to know exactly when to act next time. ## Seven Languages Componentry is now available in German, Spanish, French, Italian, Polish, and Portuguese. Pick your language on any page and it follows you through sign-up and into your account. ## Metric or Imperial — Your Choice Distance values throughout the app now respect your preferred units. Set it once in your preferences; see kilometres or miles everywhere. ## Coming Soon: Mobile Apps We've been building native iOS and Android apps that bring your component tracking on the road. Wahoo import, bike management, and your full gear overview — in your pocket. More details soon. - [July 2026 Update](https://www.componentry.app/blog/july-2026-update): Drivetrain power loss shows the watts a dirty chain is costing you, plus a five-step setup checklist, reminders sorted by urgency, and chain wax tracking. Published: 2026-07-31 | Categories: update | Tags: monthly-update, drivetrain-power-loss, setup-checklist, reminders July was about turning what your bike already tells you into numbers you can act on. A new Drivetrain Power Loss estimate puts a watt figure on chain wear and grime, a setup checklist shows your whole onboarding journey at once, and reminders now sort themselves by how urgent they actually are. Here's what shipped. ## See the Watts a Dirty Chain Is Costing You Your chain's condition quietly costs you watts, and now you can see how many, and how many you'd get back with a clean and fresh wax or lube. Every chain in your gear list shows an estimated recoverable-watts figure, broken down into contamination, lubrication state, and chain stretch, and the number rolls up to your bike cards so a neglected chain is visible at a glance. Mark your chain's lube reminder complete and the estimate re-evaluates from a fresh baseline. It's live on web and mobile, and it phrases the recovery plainly: "Recover 3.1 watts," not a label you have to decode. ## A Checklist That Shows Your Whole Setup Journey Getting started used to show one prompt at a time, so you could never tell how much was left. Your dashboard now opens with a checklist of the five steps that get your bikes fully tracked, all visible at once, with your progress on top. Steps tick themselves off from your real data, the next one expands with a quick way to jump in, and you can start wherever you like. It's the same five steps in the same order on web and mobile, and it retires for good once you're done, on every device you sign in from. ## Reminders That Sort Themselves by Urgency Almost every reminder used to carry the same label, whether it was due in three days or eight months. Reminders now fall into four states: Overdue, Due Soon, Upcoming, and Scheduled, and your dashboard only shows what's actually live. Distance and ride-count reminders now rank alongside dated ones instead of sitting at the bottom, so "30 km to go" shows up where it belongs. Available on web and mobile, with the same states and the same order on both. ## Record Whether Your Chain Runs on Wax A new Waxed toggle on chains lets you record whether a chain is wax-lubricated, in the chain's own details or right in a service note or maintenance check. Your component list shows Waxed or Lubricant next to the chain at a glance, and it feeds straight into your Drivetrain Power Loss estimate, since a waxed chain stays cleaner for longer. Available on web and mobile. ## A Personalised Wear Number You Can Trust When a component has a personalised prediction, its wear bar now uses that predicted lifespan instead of the manufacturer's distance rating, while age and usage-hours limits can still take over when they matter more. The component view labels the wear figure with the measure behind it (distance, duration, time, or predictive), and a sparkles badge flags components with a personalised prediction. It's the same number, the same colour, and the same reasoning on web and mobile. ## Also Shipped This Month - **Pair rides with Strava yourself.** Pick the right match from your twenty most recent Strava activities when an automatic pairing doesn't land, and swap or disconnect it whenever you need. - **See exactly how a ride picks its profile.** A new "How profiles work" panel on the bike page shows which profile a hypothetical ride would match, and why. - **A proper welcome on mobile.** New installs open with a five-screen tour of what Componentry does, shown once and available in every supported language. ## A Round of Fixes - **Karoo ride times are corrected.** Rides synced from a Hammerhead Karoo were recording a ride time up to a thousand times too long, plus the wrong start time. Every existing ride has been repaired and affected components recalculated, no re-import needed. - **Reassigning several activities to a new bike** now re-applies each one's profile correctly, instead of keeping the profile from the old bike. - **Replacement dates further than two years out** now read as "2+ years" instead of an implausibly precise date, on web and mobile. - **New accounts on a previously-used device** now see their setup checklist from the first launch, instead of an empty home screen. ## On the Blog Five new guides this month: - **[Electronic Shifting Battery Tracking](/blog/di2-axs-battery-tracking)** — how to predict Di2 and AXS battery life for any upcoming ride, across multiple bikes. - **[Cassette Lifespan: How Many Kilometres Before You Need to Replace It?](/blog/cassette-lifespan)** — how material tier, drivetrain speed, and chain replacement history decide how long a cassette lasts. - **[How to Track Bike Maintenance With Two or More Bikes](/blog/tracking-maintenance-multiple-bikes)** — managing component wear across road, gravel, indoor, and seasonal bikes without losing track. - **[How Much Does a Worn Drivetrain Actually Cost?](/blog/cost-of-worn-drivetrain)** — the real price of neglect, from chain to cassette to chainrings. - **[Garmin Bike Maintenance App: The Only Tracker That Connects Without Strava](/blog/garmin-wahoo-bike-maintenance-app)** — syncing components directly from Garmin Connect and Wahoo Cloud. - [June 2026 Update](https://www.componentry.app/blog/june-2026-update): Maintenance Checks for a quick bike look-over, battery status for your electronics, support chat on every mobile screen, and a round of fixes. Published: 2026-06-30 | Categories: update | Tags: monthly-update, maintenance-checks, battery-status, support-chat June was about seeing more of what your bike, and your rides, are telling you, without extra steps. A Maintenance Check gives you a fast way to log a look-over without opening a full service, battery status brings what your bike computer already records about your electronics onto your dashboard, and mobile picked up support chat everywhere you need it. Here's what shipped. ## A Quicker Way to Check Your Bike Not every trip to the workstand is a full service. A Maintenance Check is a stripped-back record for when you just want to look the bike over: eyeball the brakes, check the tires, measure chain stretch, and note what you found. You get a date, the bike, an overall note, and a note against any installed component. Nothing to retire, nothing to replace, just your observations saved so you can watch how readings move from one check to the next. Found more work than you expected? Open the check and choose Swap to Service Log. Your date and notes carry straight across, and the full service log opens up so you can retire worn parts and fit replacements. ## See the Battery Status of Your Electronics Your bike computer already records the battery level of the electronics it talks to on a ride: electronic shifting, power meters, and sensors. Componentry now brings that to the web. Each recent activity on your dashboard shows a small battery badge for every device that reported in, colour-coded so anything that needs attention stands out: green is healthy, amber is low, and red is critical. Open any activity from your history for the full readout under Reported Electronics. It's an easy way to catch a fading shifter or sensor battery before it leaves you stranded mid-ride. ## Support, One Tap Away on Mobile Reaching us on mobile no longer means a trip into Settings. A support button now sits in the top-right of the screens you use most: Activities, Bikes, and every bike section from Components through to Race-day Readiness. Open it and you get the in-app chat from wherever you are, so you can message us directly. ## A Round of Mobile Fixes The mobile app also picked up a batch of fixes this month: - **Sensor battery status is now accurate** everywhere it appears (activity detail, the latest-activity card, and the iOS home-screen widget), so healthy sensors reporting "ok", "new", or "charging" are no longer flagged as low. - **Two-factor authentication now works in the app.** Enter your 6-digit code right after signing in to unblock name and profile-picture updates and your account details. - **Picking a new profile picture** opens your photo library directly, with a square crop. - **Updating your name** now confirms as soon as it's saved. ## On the Blog Four new guides this month: - **[The Quick Maintenance Check: Catching Brake, Tire and Chain Wear Early](/blog/quick-maintenance-check)** — how a two-minute look over the bike turns one-off glances into a trend you can act on. - **[Your Service History Is Your Resale Value](/blog/bike-service-history-resale-value)** — what documented maintenance records are worth when it's time to sell. - **[How Often Should You Re-Wax Your Bike Chain?](/blog/waxed-chain-intervals)** — the data-backed intervals for hot-melt wax and drip lubes, and the cues that say you've waited too long. - **[Di2 Battery Life: How to Track, Extend, and Never Get Caught Dead on a Climb](/blog/di2-battery-life-tips)** — battery expectations for electronic shifting, and how to stay ahead of a flat. - [The Lifecycle of a Watt: Where Your Cycling Power Loss Actually Happens](https://www.componentry.app/blog/lifecycle-of-a-watt): Discover where cycling power loss occurs in poorly maintained bikes. From chain friction to brake drag, learn how neglected maintenance costs 30+ watts and what to fix first. Published: 2026-01-27 | Categories: performance, maintenance | Tags: power-loss, efficiency, drivetrain, maintenance, marginal-gains, friction Your power meter reads 250 watts. You're holding threshold on a familiar climb, legs burning, lungs working. But those 250 watts don't all reach the road. Understanding cycling power loss is critical for performance optimization. Between your pedal stroke and forward motion, a portion of every watt disappears into friction, heat, and wasted energy. In a well-maintained system, you lose about 8% to unavoidable mechanical losses. In a poorly maintained bike, that number climbs to 20% or more. The difference between these two states is 30 watts, and most cyclists ride closer to the latter without realizing where their cycling power loss occurs. The concept of cycling power loss is not abstract. It's measurable, quantifiable, and has direct impact on every segment time, every climb, every race result. Unlike fitness gains that require months of structured training, mechanical efficiency and reduced power loss can be restored in hours with systematic maintenance. This is the lifecycle of a watt, where your power actually goes, and which losses matter most. ## The Watt's Journey Through a Perfect System Even in ideal conditions with pristine components, some cycling power loss is unavoidable. The chain must articulate around sprockets and pulleys. Bearings must rotate under load. Tires must deform and recover with each revolution. These are the physics of bicycle propulsion. A perfectly maintained modern road bike with an 11 or 12-speed drivetrain, properly inflated tires, and well-adjusted components typically transmits about 92-96% of pedal power to the road. At 250 watts input, this means 230-240 watts of actual propulsion. The 10-20 watt baseline loss is distributed across the entire system. This baseline efficiency requires consistent maintenance. Clean chain, proper lubrication, true wheels, aligned brakes, optimal tire pressure, serviced bearings. The moment any component deviates from optimal condition, additional losses begin to accumulate. What starts as an extra watt or two compounds across multiple degraded components into significant drivetrain friction and cycling power loss on every pedal stroke. ## Loss Point #1: The Chain (2-8 Watts) The chain is your drivetrain's primary power transmitter and its biggest source of potential drivetrain friction. Understanding where friction occurs requires looking inside the chain itself, not just at the obvious external contact points. SILCA, a leader in chain lubrication science, identifies the critical friction sources: > "The interaction between the inner plates and the rollers is one of the main sources of friction in a chain. This friction occurs every time the chain links bend — think every time around the chain ring, both pulley wheels, and the cassette." — [SILCA: Chain Friction Explained](https://silca.cc/blogs/silca/chain-friction-explained) The gap between inner plates and rollers measures approximately 1/4 the thickness of notebook paper. Every pedal stroke forces these microscopic surfaces to slide against each other thousands of times. In a clean, well-lubricated chain, this friction is minimized. The lubricant creates a protective film that prevents metal-to-metal contact. In a worn or dry chain, drivetrain friction multiplies. As the chain elongates through pin and roller wear, the spacing between links no longer matches cassette tooth spacing precisely. This misalignment forces the chain to bend slightly at each engagement point, increasing internal friction exponentially. What started as 2 watts of friction in a new, clean chain becomes 5-8 watts in a worn, poorly lubricated chain at 0.75% wear or beyond. Zero Friction Cycling's extensive testing validates this progression: > "Your chain and its lubricant are the most important drivetrain components. Buying cheap chains to save money just costs you more as they wear out faster, usually taking your cassette with it." — [Zero Friction Cycling](https://zerofrictioncycling.com.au/) The chain friction tax is detailed extensively in our previous article on [The Friction Tax](https://www.componentry.app/blog/friction-tax-chain-wear), but the key point remains: a clean, properly lubricated chain operating below 0.5% wear costs 2-3 watts. A neglected chain approaching 1.0% wear costs 6-10 watts. The difference accumulates over every mile. ## Loss Point #2: Derailleur Pulleys (1-4 Watts) The rear derailleur's two pulley wheels guide the chain through its path and maintain tension. Each pulley contains a bearing that rotates under load every time you pedal. These small bearings contribute more to cycling power loss than most cyclists realize. Standard derailleur pulleys with basic sealed bearings produce roughly 1-2 watts of friction in clean, maintained condition. The losses come from bearing drag and the chain wrapping around the small diameter pulley wheels, which requires tighter bending and more articulation friction than larger diameter components. This is why oversized pulley wheel (OSPW) systems exist. By increasing pulley diameter, the chain bends through a gentler arc, reducing articulation friction. CeramicSpeed and similar manufacturers claim 2-5 watt savings from OSPW systems with ceramic bearings. Independent testing suggests the real-world benefit is closer to 1-3 watts in optimal conditions. The larger issue is pulley maintenance. Dirt, old lubricant, and debris accumulate in the derailleur cage over thousands of miles. The pulley bearings can become gritty or dry. The pulley teeth wear down. In this degraded state, what should be 1-2 watts of friction becomes 3-5 watts. The loss is gradual enough that you don't feel it happening, but your segment times show the tax over time. Regular cleaning and occasional pulley replacement maintain baseline efficiency. For most riders, this matters more than upgrading to exotic materials. A clean standard pulley outperforms a dirty ceramic one. ## Loss Point #3: Cassette & Chainring Engagement (1-3 Watts) When a chain elongates, it no longer seats correctly in cassette and chainring teeth. Instead of load distributing evenly across the tooth face, it concentrates at the tip. This misalignment creates two problems: accelerated wear of the expensive components and increased drivetrain friction. The chain-cassette misalignment forces imperfect meshing. Each tooth engagement requires the chain to flex slightly to accommodate the dimensional mismatch. This flex adds friction to every pedal stroke. In a system with a fresh chain on a healthy cassette, engagement friction is minimal, roughly 1 watt. As chain wear progresses and cassette teeth begin to hook from uneven loading, engagement friction increases to 2-3 watts or more. The worn cassette compounds the problem even after you install a new chain, because the hooked teeth no longer provide optimal engagement. This is the cascade failure that Park Tool warns against: > "Replacing a chain at the correct interval can extend the life of a cassette by three to four times." — [Park Tool: When to Replace a Chain](https://www.parktool.com/en-int/blog/repair-help/when-to-replace-a-chain-on-a-bicycle) Cross-chaining adds another friction penalty. Running the chain at extreme angles (big-big or small-small) increases plate-to-plate contact friction and forces the chain through inefficient bends at the front derailleur. This can add 1-2 watts depending on severity. Modern drivetrain design minimizes cross-chaining scenarios, but the losses still exist at extremes. The combined cassette and chainring engagement losses range from 1 watt in optimal conditions to 3-4 watts with worn components and poor chain lines. This loss category is entirely preventable with timely chain replacement, as detailed in our [drivetrain efficiency guide](https://www.componentry.app/blog/drivetrain-efficiency-cassette-precision). ## Loss Point #4: Wheel Bearings (1-3 Watts) Wheel hubs contain bearings that support your weight and all pedaling forces while allowing the wheels to rotate freely. In properly adjusted, well-maintained condition, quality hub bearings contribute approximately 1-2 watts of total friction across both wheels. This baseline assumes the bearings are correctly tensioned (no play but no binding), properly greased, and free from dirt or wear damage. Over time, several failure modes increase bearing friction. Bearings can be over-tightened during installation or adjustment, creating constant drag. The grease can dry out or become contaminated. The bearing races can develop pitting from impacts or corrosion. Seals can stick or drag. In degraded condition, wheel bearings can contribute 3-5 watts of total friction. Severely damaged or bone-dry bearings can exceed this, though at that point the wheel usually feels noticeably rough when spinning. Most bearing issues exist in a middle ground where friction increases but the wheel still feels reasonable. The simple spin test reveals bearing health. A properly maintained wheel should spin freely and coast for 20-30 seconds when spun by hand. If the wheel stops in 5-10 seconds, the bearings need service. Manufacturers recommend annual bearing service for sealed cartridge bearings, more frequently for cup-and-cone systems or harsh conditions. For most cyclists, bearing maintenance is neglected until something feels obviously wrong. This allows 1-2 watts of extra friction to persist for thousands of miles. Regular service returns those watts. ## Loss Point #5: Brake Drag (0-15 Watts) — The Most Common Hidden Culprit Brake drag is the most frequently overlooked source of cycling power loss and often the largest single contributor in a poorly maintained bike. Unlike worn chains or dirty derailleurs that degrade gradually, brake drag can appear suddenly and persist unnoticed for months. Disc brakes are particularly susceptible. A slight rotor warp, caliper misalignment, or pad contamination creates constant light contact between pad and rotor. This friction doesn't produce the obvious squeal or vibration of severe brake rub. It's a whisper-quiet tax on every revolution. Industry testing and mechanic experience suggests that even slight disc brake drag can cost 5-10 watts per wheel. Moderate pad contact can reach 10-15 watts. In severe cases (noticeable drag), losses can exceed 20 watts. The frustrating part is how common this is and how often riders don't detect it. The spin test reveals brake drag immediately. Lift each wheel and spin it firmly. A properly adjusted brake allows the wheel to coast for 20-30 seconds, gradually slowing. If the wheel stops in 5-10 seconds, or if you hear any contact sound, you have brake drag. For disc brakes, watch the rotor as it passes through the caliper. Even 1-2mm of lateral wobble can cause intermittent contact. Fixing brake drag is often simple: loosen the caliper mounting bolts, squeeze the brake lever to center the caliper, retighten the bolts while holding the lever. For persistent issues, the wheel may need truing or the rotor needs straightening. These are routine maintenance tasks, but many riders never check. Rim brakes suffer similar issues. Brake pads that sit too close to the rim create constant drag. Misaligned pads that contact the tire sidewall rather than the braking surface waste power and destroy tires. Sticking brake pivots prevent full pad retraction. Check your brakes first when investigating cycling power loss. It's the highest impact, easiest fix, and most commonly neglected component. Eliminating 10 watts of brake drag requires 10 minutes and basic tools. Gaining 10 watts through training requires months. ## Loss Point #6: Tire Rolling Resistance (Brief Context) Tires are a significant contributor to cycling power loss, but their optimization is somewhat separate from the mechanical maintenance focus of this article. Proper tire pressure, tire choice, and tire condition all dramatically affect rolling resistance, with losses ranging from 15 watts per tire in optimal conditions to 30+ watts in poor conditions. Underinflated tires are the most common issue. Running 20 PSI below optimal pressure can add 10-15 watts per tire. Aged tires with hardened rubber compound increase rolling resistance by 3-5 watts per tire even at correct pressure. Tire choice matters immensely, with differences of 10-20 watts between fast racing tires and heavy touring tires. The good news is that tire pressure is easily checked and corrected. The challenge is that optimal pressure varies by tire, rider weight, and road conditions, and requires regular monitoring as tires naturally lose pressure. For the purposes of understanding total system cycling power loss, include tires in the calculation but recognize that tire optimization deserves dedicated attention. We'll cover tire rolling resistance in depth in a future article. For now, know that tires typically account for 15-30 watts of your total power loss depending on setup and maintenance. ## The Cumulative Tax: System-Level Thinking Individual component losses seem small in isolation. A few watts here, a few watts there. But cycling power loss is cumulative. Every friction point extracts its tax simultaneously, and the total impact is substantial. Consider two identical cyclists producing identical power on identical routes. One maintains a pristine bike, the other neglects routine maintenance. The cycling efficiency difference is dramatic: **Well-Maintained System (250W input)** - Clean, lubed chain (< 0.5% wear): -2W - Clean derailleur pulleys: -1W - Fresh cassette, aligned chainring: -1W - Serviced wheel bearings: -1W - Properly adjusted brakes (zero drag): 0W - Optimal tire pressure and condition: -15W - **Total loss: 20W (8%)** - **Power to road: 230W** **Poorly Maintained System (250W input)** - Worn, dry chain (0.75%+ wear): -8W - Dirty, worn derailleur pulleys: -4W - Worn cassette from neglected chain: -3W - Tight or contaminated wheel bearings: -3W - Slight disc brake rub (undetected): -10W - Underinflated and aged tires: -22W - **Total loss: 50W (20%)** - **Power to road: 200W** The cycling efficiency gap is 30 watts. This is not theoretical. It's the measured difference between systematic maintenance and systematic neglect. What does 30 watts of cycling power loss mean in real-world riding? At 250 watts total output, losing 30 watts to mechanical friction translates to roughly 0.5-0.7 mph slower climbing speed, 30-45 seconds per mile on moderate grades, and 15-20 minutes over a typical 30-mile hilly ride. On Strava segments, it's the difference between top 10 times and mid-pack results at identical fitness levels. Professional teams understand this arithmetic. WorldTour mechanics replace chains every 1,500-2,000 kilometers regardless of measured wear. Brake calipers are checked daily. Wheels are trued weekly. Bearing preload is verified before every race. The goal is not just reliability but preserving every available watt for the rider. The amateur cyclist producing 250 watts through months of interval training loses 12% of that power to preventable mechanical friction. The training time invested to produce those watts makes the maintenance time to preserve them trivial by comparison. ## How Componentry Fits Into Your Care Routine Tracking individual component wear is manageable. Tracking the combined wear state of an entire bike across multiple bikes becomes complex quickly. Mental tracking fails. Spreadsheets require discipline. Maintenance gets deferred until symptoms appear, leading to unnecessary cycling power loss. Componentry removes the manual tracking burden through automated integration with Strava, Garmin, Wahoo, and other platforms. Every ride updates the usage data for every component on the bike you rode. The system tracks chains, cassettes, brake pads, tires, and other wear items independently, accounting for different wear rates across different bikes. The value extends beyond simple mileage counting. A hilly 50-mile ride stresses the drivetrain differently than a flat 50-mile ride. Wet conditions accelerate chain wear. Gravel riding differs from road riding. Componentry's algorithms account for these variables to provide more accurate wear predictions than simple odometer tracking. You receive alerts before components reach critical thresholds. For a chain, the notification arrives at 1,800 miles on an 11-speed system, giving you time to order a replacement before hitting the 2,000-mile replacement point at 0.5% wear. The alert is proactive, not reactive. It tells you to replace before drivetrain efficiency degrades and before cassette damage begins. The dashboard provides system-level visibility. You see not just the chain status but the cassette status, the brake pad status, the tire mileage. You can identify when multiple components approach service intervals simultaneously and batch the maintenance work. You can see which bike in your stable needs attention and which has thousands of miles remaining on all components. For the performance cyclist optimizing marginal gains and minimizing cycling power loss, Componentry ensures you're never unknowingly paying the friction tax. You maintain that 8% baseline loss rather than sliding toward 15-20% as components degrade. You protect expensive cassettes and chainrings through timely chain replacement. You avoid the cascade failures where deferred maintenance creates compound problems. The mental load reduction is significant. You don't need to remember when you last replaced the chain. You don't need to estimate brake pad wear by visual inspection. You don't need spreadsheets tracking tire mileage across four bikes. You just ride, and the system tracks everything automatically. The 30 watts you preserve through systematic maintenance are watts you already produced. Componentry helps you keep them. --- **Stop paying the friction tax.** Componentry tracks the wear state of every component across every bike you ride — chain, cassette, brake pads, and more — by syncing automatically with Strava, Garmin, and Wahoo. Get alerts before components degrade performance, not after symptoms appear. [Get started free →](/) --- ## Recommended Videos & Further Reading **[Chain Friction Explained](https://silca.cc/blogs/silca/chain-friction-explained) — SILCA** Deep technical analysis of where friction occurs in bicycle chains, with detailed diagrams showing the internal mechanics of chain articulation and the critical role of lubrication. **[When to Replace a Chain on a Bicycle](https://www.parktool.com/en-int/blog/repair-help/when-to-replace-a-chain-on-a-bicycle) — Park Tool** Industry-standard chain wear measurement methods and replacement thresholds for different drivetrain speeds, including the protection this provides for cassettes and chainrings. **[Zero Friction Cycling](https://zerofrictioncycling.com.au/) — Adam Kerin** Independent testing facility with over 300,000km of controlled chain and lubricant testing. The most comprehensive durability and efficiency data available in the cycling industry. **[GCN Maintenance Tutorials](https://www.globalcyclingnetwork.com/) — Global Cycling Network** Video guides for brake adjustment, drivetrain cleaning, bearing service, and identifying common maintenance issues that cause power loss. **[The Friction Tax: How a Worn Chain Costs You 5-10 Watts](https://www.componentry.app/blog/friction-tax-chain-wear) — Componentry** Detailed exploration of chain-specific power loss and the cascade effect on cassettes when chains are replaced too late. **[Drivetrain Efficiency: The Physics of Cassette Precision](https://www.componentry.app/blog/drivetrain-efficiency-cassette-precision) — Componentry** Technical deep dive into why expensive cassettes require strict maintenance precision and how to optimize drivetrain efficiency. **[Digital Twin Bicycle Maintenance](https://www.componentry.app/blog/digital-twin-bicycle-maintenance) — Componentry** How predictive tracking and systematic maintenance eliminate reactive repairs and optimize component replacement timing across your entire bike. - [March 2026 Update](https://www.componentry.app/blog/march-2026-update): Hammerhead integration, activity-based reminders, Garmin historical import, provider improvements, and bike profiles on the horizon. Published: 2026-03-31 | Categories: update | Tags: monthly-update, hammerhead, garmin, reminders, providers March brought a new provider integration, smarter reminders, and expanded import options across web and mobile. Here's what shipped. ## Hammerhead Integration Componentry now connects to your Hammerhead Karoo. Link your account from the Apps page and rides sync automatically — activity data flows into your component wear tracking just like Strava, Wahoo, and Garmin. Hammerhead activities appear in your activity list with the Karoo icon, contribute to wear calculations, and are fully supported across web and mobile. Import your recent rides during setup by choosing from the last 7, 30, 60, or 90 workouts. ## Activity-Based Reminders Reminders can now trigger by ride count, not just time or distance. Set a chain lube reminder every 5 rides, or a brake pad check every 20. The counter increments automatically as activities come in and resets when the reminder fires. Combine activity-based triggers with time and distance on the same reminder — whichever threshold hits first wins. Progress is visible across the app: reminder lists, bike detail views, and the home screen. This feature is available on web and mobile, marked as Beta while we gather feedback. ## Garmin Activity Import You can now import historical Garmin activities on both web and mobile. Choose a time window — 30 days, 90 days, 6 months, or a full year — and your rides backfill in the background. Activities are delivered asynchronously by Garmin and appear as they process. Duplicate import requests are handled gracefully, so there's no risk of double-counting rides you've already synced. ## Provider Improvements Disconnecting a provider now fully cleans up all credentials and session data. Reconnecting starts fresh — no leftover state from the previous connection. Behind the scenes, Garmin's activity sync pipeline gained a delayed processing queue to handle timing edge cases, more reliable FIT file downloads, and improved token handling. These changes make the Garmin connection more robust for users who rely on it as their primary data source. ## On the Blog Two new guides this month, both focused on the most impactful maintenance decision you can make — knowing when to replace your chain: - **[When to Replace Your Bike Chain: The Complete Guide](/blog/when-to-replace-bike-chain)** — Exact wear thresholds by drivetrain speed, five warning signs, mileage benchmarks, and the real cost difference between proactive and reactive replacement. - **[The Chain-Stretch Domino Effect](/blog/chain-stretch-domino-effect)** — How one worn chain cascades damage to your cassette and chainrings, turning a $40 swap into a $700 repair bill. Understand the mechanics and know exactly when to intervene. ## Coming Soon: Bike Profiles If you alternate chains for wax cycling, swap between training and race wheelsets, or run different cassettes for different terrain — this one's for you. Bike profiles let you define multiple component setups per bike so that wear only tracks against rides where those components were actually installed. Set a default profile for everyday riding and switch to your race setup when it matters. Auto-assignment via sensor detection is part of the plan, so the right profile activates without manual intervention. More details soon. - [Maximizing Grip and Longevity: The Definitive Guide to Tire Lifecycle Management](https://www.componentry.app/blog/maximizing-grip-and-longevity): Your only contact point with the road is a few square centimeters of rubber. Ensure every millimeter counts through predictive maintenance and precision pressure. Published: 2025-12-31 | Categories: maintenance, guide | Tags: tire, maintenance, tubeless, pressure, wear, safety For the uncompromising cyclist, a tire is more than just a consumable; it is a critical component of your machine’s mechanical integrity. Whether you are descending a mountain pass on a Pinarello Dogma or navigating technical singletrack on an S-Works Epic, your tires dictate your limit of grip, rolling resistance, and safety. At Componentry, we view tire maintenance not as a chore, but as asset preservation. By moving from reactive repairs to a predictive maintenance approach, you ensure your equipment operates at peak performance while protecting your high-performance investment. ## The Science of Wear: Beyond the Visual Inspection While many riders wait for a catastrophic failure (a flat) to address their tires, the Data-Driven Purist understands that performance degrades long before the tube shows. - **The "Check Engine" Light for Rubber:** Unlike cassettes, tires don't always stretch, but they do lose material and structural supple-ness. Use Componentry to track the exact mileage of each tire in your stable, setting Service Triggers to alert you when a tire reaches its manufacturer-recommended lifecycle. - **The Flat-Spot Effect:** High-mileage tires develop a squared-off profile, which increases rolling resistance and compromises cornering stability. - **Expert Insight:** As noted by [Park Tool](https://www.parktool.com/), many modern tires include a Wear Indicator (TWI)—a small indentation in the tread. Once this disappears, your mechanical integrity is officially compromised. ## Pressure as Performance: The Marginal Gain For the Competitive Racer, tire pressure is the ultimate marginal gain. Incorrect pressure doesn't just feel bad; it wastes watts through casing deformation or suspension losses (vibration). - **Precision Telemetry:** Your ideal pressure isn't a static number printed on the sidewall; it’s a variable based on your total system weight, rim width, and terrain. - **Optimizing Expenditure:** Over-inflating tires accelerates center-tread wear, while under-inflating risks snake-bite punctures or sidewall damage. - **Expert Insight:** [SILCA's Professional Pressure Calculator](https://www.google.com/search?q=https://silca.cc/pages/sppc-form) is the gold standard for determining your optimal PSI/Bar based on real-world surface conditions. ## The "Silent" Risks: Aging and Perishing For the cyclist with a multi-bike stable, the primary enemy isn't mileage—it’s time. - **The Perishing Factor:** High-end rubber compounds can dry out and perish even if the bike remains unridden. This leads to sidewall cracking and a loss of chemical grip. - **Digital Twin Monitoring:** Componentry tracks the "age" of your components from the date of installation, ensuring you never head out for a ride on a "low-usage" bike with compromised rubber. ## Tubeless Integrity: The Invisible Maintenance If you’ve transitioned to tubeless—as most endurance cyclist have—your maintenance is now chemical as well as mechanical. - **The 90-Day Rule:** Sealant eventually dries into a "latex monster" inside your tire, leaving you vulnerable to punctures. - **Predictive Reminders:** Set a recurring Service Trigger in Componentry to refresh your sealant every 3-6 months, depending on your climate. - **Expert Insight:** [GCN’s Tubeless Maintenance Guide](https://www.globalcyclingnetwork.com/) emphasizes that a "set and forget" mentality is the leading cause of mid-race mechanical failures. ### How Componentry Fits Into Your Care Routine Maintaining your tires shouldn't be a matter of guesswork or visual inspection alone. Componentry transforms your tire maintenance from a reactive task into a systematic part of your lifecycle management strategy. - **Automated Lifecycle Tracking:** By creating your wheelset in Componentry and syncing your rides via Strava, you track the exact mileage of your rubber. No more wondering if those GP5000s have 1,000 or 3,000 kilometers on them—Componentry provides the precise telemetry you need to assess wear. - **Predictive Service Triggers:** Set custom alerts for different tire types. For your racing slicks, set a *Wear Inspection* trigger at 2,500km. For your tubeless setups, configure a *Sealant Refresh* reminder every 90 days to ensure you never face a dried-out mechanical on the road. - **Asset Preservation:** High-performance tires are an investment in speed and safety. By replacing tires at the optimal point in their lifecycle, you prevent the cascading failure of a blowout (aka. a serious crash) that could damage your premium carbon rims or, more importantly, compromise your safety during a high-speed descent. ### Recommended Videos & Further Reading For the deep-dive technician, we recommend these industry-stand`ard resources to help you optimize your contact patch: - **GCN:** [Are Your Bike Tires Worn Out? 4 Signs to Look For](https://www.youtube.com/watch?v=-W6WuWYxc1Q) – A 30-second inspection routine to identify flat spots, casing threads, and UV damage. - **GCN Tech:** [When Should You Replace A Road Bike Tyre?](https://www.youtube.com/watch?v=BfSBwLjy2L0) – Expert insights into the performance trade-offs of aging rubber. - **Park Tool:** [How to Fix a Flat Tire](https://www.youtube.com/watch?v=qm-SvNPFR4E) – The definitive mechanical guide to tire and tube removal. - **SILCA:** [The Asymmetric Effects of Tire Pressure](https://silca.cc/blogs/silca/asymmetric-effects-of-tire-pressure) – Learn why being 5 PSI over-optimal is significantly slower than being 5 PSI under. - **Park Tool:** [Tire, Wheel, and Inner Tube Fit Standards](https://www.parktool.com/en-us/blog/repair-help/tire-wheel-and-inner-tube-fit-standards) – A technical breakdown of ETRTO standards and modern rim compatibility. - **SILCA Marginal Gains Blog:** [Tire Pressure: The Most Important Thing You Are Not Paying Attention To](https://silca.cc/blogs/silca/tire-pressure-the-most-important-thing-that-you-are-not-paying-attention-to) – A masterclass in treating pressure as a performance variable rather than a static setting. - [May 2026 Update](https://www.componentry.app/blog/may-2026-update): One-pass bike setup, full-history FIT import, tire pressure tracking, an iOS home-screen widget, in-app live chat, and Dutch language support. Published: 2026-05-31 | Categories: update | Tags: monthly-update, setup-wizard, fit-import, tire-pressure, ios-widget May was about getting set up faster and seeing more at a glance. A guided wizard builds out a new bike in one pass, bulk FIT upload backfills years of riding history, and a new iOS widget puts your bike's status on your home screen. Here's what shipped. ## Set Up a Whole Bike in One Pass Adding components used to mean entering your chain, cassette, tires, and brake pads one at a time, on every bike. Now you pick a brake type and a template — Basic, Complete, or Detailed — when you create a bike, and land in a wizard with the right components pre-filled and ready to confirm. Two bulk helpers set a manufacturer or an install date across every row at once, so a full build takes a few taps instead of a dozen forms. Wheels, tires, brake pads, and rotors now track as separate front and rear components, so you can retire a worn front tire without touching the rear's history. Already running bikes, or one imported from Strava? A "Set up with a template" shortcut finishes the job and skips anything already installed. The wizard is live on web and mobile. ## Bring Your Whole Riding History Activity import used to reach only as far back as your connected provider allowed — often just a few months. You can now upload FIT files directly: drop in a single ride or a whole folder, and Componentry runs them through the same pipeline as your live syncs, with gear matching, component wear, and weather all applied. Three layers of deduplication mean the same ride never lands twice — whether you re-upload a file, already synced it from Garmin, or recorded it on two devices. Find it under Activities → Upload FIT files. This one's web-only for now. ## Track the Pressure You Run Record the front and rear pressure on each tire and see it at a glance the next time you're prepping for a ride. Pressures show as a quick Front / Rear row on every bike card across the home page and bikes list, and you can pick your unit — psi, kPa, or Bar — under Settings → Units. If you run a default profile such as race wheels versus training wheels, the card shows the pressures for that setup. Available on web and mobile. ## Your Bike's Status on Your Home Screen A new iOS home-screen widget shows your default bike without opening the app. The small size puts aggregate wear front and center with quick counts for components, sensors, and open reminders; the medium size adds your last 14 days of riding and a sensor chip that surfaces low-battery warnings from your most recent ride. Long-press your home screen, tap the plus, and search for Componentry to add it. ## Live Chat, Right in the App Reaching us no longer means an email thread. A new support card in the sidebar opens a live chat inside Componentry, so you can ask a question without leaving what you're doing. It's available to signed-in riders on web and mobile, in all nine supported languages. ## Now Available in Dutch Dutch joins German, English (US and UK), Spanish, French, Italian, Polish, and Portuguese as a fully supported language — across the marketing site and every screen behind sign-in. Choose Nederlands from your account settings and the whole interface switches immediately, with number and date formats following the Dutch defaults. The translation spans web and mobile, and mobile syncs whichever language you pick on the web. ## A Faster App, and a Round of Fixes The latest mobile app update brings faster screen transitions, snappier navigation, and a fix for the back button on the Bikes sub-screens on iOS 26. Alongside that: - **Bar tape and bottom bracket** are now tracked component types. - **Retiring from a service log** pre-fills the replacement's details and respects the service date, so a like-for-like swap is a one-tap confirmation. - **Install dates** save on the right calendar day when your account and device timezones differ. - **Editing a component on mobile** updates its wear, predictions, and reminders immediately — no manual recalculate. ## On the Blog Five guides from the blog worth a read: - **[How Long Does a Bike Cassette Last?](/blog/how-long-does-a-bike-cassette-last)** — what actually determines cassette life, and why tracking your chain changes is the real answer. - **[Drivetrain Efficiency: Why Your $1,000 Cassette Requires 0.5% Precision](/blog/drivetrain-efficiency-cassette-precision)** — how half a percent of chain wear decides whether a premium cassette survives, and the real money on the line. - **[When to Replace Brake Pads](/blog/when-to-replace-brake-pads)** — the exact measurements, mileage thresholds, and warning signs that mean it's time, before stopping power quietly fades. - **[How to Tell When Your Bike Tyres Are Worn Out](/blog/when-to-replace-bike-tyres)** — why tread is only half the story, and how to spot the casing failures most riders miss. - **[Strava Bike Maintenance: What It Can't Do](/blog/strava-bike-maintenance)** — where Strava stops and component tracking begins. - [Beyond the Spreadsheet: Optimizing Your Race Preparation](https://www.componentry.app/blog/optimizing-your-race-preparation): Optimizing race preparation through automated maintenance tracking and predictive performance. Published: 2026-01-03 | Categories: maintenance, guide | Tags: race, preparation, maintenance, performance, digital-twin, predictive Race day is the culmination of months of disciplined training. Your bicycle is a high performance investment that requires precision care to match your athletic commitment. While many riders historically relied on manual spreadsheets or generic service reminders, these static methods cannot account for the high torque and varying conditions of a competitive season. Moving beyond basic logs to a digital twin ensures your machine is as prepared for the starting line as you are. ## The Precision of a Digital Twin A digital twin is a high fidelity virtual representation of your machine that monitors every watt and wear cycle in real time. Unlike manual spreadsheets which are easily forgotten, this system utilizes AI driven wear models and manufacturer specifications to provide predictive maintenance. By integrating real time telemetry from training activities, a digital twin understands the difference between a recovery spin and a gritty gravel race. This level of precision allows for the replacement of components at the perfect moment, ensuring peak mechanical integrity. ## Eliminating the Variable of Failure Reliability is both a safety and a performance requirement for competitive athletes. A mechanical failure during a race is an emotional and financial disaster that can be avoided through better data. A digital twin acts as a proactive check engine light for your drivetrain. It monitors hidden wear in components like internal cabling or ceramic bearings that may not be visible during a standard pre race inspection. This oversight allows you to race with the confidence of a pro tour mechanic, knowing every part of your stable is optimized. ## Maximizing Marginal Gains A perfectly maintained bike is a faster bike. For the dedicated racer, a digital twin provides the insights needed to maintain a friction free drivetrain for maximum efficiency. By tracking every rotation, the system ensures that performance is never compromised by neglected hardware. This shift toward automated lifecycle management allows you to reduce the mental load of maintenance and focus entirely on your cadence and power. ## How Componentry Fits Into Your Care Routine Componentry serves as the elite mechanic working in the background to ensure your equipment is race ready. By synchronizing automatically with Strava, the platform provides a zero friction management experience for your entire collection. - **Service Triggers.** You receive automated notifications when components reach specific wear thresholds to ensure utility without noise. - **Predictive Modelling.** The platform utilizes your actual ride data to calculate exactly when to lube, charge, or service your kit before a segment or race. - **Collection Visibility.** A unified dashboard provides a high level summary of the health of your entire stable to ensure no bike is neglected. - **Zero Friction Sync.** Your bike components are automatically updated with real mileage data so you never have to guess your chain life again. ## Recommended Videos & Further Reading - **SILCA:** [The Science of Chain Friction and Wear with Josh Poertner](https://www.youtube.com/watch?v=zBFZetOnPPw) - **GCN:** [How to Create a Professional Maintenance Schedule for Your Road Bike](https://www.youtube.com/watch?v=igMGzFkj_y4) - **Park Tool:** [Advanced Drivetrain Inspection and Mechanical Integrity Standards](https://www.youtube.com/watch?v=MNDlrpIywf4) - **Componentry Blog:** [The Comprehensive Guide to Chain Maintenance](https://www.componentry.app/blog/chain-maintenance-guide) - [The Same Distance, a Different Wear Story: How Componentry Now Predicts Your Component Lifespan](https://www.componentry.app/blog/predictive-component-tracking): Distance-based component tracking treats every rider the same. Componentry's new predictive system accounts for your terrain, power output, weather exposure, and riding volume to produce a lifespan estimate that reflects how you actually ride. Published: 2026-04-22 | Categories: technology, maintenance, performance | Tags: predictive-maintenance, wear-tracking, drivetrain, race-day, personalised Two riders log the same distance on a new chain. The first rides flat, dry roads in mild weather, spinning a comfortable cadence. The second spends their season in the mountains — long descents, punchy climbs, regular rain, and normalised power 15% above their baseline. The manufacturer says both chains should last the same distance. The science says otherwise. Only one of those riders is still within safe operating limits. Distance-based tracking has always been the practical ceiling for maintenance tools. If the manufacturer states a component's lifespan, you get an alert when you reach it. It does not matter how that distance was ridden. This works well enough as a starting point. But component degradation is not linear, and it is not equal. The same consumable, ridden differently, wears on a fundamentally different curve. Componentry now accounts for this. ## Why the Same Distance Tells a Different Wear Story Chain elongation is driven by the forces acting on the drivetrain, not the distance alone. At each link, the interface between pin and inner plate wears through a combination of mechanical load, abrasion from environmental contamination, and the quality of lubrication at the time of contact. SILCA's technical analysis of chain friction identifies the inner plate-to-roller and inner plate-to-pin interfaces as the primary sites of energy loss during drivetrain operation — not the roller-to-cassette contact most riders assume. ([SILCA: Chain Friction Explained](https://silca.cc/blogs/silca/chain-friction-explained)) When power output increases, the forces at these interfaces scale proportionally. A rider producing 300 watts through a climb is loading their drivetrain at a fundamentally different rate than a rider spinning 100 watts on a flat recovery ride. Multiply this across every ride in a season and the divergence between two riders covering the same total distance can be significant. Weather compounds the effect. Water and grit act as abrasive compounds within the chain. Zero Friction Cycling's extensive real-world chain testing demonstrates that contaminated, wet conditions can reduce chain lifespan to less than half of what the same chain achieves in clean, dry conditions. ([Zero Friction Cycling](https://zerofrictioncycling.com.au/)) Terrain adds a further dimension. Descending at high load with rim brakes wears brake pads at a rate that flat-road estimates miss entirely. Extended climbing places consistent drivetrain stress that accelerates cassette wear. The gradient profile of your rides — not just their length — directly shapes how your components degrade. The data to model this has always existed in your activity files. Elevation gain and loss, average power, normalised power, cadence, temperature, rainfall. What has been missing is the intelligence layer that transforms these raw metrics into a personalised wear projection. ## What Componentry Now Calculates The new predictive system introduces four capabilities, each building on the same underlying model. ### Personalised Remaining Useful Life Rather than projecting forward from the manufacturer's stated limit, Componentry now calculates a personalised estimate based on your actual riding behaviour. Every activity you sync contributes to a riding profile: your typical terrain, your average power output relative to your baseline, your weekly volume, and the weather conditions you ride in. This profile generates an adjusted lifespan estimate and a projected replacement date. "At your current rate, replace by approximately 12 May" is a different and more useful statement than "you have reached 72% of the manufacturer's estimate." ### Adjusted Manufacturer Estimates Manufacturer specifications are built for an average rider in unspecified conditions. They are a useful starting point. They are not a reliable endpoint for a rider with a specific terrain profile, specific power output, and specific weather exposure. Componentry now surfaces both numbers side by side. The manufacturer's stated limit and your personalised adjusted estimate, with a clear multiplier. If your riding style means you wear through a chain 30% sooner than the stated limit, you see that directly, and you see why. ### Wear-Rate Factor Analysis For each component, Componentry now produces a breakdown of what is driving wear at your personal rate. The contributing factors are drawn from your actual activity data, not generic assumptions. An example output for a chain on a performance road bike might read: - **Climbing: 30% impact** — Terrain score significantly above average for your ride profile - **Power output: 20% impact** — Normalised power 15% above your own baseline - **Descending: 25% impact** — High descent volume raises drivetrain stress - **Weather: 15% impact** — 25% of rides logged in wet conditions - **Volume: 10% impact** — Weekly riding volume above the population average Each factor is tappable for further detail and contextual guidance. "Riding in wet conditions accelerates chain wear. Consider more frequent lubrication after wet rides" is advice calibrated to your situation, not generic maintenance advice. ### Race-Day Readiness The fourth capability is a forward simulation built for riders with a specific event on the calendar. Select your race or event date, choose the bike, and Componentry projects the state of every component on that date based on your current riding patterns. The output is a readiness report: - Components that will be in good condition: no action needed - Components to monitor: consider replacing if the event is critical - Components to replace before race day: specific recommended windows for when to order and fit - Components projected to be overdue: will likely need replacement before the event date The simulation accounts for the weeks between now and race day — your typical weekly volume, projected seasonal weather for your location, and an optional training load modifier if you know you will be building volume in the lead-up. As new activities come in, the projection updates automatically. A rider with Unbound Gravel at the end of May can look at their bike today and get a specific answer: "Replace your rear tyre by 10 May. Your chain will be fine. Monitor your rear brake pads." That is a different kind of confidence than guessing based on rough usage estimates. ## How the Model Works The system computes three scores for every activity, derived from the data already in your activity files. **Terrain score** is calculated from elevation gain relative to distance ridden. A flat ride scores low; a mountain stage scores five times higher or more. This single value captures the descending load (for brake pads and rims), the climbing stress (for drivetrains), and the technical nature of the terrain. **Intensity score** is a normalised composite of power output, speed, and heart rate relative to your own baseline. Your easy endurance rides and your threshold intervals produce very different wear profiles for the same distance. **Weather severity** combines temperature, precipitation, and humidity into a 0 to 1 score representing how hard conditions were on your components. This data is pulled from historical weather records matched to your activity's location and time. You do not need to log it manually. These three scores combine into a **ride stress score** — a single number representing how hard a ride was on your components relative to a baseline flat, dry, easy effort. This score, aggregated across your recent activities, drives the personalised predictions. The system applies progressive personalisation. New users start with population-level estimates informed by your emerging riding profile. Once you have accumulated enough activities on a specific bike, the model transitions to fully individualised predictions. A confidence indicator on each prediction — "Based on 127 rides" — makes the data volume explicit. ## What This Looks Like in Practice The predictive estimates appear in the component detail view alongside your existing wear bars. The adjusted lifespan bar shows your personalised estimate next to the manufacturer's. The predicted replacement date is displayed prominently. The factors card explains, in plain terms, what is driving your particular wear rate. For your bike overview, the summary now shows the component closest to its predicted replacement date — your next action at a glance. For riders preparing for an event, the race-day simulation is accessible directly from the bike detail page. Select your event date and get a complete readiness report. As your training progresses, the report updates. ## Proactive Maintenance, Not Reactive Recovery Component failures do not announce themselves in advance. A chain does not notify you when it crosses 0.5% elongation. Brake pads do not visibly change as they approach the wear limit. The audible cues — skipping, grinding, squealing — are symptoms that arrive after the damage is already underway. The difference between a predicted replacement date and a mid-ride failure is not always a matter of how much further you can ride. It is a matter of knowing your limit before you reach it. Componentry tracks the data your rides generate. The predictive layer converts that data into specific, actionable information: this component, this date, this reason. Not a guess based on distance alone. An estimate based on how you actually ride. ## Recommended Reading **Understanding component wear mechanisms:** - [SILCA: Chain Friction Explained](https://silca.cc/blogs/silca/chain-friction-explained) — Technical breakdown of where friction originates in drivetrain systems - [Zero Friction Cycling: Chain Longevity Data](https://zerofrictioncycling.com.au/) — Independent wear testing at scale across real-world conditions - [Park Tool: When to Replace a Chain](https://www.parktool.com/en-int/blog/repair-help/when-to-replace-a-chain-on-a-bicycle) — Industry standard thresholds and the science behind them **Related Componentry posts:** - [The Friction Tax: How Drivetrain Efficiency Costs You 5-10 Watts Before You Notice](/blog/friction-tax-chain-wear) - [Beyond the Spreadsheet: Why Your High-Performance Bicycle Needs a Digital Twin](/blog/digital-twin-bicycle-maintenance) - [Race Day Readiness: Building a Pre-Event Component Checklist](/blog/optimizing-your-race-preparation) - [The Quick Maintenance Check: Catching Brake, Tire and Chain Wear Early](https://www.componentry.app/blog/quick-maintenance-check): A quick maintenance check on your brakes, tires and chain catches wear early and turns one-off glances into a trend you can act on. Here is how to do it. Published: 2026-06-18 | Categories: maintenance, guide | Tags: bike maintenance check, brake pad wear, tire wear, chain wear, pre-ride check, preventive bike maintenance Most bikes only get a close look when something already sounds wrong. A click under braking, a skip in the cassette, a soft front tire on the morning of a long ride. By the time a problem is loud enough to notice while you are moving, it has usually been building for weeks. A quick maintenance check flips that around. It is a short, deliberate look over the parts that wear fastest and matter most, done often enough to catch small changes before they turn into expensive ones. You do not need a workstand or a free afternoon. Three systems tell you most of what you need to know about a bike's health: the brakes, the tires, and the chain. This is the case for making that maintenance check a habit, what to look at on each of those three systems, and why writing down what you find is where the real value lives. ## Why brakes, tires, and chain You could inspect every bolt on the bike, but a quick check is about signal, not completeness. These three systems earn their place because they wear continuously, they carry the highest consequences when they fail, and they give clear, readable clues long before they let go. - Brakes are the safety system, and pads are a consumable with a hard floor. Run past it and you start grinding metal backing into rotors or pad holders into rims. - Tires are the only thing connecting you to the road, so their condition shows up directly in grip, comfort, and puncture resistance. - The chain is the part that drags the rest of the drivetrain down with it as it wears, quietly turning a cheap replacement into an expensive one. None of these fail without warning. They fail without anyone looking. A maintenance check is simply the act of looking, on purpose, on a schedule. ## What to look at, in about two minutes ### Chain wear The single most useful drivetrain reading is chain wear, often called chain stretch. The chain does not actually stretch like elastic. Its pins and rollers wear, the effective length of each link grows, and it stops sitting cleanly on the teeth of the cassette and chainrings. Park Tool describes the knock-on effect plainly: > "This wear can cause the chain to mesh poorly with cogs and chainrings, causing poor shifting and premature wear to the cogs." — [Park Tool: When to Replace a Chain on a Bicycle](https://www.parktool.com/en-us/blog/repair-help/when-to-replace-a-chain-on-a-bicycle) A chain checker gives you a number in seconds. Most modern drivetrains want a fresh chain by around 0.5 percent wear for 11 speeds and up, or 0.75 percent for many 10-speed setups. The exact figure matters less than the habit: take the reading, write it down, and replace the chain before it takes the cassette with it. If you want the full method, see our [guide to measuring chain stretch](/blog/chain-stretch-measurement-guide). ### Brake wear Brake pads wear down to a minimum, and the cost of ignoring that minimum is rarely the pad. Disc pads have a stated minimum thickness of friction material, and rim pads have moulded wear lines. Cross either and you risk scoring an expensive rotor or carbon braking surface. A useful check takes a few seconds per wheel: - Look at how much friction material is left, and whether it is wearing evenly across the pad. - Check for glazing, contamination, or embedded grit. - Squeeze the levers and notice whether the bite point has wandered. Park Tool covers the specifics for both common setups in [disc brake pad removal and installation](https://www.parktool.com/en-us/blog/repair-help/disc-brake-pad-removal-installation) and [rim brake pad replacement](https://www.parktool.com/en-us/blog/repair-help/brake-pad-replacement-caliper). For a maintenance check, you do not need to remove anything. You need to note the remaining pad and flag the wheel that will need attention first. ### Tire wear and pressure It is easy to treat tires as set and forget, right up until a sidewall cut or a worn centre tread ends a ride early. SILCA puts the stakes in perspective: > "the tire is the ONLY thing connecting the bike to the road. ALL forces must be translated through the tires." — [SILCA: Tire Pressure, the Most Important Thing You Are Not Paying Attention To](https://silca.cc/blogs/silca/tire-pressure-the-most-important-thing-that-you-are-not-paying-attention-to) On a quick check, run your eyes and a thumb over each tire: - Tread depth and any wear indicators, plus a flattening square profile on the rear. - Cuts, embedded debris, and sidewall cracking or bulges. - Pressure, set and recorded against the bike so you can spot a slow leak between checks. Park Tool's notes on [tire, wheel, and inner tube fit standards](https://www.parktool.com/en-us/blog/repair-help/tire-wheel-and-inner-tube-fit-standards) are a good reference if you are unsure what is normal for your size and rim. ## One reading is a number. A series is a trend. Here is the part that separates a maintenance check from a glance: the value compounds when you record it. A single check tells you the state of the bike today. A run of checks tells you the rate of change, and rate of change is what lets you plan instead of react. - A tire pressure that keeps reading low points to a slow leak, not a one-off. - Pad depth that halves between two checks tells you roughly when the next replacement is due. - Chain wear creeping toward the limit is your cue to order a chain now, while a chain is all you need to buy. Written down and kept together, those readings also become a record of how the bike has been cared for. That history is worth real money when a bike changes hands, as we covered in [why your service history is your resale value](/blog/bike-service-history-resale-value). The same notes that help you plan a replacement double as proof of care later. ## Make it a rhythm, not a rescue A maintenance check works because it is small enough to actually do. Tie it to moments that already exist in your week and it becomes automatic: - Before a big ride or an event, when you want certainty rather than hope. - After wet, muddy, or gritty rides, which age brakes, tires, and chains faster than the distance suggests. - On a steady cadence otherwise, so nothing drifts for months unseen. The goal is not to turn every rider into a mechanic. It is to spend two minutes looking, capture what you saw, and let those small, regular observations do the early warning for you. ## How Componentry Fits Into Your Maintenance Check Componentry now has a Maintenance Check built for exactly this routine. Start a check, choose the bike, and you get a deliberately light record: a date, the bike, an overall note, and a note against any installed component. It is the quick counterpart to a full service log, with no retiring or replacing of parts, just the observations and measurements you took at the stand. That structure is what turns your checks into the trend described above: - Record a measurement where it counts, such as remaining brake pad, chain wear, or tire pressure, saved against that specific component. - Because every check is stored against the bike, your readings line up over time, so you can see what is changing and how fast. - When a check turns up more work than expected, swap it to a full service log in one step and retire or fit parts there. The swap carries your date and notes across, and it only goes one way. It is there whether you log from the workstand or the trailhead. On the web app it lives alongside your service logs, and on mobile you will find it under your bike's Service History, so a check is a few taps away while the bike is still in front of you. Underneath, Componentry keeps doing what it always does, matching your rides to the right bike and tracking wear automatically, so your manual checks and your automatic distance tracking build one picture together. ## Recommended Videos & Further Reading - [Park Tool: When to Replace a Chain on a Bicycle](https://www.parktool.com/en-us/blog/repair-help/when-to-replace-a-chain-on-a-bicycle) - The wear thresholds that matter and why a worn chain damages the cassette. - [Park Tool: Disc Brake Pad Removal and Installation](https://www.parktool.com/en-us/blog/repair-help/disc-brake-pad-removal-installation) - How to read pad wear and what the minimum thickness means. - [SILCA: Tire Pressure, the Most Important Thing You Are Not Paying Attention To](https://silca.cc/blogs/silca/tire-pressure-the-most-important-thing-that-you-are-not-paying-attention-to) - Why pressure and tire condition shape grip, comfort, and speed. - [Park Tool: Tire, Wheel, and Inner Tube Fit Standards](https://www.parktool.com/en-us/blog/repair-help/tire-wheel-and-inner-tube-fit-standards) - A reference for what is normal across tire and rim sizes. - [GCN Tech Maintenance Playlist](https://www.youtube.com/playlist?list=PLH49XyD2ofsXzMTbrSNLAXnQo0pSyDEb6) - Practical, filmed walkthroughs of the checks above. - [Stop Ticking Boxes: Turn Every Reminder Into a Bike Maintenance Log](https://www.componentry.app/blog/reminders-to-service-records): Most riders dismiss maintenance reminders. Learn why a bicycle service log catches wear early, keeps intervals honest, and pays off when you sell your bike. Published: 2026-08-05 | Categories: maintenance, guide | Tags: maintenance-log, service-history, reminders, drivetrain, wear-tracking, resale-value A maintenance reminder fires and two kinds of riders respond. The first glances at it, thinks "yeah, the chain is probably fine," and dismisses it. The second treats the reminder as a trigger: inspect the component, do the work if it needs doing, and write down what they found. The difference between those two riders is not mechanical skill or free time. It is whether they keep a bike maintenance log. Over a season, that habit decides who catches a worn chain at the cheap end of the wear curve and who buys a new cassette they never needed to buy. Over a few years, it decides whose bike sells quickly at a fair price and whose bike gets picked apart by a buyer with a chain checker. Recording service work matters more than most riders think, and the reminders you already receive are the cheapest way to build a service history you can actually use. ## Ticking the Box Is Not a Bike Maintenance Log Reminders are good at one thing: interrupting you. Whether it comes from a phone app, a calendar entry, or a sticky note on the toolbox, a reminder tells you that a threshold has passed. It says nothing about the state of the component, and dismissing it records nothing. That is the failure mode. Ticking a box takes one second and feels like progress, so the reminder resets and the next one fires on schedule, calculated from a service that may never have happened. Repeat that a few times and your maintenance system is tracking fiction. The reminder says the chain was waxed three weeks ago. Reality says it was waxed in autumn. A real bike maintenance log entry is small but specific: - What was inspected or serviced, per component - What condition it was in, with a measurement where one exists - What action was taken: cleaned, adjusted, replaced, or left alone - The date and the distance on the component at the time That last line matters most. Wear on a drivetrain is a function of distance ridden and conditions, not weeks elapsed. A log entry pins every service to a point on the component's actual wear curve, which is what makes the next interval meaningful. ## Wear Compounds Quietly Between Reminders The strongest argument for recording inspections is that drivetrain wear compounds, and the expensive damage happens silently between the moments you happen to look. A chain elongates as its pins and inner plates wear. Up to a known threshold, the chain is the only component wearing at a meaningful rate, and replacing it is a routine, low-cost job. Past that threshold, the elongated chain no longer meshes correctly with the cassette and chainrings, and it starts reshaping their teeth on every pedal stroke. We covered the thresholds in detail in [when to replace your bike chain](/blog/when-to-replace-bike-chain); Park Tool puts them at 0.5% elongation for 11-speed and 12-speed drivetrains and 0.75% for 10-speed, and is blunt about what happens if you sail past them: > "Using a chain beyond its intended wear limit will prematurely wear out your cogs and chainrings, so staying on top of this routine maintenance task can save you a lot of cost and hassle in the long run." — [Park Tool: When to Replace a Worn Chain](https://www.parktool.com/en-us/blog/repair-help/when-to-replace-a-chain-on-a-bicycle) Zero Friction Cycling's independent [chain testing program](https://zerofrictioncycling.com.au/chaintesting/) shows how quickly that window can close. Fast-wearing chains can blow past 0.5% elongation between casual checks, and once a chain is well past the limit the cassette, and sometimes the chainrings, go in the bin with it. Catching the threshold costs you a chain. Missing it costs you a drivetrain. Here is the connection to record keeping: a wear threshold is only useful if you measure against it, and you only measure consistently when measuring is part of a routine. A reminder that ends with a dismissal produces no measurement. A reminder that ends with a log entry produces a data point, and a series of data points shows you the wear rate, not just the wear. When your log shows the chain moved from 0.25% to 0.4% in six weeks of winter riding, you know the next check needs to come sooner. No single inspection tells you that. ## A Bike Maintenance Log Keeps Your Intervals Honest Most service intervals worth following are stated in distance, not time, because distance is what wears parts. SILCA's guidance for waxed chains is a good example of how precise these intervals have become: > "Secret Chain Blend typically needs a new application after about 300 miles of clean road riding, while adding an Endurance Chip to the pot will extend the life up to about 600 miles." — [SILCA: How To Maintain A Waxed Bike Chain](https://silca.cc/blogs/silca/how-to-maintain-a-waxed-chain) An interval like that is impossible to follow from memory. To act on "re-wax every 300 miles" you need to know the distance ridden since the last wax, which means you need to know when the last wax actually happened. Riders without records substitute feel for data, and feel is generous. The chain sounds fine, the ride is about to start, and "about 300 miles" quietly becomes 500. Time-based intervals decay the same way. Ask yourself when you last bled your brakes or re-greased your freehub. If the answer starts with "I think," you are scheduling maintenance by vibe. A written bike maintenance log replaces three unreliable habits: - Guessing the date of the last service, which drifts optimistic - Restarting intervals from when the reminder fired rather than when the work was done - Treating a dismissed reminder as a completed service There is a compounding benefit too. Once services are recorded against real dates and distances, your intervals become personal. Manufacturer intervals assume average conditions. Your log reflects your winters, your gravel, and your training load, and it will tell you whether the stated interval is conservative or dangerous for the way you ride. ## Your Bike Service History Is Money at Resale Buyers of second-hand bikes are coached to assume neglect and inspect for it. Every used-bike guide tells them to check the drivetrain first, because drivetrain wear is easy to measure and expensive to fix. road.cc's second-hand buying guide is explicit about the maths: > "A chain checker measures the percentage stretch. Assuming the stretch is 0.75%, you'll need at least a new chain, and if it's 1% or above the cassette (and maybe the chainrings) will need to be replaced too." — [road.cc: Your complete guide to buying a second-hand bike](https://road.cc/content/feature/your-complete-guide-buying-second-hand-bike-278689) The same guide tells buyers to factor replacement costs into their offer and to question the seller about the bike's background. Sellers without answers eat the discount, and the discount is priced at retail parts plus labour, which is always more than the maintenance would have cost. A bike maintenance log flips that conversation. A per-bike service history shows the chain replacements at sensible intervals, the brake bleeds, the bearing services, and the crash that was inspected and cleared by a mechanic. It answers the buyer's questions before they are asked, and it signals something the buyer cannot verify any other way: this owner paid attention. Riders keep receipts for a bike computer worth a fraction of their bike. The service history of the bike itself is worth keeping for the same reason, and we have made [the full resale case for a digital bike log](/blog/bike-service-history-resale-value) before. ## How to Turn Every Reminder Into a Service Record The habit change is small. You are not adding a new maintenance routine; you are changing what happens in the 90 seconds after a reminder fires. - Treat the reminder as an inspection trigger, not a chore notification. The reminder's job is to get your eyes on the component. - Inspect before you decide. Drop a chain checker on the chain, look at the pad material, and spin the wheel. Most inspections end with "all good," and that is a result worth recording. - Do the work while you are there. Batch it. If the chain reminder got you to the workbench, knock over the open brake and tyre checks in the same session. - Record what you found and what you did in your bike maintenance log, per component, with the date and distance. - Reschedule from reality. The next interval should start from the day the work was done and the wear the component actually carries, not from when the reminder first fired. Do this consistently and the bike maintenance log builds itself one entry at a time, which beats reconstructing last season from Strava data and guesswork. ## How Componentry Fits Into Your Care Routine Componentry was already built around the first half of this loop. Reminders can be time-based, distance-based, or ride-count-based, and the distance-based ones run on real ride data synced from Strava, Wahoo, or Garmin, so a "re-wax every 500 km" reminder fires on kilometres actually ridden rather than a calendar guess. The new completion flow closes the second half. When you complete a reminder on a bike, Componentry now asks how you want to close it. You can record it as a maintenance check, which is a quick inspection with per-component notes. You can open a full service log for bigger sessions. Or you can simply tick it off when a record genuinely adds nothing. Maintenance checks and service logs list all of the bike's open reminders as a checklist, which matches how work actually happens: one session on the stand clears the chain check, the brake pad check, and the tyre inspection together. Each reminder completed through the service reschedules from today's date and today's actual wear, so your intervals stay honest automatically. And every reminder completed this way stays on that service's record permanently, building the per-bike service history that pays off at inspection time and at resale. Full service logs carry the detail a future buyer, or a future you, will want: a status workflow from New to Booked to Completed, a crash flag, the mechanic's name, and notes per component. Service logs now work in the mobile app too, so a workshop visit can be recorded from the shop floor. On the web app you can also replace components within a log and email a service report when the work is done. The result is a bike maintenance log that assembles itself from the maintenance you were already being reminded to do. Stop ticking boxes and start building a record. ## Recommended Videos & Further Reading - [Park Tool: When to Replace a Worn Chain](https://www.parktool.com/en-us/blog/repair-help/when-to-replace-a-chain-on-a-bicycle) — The industry standard on chain wear thresholds and why running past them destroys cassettes and chainrings. - [Zero Friction Cycling: Chain Testing](https://zerofrictioncycling.com.au/chaintesting/) — Independent chain wear testing that quantifies how fast chains reach replacement thresholds in real conditions. - [SILCA: How To Maintain A Waxed Bike Chain](https://silca.cc/blogs/silca/how-to-maintain-a-waxed-chain) — Distance-based re-waxing intervals and the maintenance routine that makes waxed drivetrains last. - [road.cc: Your complete guide to buying a second-hand bike](https://road.cc/content/feature/your-complete-guide-buying-second-hand-bike-278689) — What buyers are told to inspect and discount for, and exactly what a good service history protects you from as a seller. - [GCN Tech: Maintenance Videos playlist](https://www.youtube.com/playlist?list=PLH49XyD2ofsXzMTbrSNLAXnQo0pSyDEb6) — Practical video walkthroughs for the inspections and services your reminders will trigger. - [Spring Bike Maintenance Checklist: Everything to Check Before Riding Season](https://www.componentry.app/blog/spring-bike-maintenance-checklist): The complete spring bike maintenance checklist with exact thresholds — drivetrain, brakes, tyres, wheels, suspension, and electronics. Know what needs attention before your first big ride. Published: 2026-04-12 | Categories: maintenance, guide, seasonal | Tags: spring, maintenance, checklist, seasonal, drivetrain, brakes, tyres, pre-season Spring is the highest-stakes time of year for your bike. Components age on and off the bike — sealant dries out, brake fluid absorbs moisture, cables corrode at their housing ends, and chains that were not prepped for winter storage rust from the inside out. After months off regular roads or stuck on the trainer, the bike that served you well in October is not necessarily the bike you should ride in April. This spring bike maintenance checklist covers every system worth checking before riding season, in priority order. For each, you will find the exact thresholds and pass/fail criteria — not generic advice to "have a look." The goal is to know, before your first long ride, what needs replacing and what still has life in it. Work through this list in order. Drivetrain first: it is the most likely to need attention and the most expensive to repair reactively. --- ## 1. Drivetrain ### Chain wear This is where most spring maintenance failures originate. A chain run through wet winter conditions accelerates wear, and a worn chain that goes unchecked destroys the cassette within a few hundred kilometers. Measure chain wear with a chain checker tool or a ruler. [Park Tool's replacement thresholds](https://www.parktool.com/en-int/blog/repair-help/when-to-replace-a-chain-on-a-bicycle) are the industry standard: DrivetrainReplace at12-speed Shimano0.5% wear12-speed SRAM (Eagle/AXS)0.8% wear11-speed0.5% wear10-speed0.75% wear9-speed and below0.75% wearWithout a chain checker: lay the chain flat and measure 12 inches from the center of one pin. If the next pin lands past 12⅛ inches, replace the chain before riding. **Cassette condition:** With the chain off, run your thumbnail along each cog. Hooked or shark-fin teeth that catch your nail mean the cog is worn past reliable shifting. Focus on the two or three most-used gears. ### Chain lubrication A dry or contaminated chain costs watts before it costs anything else. [SILCA's drivetrain friction testing](https://silca.cc/blogs/silca/chain-friction-explained) shows that a dirty, under-lubricated chain adds 5–10 watts of resistance compared to a clean, freshly lubed system. If your chain spent winter on a wet lubricant, degrease it fully and re-lube before the first outdoor ride. For riders considering a waxed chain: spring is the ideal conversion point. Immersion waxing extends re-lube intervals to 1,000–1,500 km versus 200 km for most drip lubes, and eliminates the embedded grit that accelerates wear. **Spring drivetrain checklist:** - [ ] Chain wear measured and within threshold for your drivetrain speed - [ ] Cassette teeth inspected — no hooked or shark-fin profile - [ ] Chain degreased and lubricated --- ## 2. Brakes **Rim brakes:** Most brake pads have a wear indicator groove. If the groove has disappeared, replace the pads. Check for embedded grit in the braking surface — contaminated pads reduce stopping power and score the rim. **Hydraulic disc brakes:** Squeeze each lever to the bar. A spongy feel indicates air in the system or degraded fluid. Brake fluid — whether DOT or mineral oil — absorbs moisture over time, lowering its boiling point and reducing modulation. Shimano, SRAM, and Magura all recommend annual bleeding or at the first sign of sponginess. If your hydraulic brakes have not been bled since last summer, schedule it before the first long descent. Pad thickness for disc brakes: replace when the pad material (not the metal backing plate) measures less than 1mm. Most pads have a visual wear line; check it with the wheel removed. **Cable-actuated brakes:** Inspect cable ends at the lever and anchor point for fraying. Winter moisture corrodes cables inside the housing — if cables feel sticky or hesitant, replace them. A new cable and housing costs under £10; a crash caused by delayed brake response costs more. **Spring brake checklist:** - [ ] Pad wear checked — disc pads ≥1mm material; rim pad wear groove visible - [ ] Hydraulic levers firm with no sponginess - [ ] Cables inspected — no fraying, no sticking --- ## 3. Tyres **Sidewall inspection:** Inspect the full tyre circumference for cuts, embedded debris, and sidewall cracking. Surface crazing (fine cracks in the outer rubber) is normal aging. Structural cracks that expose the casing below — especially near the bead — mean the tyre needs replacing. A compromised sidewall increases blowout risk under load. **Tubeless sealant:** Sealant dries out over 3–6 months regardless of whether the bike was ridden. Shake each wheel and listen for liquid movement. Silence means dry sealant. Remove the valve core and inject 30–60ml of fresh sealant, or unseat the tyre to inspect directly. Running tubeless without active sealant provides none of the puncture protection while adding the complexity of tubeless setup. **Pressure:** Tyres lose pressure even when stationary — typically 1–2 PSI per week through the tube or tubeless bead. After winter storage, expect most tyres to be 10–20 PSI low. Inflate to your correct range before every ride. **Spring tyre checklist:** - [ ] Sidewalls checked — no structural cracks or exposed casing - [ ] Cuts and embedded debris cleared - [ ] Tubeless sealant refreshed if >3 months since last service - [ ] Pressure set to correct range for weight and conditions --- ## 4. Cockpit **Bar tape:** Torn, compressed, or hardened tape is a grip and safety issue — particularly in spring, when wet roads and cold hands make bar feel critical. If tape survived last season intact, it can wait. If it is unwrapped at the hoods, cracked, or stiff from sweat and UV exposure, replace it before your first serious ride. **Stem bolts and handlebar clamp:** Check each bolt with a torque wrench. Most stems specify 4–6 Nm for the handlebar clamp and 5–6 Nm for the steerer clamp. Carbon bars and stems are especially sensitive to over-torque — tightening by feel is not sufficient. A stem bolt driven past spec can initiate a crack that propagates invisibly before failing. **Headset:** Lift the front wheel and rotate the bars. Notchiness or resistance indicates bearing wear. Grab the fork and push forward and backward along the headtube axis — any play means the headset needs adjustment before riding. A loose headset creates imprecise handling and accelerates bearing and frame wear. **Spring cockpit checklist:** - [ ] Bar tape intact and secure at hoods - [ ] Stem bolts torqued to manufacturer spec - [ ] Headset smooth — no notchiness or play --- ## 5. Wheels **Spoke tension:** Squeeze pairs of adjacent spokes on each wheel. They should feel uniformly taut. A spoke that feels noticeably slack or significantly tighter than its neighbors indicates an out-of-true wheel. Ride a wheel with uneven spoke tension and you accelerate fatigue in the tighter spokes. **Hub bearings:** Hold each wheel at the rim and push and pull laterally. Any side-to-side play in the hub means bearing adjustment or replacement. Loose bearings degrade handling response and wear rapidly once play develops. **Axle security:** Confirm quick-release skewers close with firm resistance, or that thru-axles are tightened to the frame and fork manufacturer's spec. Skewers that corroded or stretched over winter should be replaced, not relied upon. **Spring wheel checklist:** - [ ] Spoke tension consistent — no loose or broken spokes - [ ] Hub bearings firm with no lateral play - [ ] Axle security confirmed --- ## 6. Suspension and Fork (If Applicable) Fox and RockShox both specify lower leg service every 50 hours and full damper service every 100 hours or 12 months. If your fork saw autumn mud and has been stored since, it is past due regardless of mileage. Lower leg service is accessible to home mechanics: remove the lower legs, drain and refill the bath oil (5–10ml of 5wt or 7wt depending on manufacturer specification), replace foam rings, regrease dust seals, and reassemble. Full damper cartridge service requires a shop. Pre-season suspension checks: - **Stanchion condition:** Pitting or deep scratches accelerate seal wear and should be assessed before the season begins - **Air pressure:** Pressure drops over storage; re-set sag per manufacturer weight recommendations - **Rebound and compression settings:** Confirm they are set for your current weight and conditions --- ## 7. Electronics — Di2, AXS, and Head Units **Shimano Di2:** Open E-Tube Project and check battery levels across all components — rear derailleur, front derailleur, and junction box. Top up any component below 50% before a long ride. Check for firmware updates; Shimano releases periodic shifting logic improvements via E-Tube. **SRAM AXS:** Open the AXS app and check battery levels for derailleur and shifter pods. SRAM pods use CR2032 cells that are easy to overlook; a dead shifter pod on a climb is avoidable. Confirm firmware is current. **Campagnolo EPS:** Charge the handlebar battery to full before the season. EPS batteries self-discharge over storage — a partially charged EPS system shifts sluggishly before losing function entirely. **Head units and sensors:** Check firmware on Garmin or Wahoo devices. Winter storage kills coin cell batteries in speed, cadence, and power meter sensors — replace any that fail to pair before the first ride. **Spring electronics checklist:** - [ ] Shifting system battery levels confirmed and topped up - [ ] Firmware updated — Di2 (E-Tube), AXS (AXS app), head unit - [ ] All sensors paired and transmitting --- ## Track It All Year — Not Just in Spring This checklist tells you what to check. But without a record of when you last replaced your chain, refreshed your sealant, or serviced your fork, the same questions come back every spring. Componentry tracks component mileage and service history automatically. Connect your Strava account once, and every ride updates your components — chain wear, cassette life, brake pad mileage, sealant age — so you know what actually needs attention before a ride, not during one. [Get started free — no credit card required.](https://componentry.cc) - [Strava Bike Maintenance: What Your Favourite Riding App Can't Do (And What Fills the Gap)](https://www.componentry.app/blog/strava-bike-maintenance): Strava tracks every ride but not what those rides do to your components. Here's how Componentry bridges the gap — and why serious cyclists need both. Published: 2026-05-05 | Categories: integration, guide | Tags: strava, strava-integration, bike-maintenance, component-tracking, drivetrain, automation Strava bike maintenance is not something the app was built to do. Strava is exceptional at what it does: recording activities, comparing segments, tracking fitness progression, and connecting you to a community of riders. But when you finish a ride and the app marks it complete, the component wear from that effort — the chain links that elongated a fraction, the brake pad material that vaporised on that descent, the cassette teeth that absorbed thousands of pedal strokes — goes unrecorded. Strava closes the loop on performance. It does not close the loop on the machine that delivered it. That gap is not a criticism of Strava. It is simply a different job. And it is the exact gap that Componentry was built to fill. ## What Strava Tracks — and What It Doesn't Strava does offer a gear tracking feature. You can assign a bike to activities, and the app accumulates total kilometres on that bike. For many riders, this is good enough as a rough guide to when a service might be due. But total bike kilometres is not the same as component-level wear tracking. A bike is not one thing that wears uniformly. Your chain, cassette, chainrings, brake pads, Di2 or AXS battery, bar tape, tyres, and drivetrain lubricant all wear at different rates, have different replacement thresholds, and cost different amounts to neglect. Strava's gear tracking cannot tell you: - Which components are on which bike (just the bike name) - How much wear each individual component has accumulated - When a specific component approaches its replacement threshold - What happens to your cassette when your chain is 400km overdue for replacement - That the chain currently on your gravel bike has been on three different bikes and has 6,400km on it These are not edge cases for obsessive mechanics. They are the information any cyclist needs to maintain their equipment proactively rather than reactively. The practical evidence that Strava's maintenance layer is insufficient is everywhere in cycling communities. Riders who use Strava daily still maintain maintenance logs in spreadsheets, notebooks, or phone reminders. The workarounds people build around Strava's limitations are the demand signal that Componentry addresses directly. ## How Strava Data Becomes Component Wear Data When you connect your Strava account to Componentry, the integration reads your activity data and does something Strava does not: it allocates the distance and duration of each ride to every component currently installed on the bike you rode. The data flow works like this. Strava records an activity — 85km on your road bike. Componentry reads that activity via the Strava API, identifies which of your Componentry bikes was used based on the bike assignment in Strava, and credits all 85km to the current component list for that bike. Your chain ticks 85km closer to its replacement threshold. Your cassette, brake pads, tyres, and bar tape do the same. Your Di2 or AXS battery adds 85km (and approximately 3–4 hours of ride time) toward its charging reminder. This happens automatically, every time you ride, without any manual input after the initial setup. You log the ride in Strava as you always have. Componentry handles the maintenance ledger. ### What Componentry Reads from Each Activity The integration draws on more than just distance. For each activity synced from Strava, Componentry uses: **Distance** — to increment mileage-based wear counters on chains, cassettes, tyres, brake pads, and drivetrain components. **Duration** — to track time-based intervals such as lubricant re-application schedules and electronic shifting battery consumption. A 6-hour gravel epic in wet conditions consumes brake pad material and drivetrain lubricant at a different rate than an equivalent distance on dry tarmac. **Ride date** — to enable calendar-triggered reminders for services that are better measured in time than mileage: hydraulic brake bleeds, suspension service, cable replacement. **Bike assignment** — to route mileage to the correct set of components when you own multiple bikes. This is the feature that multi-bike Strava users discover changes everything: no more guessing which chain has what mileage because you rode three bikes this month. ## The Components That Benefit Most All components tracked in Componentry benefit from automatic Strava data. But three categories see the most immediate value. ### Drivetrain: Chain, Cassette, Chainrings The drivetrain is where neglect is most expensive and where precise mileage tracking matters most. [Park Tool defines the chain replacement threshold](https://www.parktool.com/en-int/blog/repair-help/when-to-replace-a-chain-on-a-bicycle) at 0.5% elongation for 11-speed and 12-speed systems, and 0.75% for 9/10-speed. Typical road chain lifespan runs 2,000–3,000km on a well-lubricated drivetrain; gravel and mountain riding can reduce this to 1,500km or less. The cost of missing this threshold is asymmetric. A chain costs £20–£50. A cassette costs £50–£400. According to [SILCA's friction research](https://silca.cc/blogs/silca/chain-friction-explained), a worn chain also costs you 5–10 watts of power output before it starts skipping — a performance penalty most riders never attribute to their drivetrain. Componentry alerts you when your chain approaches its replacement threshold so you replace it before the damage reaches your cassette. That is the single most cost-effective intervention in cycling maintenance, and it requires knowing exactly how many kilometres are on your chain — which is exactly what Strava-linked tracking provides. For waxed-chain users rotating three or four chains per bike, the value compounds. Each chain in rotation has its own mileage counter. Componentry tracks which chain is currently installed and which are in the freezer, so every rewax and re-installation is logged without mental arithmetic. ### Electronic Shifting Batteries: Di2, AXS, EPS A dead electronic shifting battery mid-ride is inconvenient. Before a race, it is a potential DNS. Battery capacity degrades gradually over charging cycles and accelerates in cold weather. Most riders have no systematic way to track how much capacity remains until the indicator warns them. Componentry tracks each battery's ride-time accumulation and prompts a charge reminder based on your riding patterns. Combined with Strava's activity data — which includes duration that correlates with battery consumption rate — the system builds a more accurate picture of battery health than checking the indicator light once a month. For triathletes and endurance riders who have experienced an electronic shifting failure before a major event, a mileage-based reminder backed by automatic activity sync is the difference between knowing and guessing. As the [Di2 battery life guide](/blog/di2-battery-life-tips) covers in full, the risk is real and the tracking solution is straightforward. ### Brake Pads Brake pad wear is highly variable by terrain and conditions. A rider accumulating the same annual kilometres on flat terrain versus Alpine descents can have brake pads that last three times as long. Tracking total bike kilometres does not help here — it dilutes the wear signal by treating a flat century and a 4,000-metre mountain stage as equivalent. Componentry's duration tracking, combined with component-specific service history, gives a more accurate picture of pad consumption than raw mileage. The system does not replace a physical thickness check, but it tells you when to do that check rather than leaving it to chance. ## Why Strava's Built-In Gear Tracking Isn't Enough It is worth being direct about the specific limitations of Strava's existing feature, because "Strava already does this" is the most common objection from Strava power users. FeatureStrava GearComponentryTotal bike mileage✅✅Per-component mileage❌✅Wear threshold alerts❌✅Multiple chains on one bike❌✅Component swap between bikes❌✅Cassette wear from chain history❌✅Battery tracking (Di2/AXS)❌✅Strava tracks whether you rode. Componentry tracks what that riding costs your components, and tells you what to do before the next ride. The comparison is not competitive — the tools are complementary. Strava remains the activity layer. Componentry is the maintenance layer that sits on top of it. ## Step-by-Step: How to Connect Strava to Componentry Setup takes under five minutes and requires no configuration after the initial connection. **Step 1: Create your Componentry account** Sign up at the Componentry app. The free trial gives you full access to test the integration with your actual ride history. **Step 2: Add your bikes** Create a bike profile for each bike you ride. Include the bike's name as it appears in your Strava gear list — the integration uses this to match activities to the correct bike. **Step 3: Add components to each bike** Set up the components you want to track: chain (with current mileage if you know it), cassette, brake pads, Di2 or AXS batteries, tyres. If you don't know current mileage, start from zero — you'll have accurate data going forward within a few weeks. **Step 4: Connect Strava** In Componentry's settings, select "Connect Strava" and authorise the integration. Componentry requests read-only access to your activities and gear data. It does not modify your Strava data. **Step 5: Sync recent history** On first connection, Componentry will offer to sync your recent ride history. This populates your component wear counters immediately rather than starting from zero. After this point, every Strava activity automatically updates your component wear state. You ride, Strava records it, Componentry tracks what it costs your components. ## Multi-Bike Strava Users: Where the Integration Pays Back Most If you ride one bike, the Strava integration saves you the friction of manual mileage logging. If you ride two or more bikes, it changes the quality of the information you have entirely. Multi-bike Strava users frequently report the same problem: which chain is on which bike, which chainrings have the most mileage, whether the cassette that moved from the road bike to the gravel bike three months ago has life left. These are not small questions — the cost of getting them wrong is a cassette that fails because a chain continued running on it for 3,000km past its threshold with no one tracking the total. Componentry handles cross-bike component transfers explicitly. When you move a component from one bike to another, you record the transfer in the app. The component's accumulated mileage follows it to the new bike. Strava continues recording activities on the correct bike; Componentry routes those kilometres to the correct components on that bike. The ledger stays clean regardless of how many bikes you own or how often you rotate parts between them. ## Know Your Bike's State After Every Ride The fundamental promise of Strava bike maintenance via Componentry is this: after every ride, you know the current state of every component on the bike you just rode, without doing anything differently from what you already do. Your chain mileage is updated. Your cassette wear is current. Your brake pads have accurate ride time against them. Your Di2 battery has the latest consumption logged. If anything has crossed its threshold or is approaching it, you get an alert. If everything is fine, the app confirms it. That is what "know your bike, down to the individual component" means in practice. It is not a passive data library. It is an active maintenance state that updates with every ride you log in Strava. [Connect your Strava account and start your free trial →](#) --- ## Further Reading - [When to Replace Your Bike Chain: The Complete Guide](/blog/when-to-replace-bike-chain) - [Cassette Lifespan: How Many Kilometres Before You Need to Replace It?](/blog/cassette-lifespan) - [The Chain-Stretch Domino Effect: How One Worn Chain Destroys a $600 Drivetrain](/blog/chain-stretch-domino-effect) - [Di2 Battery Life: How to Track, Extend, and Never Get Caught Dead on a Climb](/blog/di2-battery-life-tips) - [How to Track Bike Maintenance When You Own Two or More Bikes](https://www.componentry.app/blog/tracking-maintenance-multiple-bikes): Multi-bike ownership creates a maintenance tracking problem that single-bike systems can't solve. Here's how to manage component wear across road, gravel, indoor, and seasonal bikes without losing track. Published: 2026-07-16 | Categories: maintenance, guide, multi-bike | Tags: multi-bike, bike-fleet, maintenance-tracking, road-bike, gravel-bike, component-wear, bike-management The road bike gets the long weekend rides. The gravel bike takes the Saturday morning adventures. The indoor trainer bike runs all winter on a worn chain that nobody can remember installing. Somewhere in a drawer is a maintenance log that was started with good intentions, abandoned after the second entry, and never consulted again. Multi-bike ownership is common — the majority of performance cyclists own at least two bikes, and many own three or four. What is much less common is a reliable system for tracking what those bikes have done and when their components need attention. The single-bike maintenance approach simply does not scale. When one bike gets an unusually heavy week of riding, or when the cassette on the gravel bike quietly reaches 15,000 km over the course of a year, the mental accounting required to catch these events is not reliable. This is not a failure of discipline. It is a structural problem: the information needed to maintain multiple bikes is scattered across activity apps, mental notes, and physical inspection. Building a system that works requires understanding why multi-bike tracking breaks down, and what a working alternative looks like. ## Where Multi-Bike Maintenance Tracking Goes Wrong ### The km-assignment problem Most cyclists know roughly how far they ride each week. Far fewer know how far each specific bike has been ridden over the past three months. These are different questions with different answers. A road bike used for all commuting and interval sessions may accumulate 4,000 km in the months where the gravel bike sees 800. Then autumn arrives and the pattern reverses. Without kilometre-level tracking per bike, you cannot answer "when was this chain last replaced, and how far has it gone since?" with any confidence. The consequence is reactive replacement rather than proactive. You wait for the chain checker to confirm wear, or for the cassette to develop obvious shark-fin teeth, rather than replacing on schedule. By the time you have physical evidence of wear, the damage has already propagated. ### The mixed-history problem Each bike accumulates its own wear history, but in a multi-bike household, the histories get mixed. Cassettes are swapped between bikes. Wheels get moved. A chain pulled from the road bike after 3,000 km gets installed on the gravel bike "temporarily" and then forgotten. Six months later, nobody can tell which chain is which. Park Tool's guidance on chain wear thresholds — 0.5% for 11-speed and 12-speed, 0.75% for 10-speed and below — assumes you know which chain you are measuring and approximately how far it has travelled. If the provenance of any component is uncertain, those measurements lose their predictive value. You are just checking whether it is already worn, not predicting when it will wear. ### The seasonal bike problem The hardest bike to track is the one you are not riding. A summer road bike stored from October to March has components that continue to age: cables and housing absorb moisture, lubricants migrate, battery cells self-discharge. The return to service in spring should involve a systematic inspection of every component — but without a record of where each component was when the bike went into storage, the inspection has no baseline to compare against. This is how seasonal bikes develop undetected problems. The first spring ride feels fine. By June, the chain is at 0.7% wear, the cassette has been taking accelerated damage for two months, and the trigger was the 4,800 km chain that nobody tracked through the previous season. ## A Working Multi-Bike Maintenance System An effective system for multiple bikes has three requirements: it tracks distance per bike automatically, it stores component histories independently, and it surfaces alerts proactively rather than waiting for you to check. ### Automatic distance tracking per bike Manual logging fails because it requires consistent effort at a moment of low motivation — the post-ride period when riders want to recover, not record data. Any system that requires the rider to actively log rides to maintain accuracy will eventually fail. Strava, Garmin, and Wahoo all record which bike was ridden on each activity. This data exists; the challenge is using it. If your activity tracker correctly identifies which bike was used for each ride, that data can be used to calculate per-bike distance automatically. The practical implication: your activity profile in Strava or on your head unit needs to correctly assign rides to bikes. A single profile labelled "bike" that you use for all rides is not enough. Each bike needs its own profile. This is a one-time setup that pays forward indefinitely. ### Independent component histories per bike Each bike needs its own component register — a record of what is installed, when it was installed, and how far each component has travelled since installation. This is the baseline that makes threshold alerts meaningful. For a two-bike household, the minimum entries are: **Road bike:** chain (installed km, current km), cassette (installed km, current km), tyres front and rear (installed km), brake pads, bar tape. **Gravel bike:** chain (may need more frequent replacement due to off-road conditions), cassette, tyres (different wear profile from road tyres), brake pads, dropper post if applicable. For a Di2 or AXS-equipped bike, add battery components — rear derailleur, front derailleur, and any additional battery-powered components — with charge cycles tracked rather than kilometres. The granularity required depends on component cost. A £20 set of brake pads can tolerate less precise tracking than a £250 cassette. Prioritise tracking for the components where premature failure or late replacement has the highest financial consequence. ### Proactive alerts A maintenance log that you have to consult is not a maintenance system. It is a reference document. A maintenance system surfaces information at the moment you need it — before the planned ride, before the race week, before the seasonal bike goes into storage. For multi-bike households, the alert structure needs to reflect each bike's actual usage pattern. A criterium race bike that gets ridden three times a week will hit chain replacement intervals three to four times faster than a gravel adventure bike ridden twice a month. Applying the same mileage alert threshold to both bikes will either nag you on the race bike or miss the inflection point on the gravel bike. Useful alert types for multi-bike owners: - **Component threshold:** chain at X km, cassette at Y km (per bike, not global) - **Dormancy alert:** this bike has not been ridden in N days — check battery and lubricant state before next ride - **Service due:** annual cable and housing inspection, bearing service, hydraulic fluid change ## Practical Tips for Common Multi-Bike Scenarios ### Road + gravel These bikes share similar components but see different conditions. The gravel bike chain will typically wear faster due to exposure to grit and moisture, even with quality lubrication. [Zero Friction Cycling's testing data](https://zerofrictioncycling.com.au/chain-longevity/) shows that wet and muddy conditions can halve chain life relative to clean dry riding. Set the gravel bike's chain threshold alert 30–40% lower than the road bike's to account for this. Cross-contamination is the primary risk: pulling a gravel chain and dropping it on the road bike during a "quick" swap is a fast way to accelerate road cassette wear. Label chains. Mark cassettes with a paint pen on installation. Physical identification prevents history confusion when components look identical. ### Road + indoor trainer Indoor riding is hard on chains. Trainers typically operate at higher resistance for extended periods, with the bike stationary and the chain under consistent tension rather than the varied load of outdoor riding. Trainers also create heat that accelerates lubricant breakdown. Many cyclists use a dedicated "trainer chain" to protect their road drivetrain. This is mechanically sound, but only if the trainer chain is tracked separately. A trainer-only chain accumulating 5,000 km of turbo sessions in a winter block may reach wear threshold before the road chain does, despite having fewer kilometres showing on the primary bike profile. If you run a separate trainer setup — even just a separate rear wheel with a dedicated cassette — treat it as a separate bike in your tracking system. It has its own wear accumulation rate and its own replacement schedule. ### Three or more bikes (the collector problem) The scaling challenge for multi-bike households beyond two is exponential attention, not linear. Three bikes that each need their chain checked every 1,500 km generate chain checks every two to three weeks during active riding seasons. Four bikes with varied component sets, overlapping cassette types, and different groupset generations require a level of organisational clarity that mental tracking simply cannot provide. At this scale, the system has to carry the cognitive load. A dashboard view showing all bikes and their current component status — chain at 67% life, cassette at 41% life, battery at 280 km since last charge — is not a luxury. It is the difference between staying ahead of wear and discovering three expensive problems at once. ## The May Riding Season Inflection Point May is National Bike Month in the US, and in the UK and Europe it marks the start of the sustained outdoor riding season when most cyclists add significant weekly volume. Sportives, club rides, charity events, and good weather push most riders' monthly mileage to its annual peak. This is when multi-bike tracking failures surface. The road bike has been used moderately through winter. The gravel bike has seen 2,000 km of mixed-terrain rides since autumn. The chain on the road bike hasn't been checked since before the clocks changed. Then May arrives, volume doubles, and three months of deferred maintenance becomes visible simultaneously. A maintenance review before the season-in-earnest start is worth the 20 minutes it takes: - Check chain wear on every active bike with a chain wear gauge - Note current tyre mileage and compare against expected lifespan for tyre type - Verify battery state on any electronic groupsets and update firmware if pending - Check brake pad depth on all bikes — both caliper-operated and hydraulic disc - Lube all chains with the appropriate lubricant for the upcoming riding conditions Logging the results of this review creates a timestamped baseline. When components are replaced in June or July, you will know exactly what condition the drivetrain was in when the season started. ## How Componentry Handles Multiple Bikes [Componentry](/) is built on the premise that each bike has its own component state and deserves independent tracking. Every bike you add is a separate entity with its own component register. Activities sync from Strava, Garmin, or Wahoo and are assigned to the correct bike automatically, based on the profile you used for the ride. Each component — chain, cassette, tyres, battery, bar tape, brake pads — is tracked with its own mileage counter and threshold alert. Set the road bike's chain alert at 1,500 km and the gravel bike's at 1,000 km. Set a dormancy alert on the summer race bike so it prompts a pre-season check in March. When an alert fires, it specifies which bike and which component — not a generic notification that requires you to decode which of your four bikes it is about. For electronic groupsets, Componentry tracks Di2 and AXS battery usage in kilometres alongside mechanical component wear, so the entire picture — drivetrain wear, battery state, tyre life — is visible in one place. The system handles the accounting. You handle the wrenching. ## Further Reading - [Di2 Battery Tracking: Know Exactly When Your Battery Will Die](/blog/di2-axs-battery-tracking) — Calculating personal consumption rates and setting up automated alerts for electronic drivetrains - [The Friction Tax: How a Worn Chain Costs You 5–10 Watts](/blog/friction-tax-chain-wear) — Why proactive chain replacement matters for performance, not just cost - [Cassette Lifespan: How Many Kilometres Before You Need to Replace It?](/blog/cassette-lifespan) — Material, speed count, and riding condition variables that determine when your cassette is done - [Your Service History Is Your Resale Value](/blog/bike-service-history-resale-value) — How documented maintenance history protects asset value across multiple bikes - [How Often Should You Re-Wax Your Bike Chain? The Data-Driven Intervals Guide](https://www.componentry.app/blog/waxed-chain-intervals): Hot-melt wax lasts 300–400 km on dry roads. Wax drip lubes last 100–200 km. Here are the data-backed intervals for re-waxing your chain, plus the visual cues that tell you when you've waited too long. Published: 2026-06-27 | Categories: maintenance, drivetrain | Tags: chain, waxed-chain, chain-wax, drivetrain, maintenance, lubrication, silca, squirt You converted to wax. The chain runs quieter, the drivetrain stays cleaner, and your cassette is thanking you. But now you have a new problem: you have no idea when to re-wax. The bottle says "reapply as needed." The forums say everything from 150 km to 600 km. Your wax supplier says one thing; a YouTube mechanic says another. The confusion is understandable. Waxed chains do not behave like drip-lubed chains, and the feedback loop is different. A dry oil-lubed chain squeaks. A wax-depleted chain can feel nearly normal right up until it starts grinding metal on metal. The absence of obvious symptoms makes it easy to go too long — and going too long with wax is worse than going too long with oil. This guide cuts through the conflicting advice with data from Zero Friction Cycling and SILCA's own testing, gives you clear intervals by wax type, and explains exactly what to look and listen for before the damage begins. ## Why Wax Depletes Differently Than Oil Understanding the problem requires understanding how wax works. Unlike oil-based lubes, which sit on the chain surface and attract contamination, hot-melt immersion wax (Silca Synergetic, Molten Speed Wax) penetrates into the chain's inner links and solidifies there. It does not stay liquid. It forms a dry, embedded layer that creates a barrier between metal surfaces. Drip wax lubes (Squirt, Silca Super Secret Chain Lube) work on the same principle in liquid form — they carry paraffin or synthetic wax particles deep into the chain rollers and pins, where the carrier evaporates, leaving a solid film. This matters because depletion is invisible in a way that oil depletion is not. An oil-lubed chain running dry turns black and sticky — the contamination is visible. A wax-depleted chain can look clean and feel relatively smooth for another 50–100 km while the internal wax layer is already gone. What remains during that window is metal-to-metal contact happening inside the rollers, where you cannot see it. The result is an "abrasive paste" problem: once the wax barrier is gone, fine metallic particles from pin-and-bushing wear mix with road grit, forming a grinding compound inside the chain. This is the scenario wax users most want to avoid — it accelerates wear faster than a neglected oil-lubed chain. As SILCA notes in their waxed chain maintenance guidance: > "Once the wax layer is fully depleted, the chain begins running metal-to-metal in its pivot points. Road contamination and metallic wear particles then form an abrasive paste that accelerates wear dramatically. This is why extending intervals too far negates all the benefits of waxing." [SILCA: How to Maintain a Waxed Chain](https://silca.cc/blogs/silca/how-to-maintain-a-waxed-chain) The implication is clear: re-waxing on time is not optional. It is the whole point of the system. ## Re-Waxing Intervals: What the Data Says The correct interval depends on your wax type and conditions. These figures are drawn from Zero Friction Cycling's independent chain wear testing — the most rigorous in the cycling industry — and from SILCA's own published guidance. ### Hot-Melt Immersion Wax (Silca Synergetic, Molten Speed Wax, Wend Wax-On) **Dry road conditions:** 300–400 km between re-waxing **Wet or mixed conditions:** 150–200 km between re-waxing **Indoor trainer use:** 500–600 km (no contamination, no moisture) Hot-melt wax is the most durable wax system. The full immersion process saturates the entire chain, including deep into pin-and-bushing interfaces, and the solidified wax does not wash out easily. This gives it a substantial advantage over drip application in longevity. Zero Friction Cycling's testing data confirms that properly prepared chains (ultrasonic cleaned and degreased before initial waxing) running Silca Synergetic can reach 400 km in clean, dry conditions before measurable increases in wear rate: > "Hot-melt waxed chains with correct preparation show consistently low wear rates to approximately 300–400 km under typical road conditions. Beyond this point, wear rate begins to increase as the wax matrix within the chain's working interfaces becomes depleted." [Zero Friction Cycling: Lubricant Testing](https://zerofrictioncycling.com.au/lubricant-testing/) The 150–200 km wet-weather reduction is significant. Water does not dissolve immersion wax, but it accelerates mechanical displacement of the wax from pin interfaces. Mud and road spray introduce abrasive contamination that embeds into the depleted wax, shortening the effective lubrication window sharply. ### Wax Drip Lubes (Squirt, Silca Super Secret, Silca Synergetic Drip) **Dry road conditions:** 100–200 km between re-application **Wet or mixed conditions:** 60–80 km between re-application **Indoor trainer use:** 200–300 km Drip wax lubes trade longevity for convenience. They are significantly easier to apply than hot-melt (no melting, no pre-cleaning bath required after the initial prep), but they do not penetrate as deeply into the chain's working interfaces. The wax film they deposit is thinner and more easily displaced by water and contamination. SILCA's published guidance for their drip wax products is explicit: > "For road riding in dry conditions, re-apply every 150–200 km. In wet conditions or after riding through rain, reduce this interval to 80 km or after every wet ride. Do not allow the chain to go beyond the point where the surface wax appearance changes from white/clear to dirty grey." [SILCA: How to Apply Chain Lube](https://silca.cc/en-au/pages/how-to-apply-chain-lube) The 60–80 km wet-condition interval is aggressive but necessary. A single wet commute can remove a meaningful portion of the wax drip coating, and riders who extend intervals after wet rides are typically the ones asking why waxing "doesn't work" for them. ## The Visual and Auditory Cues Intervals are a guide. Conditions vary, and knowing what to look and listen for helps you calibrate. **Colour change (most reliable visual cue):** A correctly waxed chain appears white, grey-white, or slightly iridescent — the wax is visible as a dry, powdery coating. As the wax depletes, the chain transitions from white to light grey to a darker grey or brown. Once you see the darker grey-brown, you are near the end of your effective window. Do not wait for black. **Sound (second indicator):** A well-waxed chain is near-silent. As wax depletes, you may hear a subtle dry clicking or ticking sound, distinct from the mechanical sound of shifting. This is the pin-and-bushing interfaces beginning to run without adequate lubrication. This sound is your warning signal — stop at your next convenient point and re-wax. **Feel (least reliable, use with caution):** Some riders report a rougher pedalling feel as wax depletes. This is real but inconsistent — the human body adapts gradually, making it easy to miss. Do not rely on feel as your primary indicator. By the time you feel it clearly, you have likely been running metal-to-metal for some time. **The 48-hour rule:** After riding in heavy rain or mud, re-apply within 48 hours regardless of where you are in your interval. Do not wait for the next scheduled re-wax. ## Cleaning Before Re-Waxing The re-waxing interval is only half the equation. The process matters as much as the timing. Wax does not adhere correctly to a contaminated or oil-contaminated chain. Re-applying wax over a dirty chain traps contaminants inside and degrades the wax's ability to penetrate and protect. This is the single most common reason cyclists report that waxing "doesn't work" for them — they are not cleaning properly between applications. **For hot-melt re-wax (recommended approach):** - Wipe down the chain with a clean rag to remove surface debris - Dip the chain in a solvent bath (isopropyl alcohol or a dedicated citrus degreaser) for 10–15 minutes - Agitate, rinse with fresh solvent, and hang to dry completely - Re-immerse in melted wax If you have an ultrasonic cleaner, use it — 15 minutes in a degreaser solution removes contamination from inside the rollers that solvent soaking alone will miss. Zero Friction Cycling recommends ultrasonic cleaning as the gold standard for between-wax cleaning on heavily used chains. **For drip wax re-application:** Wipe down the chain, allow it to dry, and apply drip wax to each link while backpedalling slowly. Allow 30–60 minutes for the carrier to evaporate before riding. A light wipe with a clean cloth after application removes surface excess. **What not to do:** Do not re-apply hot-melt wax over a drip-lubed chain without full degreasing first. The oil carriers in drip lube contaminate the wax bath and reduce its effectiveness for every chain subsequently processed. ## Frequently Asked Questions **Can you wax over a chain that was previously oil-lubed?** No — not without thorough degreasing. Oil residue prevents wax from penetrating into the chain's internal interfaces. A chain that looks clean to the eye can still have oil embedded in its rollers. For a first-time conversion from oil to wax, ZFC recommends a minimum of two solvent baths (ideally ultrasonic) before the initial wax treatment. Attempting to wax over oil results in a chain that feels waxed on the surface but behaves like an oil-lubed chain internally. **Do indoor trainer chains need waxing?** Yes, but on a much more relaxed schedule. No water, no road grit, and no UV exposure means wax lasts significantly longer indoors. Hot-melt chains can run 500–600 km on a trainer before re-waxing; drip wax chains can go 200–300 km. The lack of contamination means you are only managing mechanical wear of the wax film, not displacement by moisture or grit. Trainer use is actually a good way to extend the life of a chain nearing the end of its road-use lifespan. **What about riding in winter with road salt?** Salt is highly corrosive and actively strips wax coatings. Reduce your re-wax intervals to 80–100 km for hot-melt and 50–60 km for drip wax during heavy salt-season use. Alternatively, maintain a dedicated winter chain on an oil-based wet lube and preserve your waxed chains for spring through autumn use. This is what many serious cyclists do — the time investment in wax maintenance is harder to justify when you're riding through winter slop multiple times a week. ## How Componentry Helps You Track Re-Wax Intervals The core challenge with waxed chains is that the interval is condition-dependent. A 350 km interval works in a dry summer. The same interval in autumn rain will ruin a chain. Without a log, you are guessing. Componentry solves this by treating each re-wax as a maintenance event. Log your waxing date and current distance when you re-wax, set your target interval (for example, 300 km for hot-melt in dry conditions), and Componentry tracks the distance automatically via your Strava, Garmin, or Wahoo sync. When you approach 300 km on that chain, you receive a proactive alert — before the wax depletes, not after. You can also adjust intervals by weather flag. After a wet ride, log it as a wet-conditions ride and Componentry can recalculate your next wax alert based on the updated (shorter) window. Multiple bikes, multiple chains, each with its own wax type and interval — all tracked in one dashboard. This is the gap that most cyclists do not fill: they commit to waxing but track intervals in their head or not at all. The result is inconsistent performance and premature chain wear, exactly what waxing is supposed to prevent. The data is clear on what works. The intervals above are not arbitrary — they reflect hundreds of thousands of kilometers of controlled testing. The only variable that remains is whether you are tracking them. ## Recommended Resources & Further Reading **Technical Data:** - [SILCA: How to Maintain a Waxed Chain](https://silca.cc/blogs/silca/how-to-maintain-a-waxed-chain) — SILCA's complete waxed chain care protocol - [SILCA: How Clean Does a Chain Need to Be](https://silca.cc/pages/how-clean-does-a-chain-need-to-be) — Pre-wax cleaning standards with comparative data - [Zero Friction Cycling: Lubricant Testing](https://zerofrictioncycling.com.au/lubricant-testing/) — Independent lubricant performance data across road conditions **Video Guides:** - [GCN Tech: How to Wax Your Bike Chain](https://www.globalcyclingnetwork.com) — Step-by-step immersion waxing walkthrough - [GCN: Best Chain Lube for Your Bike](https://www.globalcyclingnetwork.com) — Comparison of wax vs. oil in real-world conditions **Componentry Reading:** - [The Friction Tax: How Chain Wear Costs You 5–10 Watts](/blog/friction-tax-chain-wear) — Why wax outperforms oil on the efficiency front - [Chain Maintenance Guide](/blog/chain-maintenance-guide) — Complete guide covering cleaning, lubrication, and replacement thresholds - [When to Replace Your Bike Chain](/blog/when-to-replace-bike-chain) — How to measure chain wear and determine when it's time for a new chain - [When to Replace Your Bike Chain: The Complete Guide](https://www.componentry.app/blog/when-to-replace-bike-chain): Learn exactly when to replace your bike chain with wear thresholds by drivetrain speed, five warning signs, mileage benchmarks, and cost comparisons. Published: 2026-03-14 | Categories: maintenance, guide | Tags: chain, maintenance, replacement, wear, drivetrain, cost-saving When to replace bike chain is one of the most common questions in cycling maintenance, and getting the timing wrong is expensive. A new chain costs $30 to $60. A cassette runs $50 to $400. Chainrings can push past $200. Run your chain too long and you end up replacing all three at once, turning a routine swap into a $400 to $660 repair bill. The problem is that most cyclists wait too long. They ride until the chain skips, the shifting gets noisy, or a mechanic tells them the damage has already spread to the cassette. By then, the cheap fix is off the table. This guide covers everything you need to know about when to replace bike chain: the exact wear thresholds for every drivetrain speed, five reliable signs that your chain needs replacing, realistic mileage expectations by riding discipline, three methods for checking wear at home, and the real cost difference between proactive and reactive replacement. Whether you ride road, gravel, mountain, or commute, the fundamentals are the same. Replace early, save money, ride better. ## What Actually Happens When a Chain Wears Out ### Chain "Stretch" and Why It Matters for When to Replace Bike Chain Cyclists call it chain stretch, but nothing is actually stretching. A chain is made of hardened steel plates, pins, and rollers. What wears down are the contact surfaces between the pins and the inner plate holes (or bushings on older designs). As these surfaces grind against each other over thousands of kilometers, microscopic amounts of metal are removed. Each pin sits a fraction looser in its hole. Multiply that tiny amount of play across 116 links, and the chain measures longer than it did when new. This elongation is measured as a percentage. A chain at 0.5% wear has grown roughly 0.06 inches over a 12-inch span. That sounds trivial, but it changes how the chain sits on every tooth of your cassette and chainrings. [SILCA's research into chain friction](https://silca.cc/blogs/silca/science-of-chain-efficiency) identifies the primary friction sources as the articulation between inner plates and pins, and the rolling contact between rollers and pins. These are the same interfaces where wear occurs. As those surfaces degrade, friction increases and the chain physically grows. ### Why a Worn Chain Damages Everything It Touches A new chain has a precise pitch (the distance between pins) that matches the tooth spacing on your cassette and chainrings. When the chain elongates, it no longer seats correctly in the tooth valleys. Instead of distributing load across multiple teeth, the force concentrates on fewer contact points. The hardened steel of the chain grinds down the softer alloys of the cassette. This is the cascade effect. One worn chain, left on too long, can destroy a cassette in a few hundred kilometers of riding. Park Tool explains the economics clearly: > "Since it's far more expensive to replace your cassette than it is to replace a chain, knowing when to replace your chain can actually save you some money in the long run." — [Park Tool: When to Replace a Chain](https://www.parktool.com/en-us/blog/repair-help/when-to-replace-a-chain-on-a-bicycle) Replace the chain before it damages the cassette, and the cassette can last through three to four chains. Wait too long, and you replace both at the same time. ## The Exact Wear Thresholds (By Drivetrain Speed) Not all chains share the same replacement point. Higher-speed drivetrains use narrower chains with tighter tolerances, which means less room for error before the elongation causes problems. Here are the thresholds: DrivetrainReplace AtSource12-speed (Shimano)0.5%Shimano / Park Tool12-speed (SRAM Eagle/AXS)0.8%SRAM Support11-speed0.5%Park Tool10-speed0.75%Park Tool9-speed and below0.75%Park ToolSingle-speed / fixed gear1.0%Park ToolThe most notable difference is between Shimano and SRAM at 12-speed. SRAM specifies a [higher replacement threshold of 0.8%](https://support.sram.com/hc/en-us/articles/5928711817755) for their chains, while Shimano and Park Tool recommend 0.5% for all 11 and 12-speed systems. If you are running SRAM, follow SRAM's guidance. If you are running Shimano, the 0.5% threshold is not optional. Why are higher-speed chains stricter? It comes down to geometry. A 12-speed cassette packs 12 cogs into roughly the same hub width as older 9 or 10-speed designs. The cog spacing is tighter. The chain is narrower. There is less material to absorb misalignment. When a narrow 12-speed chain elongates past its threshold, it misaligns with the cassette teeth more aggressively than a wider chain would under the same conditions. SRAM's own documentation reinforces the consequence of ignoring these thresholds: > "Using a chain beyond its intended wear limit will prematurely wear out your cogs and chainrings." — [SRAM Support: Chain Replacement](https://support.sram.com/hc/en-us/articles/5928711817755) ## Five Signs It Is Time to Replace Bike Chain You do not always need a tool to know something is wrong. Here are five indicators, ordered from most reliable to most obvious. **1. Your chain checker says so.** A dedicated chain wear tool (like the Park Tool CC-3.2 or Pedro's Chain Checker) gives you an objective measurement. If it reads at or beyond your threshold, replace the chain. This is the most reliable method and the one that catches wear before damage begins. **2. Skipping under load.** When a worn chain can no longer engage the cassette teeth properly, it slips forward under hard pedaling. This is most noticeable on smaller cogs (higher gears) and during climbing or sprinting. If your chain is skipping, you have likely already passed the ideal replacement point. **3. Ghost shifting and a noisy drivetrain.** Unexpected shifts, chain rattle, or a drivetrain that sounds rough even after cleaning and lubing are symptoms of a chain that no longer sits correctly on the cassette. These symptoms are easy to misattribute to cable tension or derailleur adjustment, but if your setup was fine a few thousand kilometers ago and has not been crashed or bumped, chain wear is the likely cause. **4. The visual pull-off test fails.** [Park Tool describes this test](https://www.parktool.com/en-us/blog/repair-help/when-to-replace-a-chain-on-a-bicycle): grab the chain at the front of the chainring and pull it away from the teeth. If you can see significant daylight between the chain and the chainring, the chain has elongated past a serviceable point. This is a rough check, not a precise measurement, but it catches badly worn chains quickly. **5. You have hit the mileage threshold.** If you know how far you have ridden on your current chain (through tracking or logging), you can preemptively replace before a tool or symptoms tell you to. This is the approach professional teams use. More on realistic mileage ranges in the next section. ## How Long Should a Chain Last? Chain life varies significantly based on riding discipline, conditions, maintenance, and lubrication. The ranges below represent typical lifespans to 0.5% wear for 11/12-speed systems, based on data from [Zero Friction Cycling's testing](https://zerofrictioncycling.com.au/chaintesting/) (over 300,000 km of controlled tests) and general industry experience. - **Road (dry conditions):** 3,000 to 5,000 km - **Road (mixed/wet conditions):** 2,000 to 3,500 km - **Gravel:** 1,500 to 3,000 km - **Mountain bike:** 800 to 2,000 km - **Commuter:** 2,000 to 4,000 km - **E-bike:** 1,000 to 2,500 km These ranges are wide because the variables matter. Factors that shorten chain life include wet or muddy conditions, poor lubrication practices, high-power riding (sprinting, climbing), cross-chaining, and dusty or gritty environments. Factors that extend chain life include regular cleaning, high-quality lubrication (waxed chains consistently outlast oil-lubed chains in testing), riding in dry conditions, and smooth pedaling style. Zero Friction Cycling's controlled testing provides a useful baseline: > "Most cyclists in predominantly dry conditions should expect at least 5,000 km to 0.5% wear with a quality chain and proper lubrication." — [Zero Friction Cycling: Chain Testing](https://zerofrictioncycling.com.au/chaintesting/) Mountain bikers and gravel riders should expect the lower end of these ranges. The combination of mud, water, dust, and high torque loads accelerates wear significantly. E-bikes also see shorter chain life because the motor adds torque beyond what the rider produces, increasing wear rate on the drivetrain. ## How to Check Your Chain Wear Three methods, from most accurate to most accessible. ### Method 1: Chain Checker Tool (Recommended) A chain checker tool is the most reliable way to measure wear. Tools like the Park Tool CC-3.2 have pins that correspond to 0.5% and 0.75% wear. You place the tool on the chain. If the 0.5% pin drops fully into the link, the chain is at 0.5% wear. If it does not drop in, the chain is still within tolerance. To use one: shift to the middle of the cassette so the chain runs relatively straight. Place the tool on the lower run of the chain (between the chainring and cassette). Let the tool sit under its own weight without pressing it. Read the result. The whole process takes about 10 seconds. Chain checker tools cost $10 to $30 and last for years. Given that a single missed replacement can cost hundreds in cassette and chainring damage, it is one of the best investments in a home tool kit. ### Method 2: The Ruler Method (Free) If you do not have a chain checker, a standard 12-inch ruler works. Park Tool describes the process: place the ruler along the chain so that the zero mark aligns exactly with the center of one pin. Count 24 links (24 pins). On a new chain, the 12-inch mark will align exactly with the center of the 24th pin. If the 24th pin is more than 1/16 inch (about 1.5 mm) past the 12-inch mark, the chain is worn and should be replaced. This method is less precise than a dedicated tool but catches chains that are clearly past their service life. It works best as a confirmation check rather than a primary measurement. ### Method 3: The Visual Pull-Off Test (Quick Check) This is the fastest check and requires no tools at all. Shift onto the largest chainring. At the front of the chainring (the 12 o'clock position), grab the chain and pull it directly away from the teeth. On a new chain, there will be almost no gap. On a worn chain, you will be able to pull the chain away and see daylight between the chain rollers and the chainring teeth. If you can see significant daylight (enough to see the tooth profile beneath), the chain is due for replacement. This method will not catch a chain at exactly 0.5%, but it will catch one that is well past due. Use it as a quick pre-ride sanity check, not a replacement for proper measurement. ## The Real Cost of Waiting Too Long to Replace Bike Chain The math on when to replace bike chain is simple. Here are two scenarios over 15,000 km of riding on an 11/12-speed drivetrain. **Scenario A: Proactive replacement at the correct threshold.** - Chains: 3 to 4 replacements at $30 to $60 each = $90 to $240 - Cassette: 1 replacement at $50 to $400 = $50 to $400 - Chainrings: likely zero replacements in this window - **Total: $140 to $640** **Scenario B: Reactive replacement after symptoms appear.** - Chains: 2 to 3 replacements at $30 to $60 each = $60 to $180 - Cassette: 2 to 3 replacements at $50 to $400 = $100 to $1,200 - Chainrings: 1 replacement at $60 to $200 = $60 to $200 - **Total: $220 to $1,580** Yes, proactive replacement means buying more chains. But chains are the cheapest part of the drivetrain. You can buy three to five chains for the cost of one cassette replacement on a modern groupset. The savings come from extending the life of the expensive components. The non-financial costs matter too. A skipping chain under load during a climb is at best frustrating, at worst dangerous. A chain that fails mid-ride leaves you stranded. And the gradual degradation in shifting quality and drivetrain noise erodes the riding experience in ways that are hard to quantify but easy to feel. The proactive approach is straightforward: track your mileage, check your chain periodically, and replace it before the threshold. The reactive approach is more expensive, less reliable, and harder on your bike. ## How Componentry Fits Into Your Care Routine The hardest part of proactive chain replacement is not the actual swap. It is knowing when. Most cyclists cannot recall exactly when they installed their current chain or how many kilometers they have ridden on it. They check when they remember, which is often after the damage has started. Componentry solves this by automating the tracking. Connect your Strava, Garmin, or Wahoo account once. Every ride automatically updates the distance on your chain and every other component you are tracking. No manual logging. No trying to remember installation dates. When your chain approaches its replacement threshold, you get an alert. Not after it starts skipping. Before it reaches the wear limit. You replace the chain on your schedule, not in response to a problem. For riders with multiple bikes, this matters even more. Road bike, gravel bike, commuter, trainer. Each has its own chain with its own wear pattern. Componentry tracks them all independently, so you always know which bike needs attention next. The feature set that matters for chain tracking: - Automatic activity sync from Strava, Garmin, and Wahoo - Per-component distance tracking across multiple bikes - Threshold alerts based on your drivetrain speed and riding conditions - Service log for replacement history and cost tracking - Dashboard view showing wear status at a glance You already track your fitness with ride data. Componentry uses that same data to track your equipment. It is the maintenance layer that closes the gap between knowing you should replace your chain and actually doing it at the right time. ## Frequently Asked Questions **Can I keep riding a worn chain if it is not skipping yet?** You can, but you are accelerating wear on your cassette and chainrings with every ride. Skipping is a late-stage symptom. By the time it appears, cassette damage is already underway. The longer you wait past the wear threshold, the more expensive the eventual repair. **Does drivetrain speed matter for when I replace?** Yes. 11-speed and 12-speed drivetrains have narrower chains and tighter cog spacing, which means less tolerance for elongation. Replace at 0.5% for these systems (or 0.8% for SRAM). 10-speed and below can go to 0.75%. Single-speed setups can run to 1.0%. **How much does it cost to replace a chain?** A replacement chain costs $30 to $60 for most drivetrains. Higher-end chains (Dura-Ace, SRAM Red, Campagnolo Record) run $40 to $80. If you do it yourself, the only additional cost is a chain tool or quick-link pliers ($15 to $25, one-time purchase). A shop will charge $15 to $30 for labor on top of the chain cost. **Can a worn chain damage my cassette?** Yes. This is the primary reason to replace chains proactively. An elongated chain concentrates force on fewer cassette teeth, grinding them down. Once the cassette teeth are worn to match the elongated chain, a new chain will skip on the damaged cassette, forcing you to replace both. **Do I need a special tool to replace a chain?** Modern chains use quick links (also called master links) that can be installed and removed with quick-link pliers or sometimes by hand. If your chain uses a connecting pin instead, you will need a chain breaker tool. Both tools are inexpensive and widely available. **How often should I check my chain for wear?** The question of when to replace bike chain comes down to regular checking. Every 500 to 1,000 km is a reasonable manual checking interval for most riders. If you are using an app like Componentry to track distance automatically, you can rely on threshold alerts and check less frequently. At minimum, check before any long ride, race, or event. ## Recommended Videos & Further Reading **Practical Videos:** - [How to Check for and Measure Chain Wear](https://www.globalcyclingnetwork.com/video/how-to-check-for-and-measure-chain-wear-maintenance-monday) — GCN Tech - [How to Change a Chain](https://www.youtube.com/watch?v=D707ZMWH7jQ) — GCN Tech **Reference Guides:** - [Park Tool: When to Replace a Chain](https://www.parktool.com/en-us/blog/repair-help/when-to-replace-a-chain-on-a-bicycle) — Wear thresholds, measurement methods, and replacement guidance - [Zero Friction Cycling: Chain Testing Data](https://zerofrictioncycling.com.au/chaintesting/) — Independent testing with over 300,000 km of controlled data **Componentry Resources:** - [How to Maintain Your Bike Chain](/blog/chain-maintenance-guide) — Cleaning methods, lubrication techniques, and maintenance best practices - [The Friction Tax: How Chain Wear Costs You Watts](/blog/friction-tax-chain-wear) — The performance cost of worn chains before symptoms appear - [How to Tell When Your Bike Tyres Are Worn Out (Beyond the Tread)](https://www.componentry.app/blog/when-to-replace-bike-tyres): Most cyclists only check tread. Casing failure — sidewall cracks, bulges, and thread count degradation — is the more dangerous and more overlooked wear mode. Here is how to assess both. Published: 2026-04-20 | Categories: safety, maintenance | Tags: tyres, tyre-wear, casing, road-bike, gravel, bike-maintenance, component-wear Most cyclists know to check tread depth. The wear indicators built into tyres like the Continental Grand Prix 5000 and Schwalbe Pro One are visible, intuitive, and easy to act on. When the small dot disappears or the central section goes flat and glossy, the message is clear. What most cyclists miss is casing wear. The structural fabric beneath the rubber — the threads that give a tyre its shape, cornering stiffness, and puncture resistance — degrades independently of the tread surface. A tyre can retain tread depth while its casing is compromised to the point of being unsafe. The failure mode is not a gradual performance decline. It is a sudden blowout, usually at speed. This guide covers both. Tread wear indicators are the easy part. Casing assessment is the part that determines whether your tyres are genuinely safe to ride. ## Tread Wear: What the Indicators Actually Mean Modern road tyres from Continental, Schwalbe, and Pirelli include moulded wear indicators — small dimples, raised dots, or grooves in the tread surface. Their function is to mark the point at which the rubber compound has thinned enough that casing exposure is imminent. Continental's Grand Prix 5000 uses three small holes in the tread. When these disappear, the tyre has reached the end of its usable tread depth — roughly 1–1.5mm of compound remaining at the wear point. Schwalbe's Marathon and One series use similar moulded indicators at the centre of the tread. Pirelli's P Zero Race uses a raised indicator nub that sits proud of the tread when new and becomes flush as wear progresses. When indicators disappear, the remaining rubber offers reduced puncture protection and the structural threads of the casing begin to bear road contact loads they were not designed for. At this point, replacement is not optional. Beyond the indicators, three visual signs require immediate action regardless of mileage: - **Flat profile.** A road tyre should have a rounded cross-section when inflated. A flat, squared-off centre indicates the tyre has worn primarily on the contact patch and has lost its designed profile. Cornering grip and rolling resistance are both degraded. - **Exposed threads.** Any visible fabric in the tread area — light-coloured fibres showing through the rubber — means the casing is exposed and the tyre must be replaced before the next ride. - **Consistent transparent thinning.** In good light, hold the tyre up and look through it. Thin spots in the tread appear as translucent patches. These are stress concentrations and puncture risks. ## Casing Wear: The Hidden Failure Mode Tread wear is what you see. Casing wear is what fails you. The casing is the structural skeleton of the tyre — layers of nylon or polyester threads (the TPI count, threads per inch) bonded in rubber. High-TPI casings (320 TPI in Pirelli's P Zero Race SL, for example) use finer threads for lower rolling resistance and better road feel. Lower-TPI casings (60–120 TPI in training and gravel tyres) use coarser threads for durability. Both degrade over time through four mechanisms. ### Sidewall Cracking UV exposure and ozone cause rubber compounds to oxidise and lose elasticity. The most visible evidence is fine cracking on the sidewall — a network of small surface fractures that appear when the tyre is flexed. Schwalbe's technical documentation notes that sidewall cracking can develop in tyres stored for more than two years, independent of riding mileage. On a tyre with significant road kilometres, accelerated cracking indicates the casing compound has passed its service life. Light surface cracking (barely visible, no depth) is cosmetic. Cracking that opens when you flex the sidewall — cracks that are wide enough to see clearly or that reveal lighter material beneath — indicates structural degradation. A tyre in this condition should be replaced regardless of tread depth. ### Cuts That Penetrate the Casing Road debris causes cuts. The question is not whether a cut exists, but whether it penetrates the casing. To assess a cut: clean the area, then flex the tyre to open the cut and look inside. If you can see light-coloured threads or the inner liner, the casing is breached. A breached casing can be booted from the inside as an emergency measure, but it should not continue in regular service. The boot holds pressure by bridging a structural gap — it is not a permanent repair. A breached casing in a road tyre running at 80–100 psi has insufficient material to reliably contain a blowout under cornering loads. Continental recommends replacing any tyre with a cut that exposes the casing threads, regardless of location. A sidewall cut that reaches the threads is a replacement trigger even if the tread appears unworn. ### Bulges: Immediate Replacement Required A bulge anywhere on the tyre — tread or sidewall — is not a condition to monitor. It is a failure already in progress. Bulges form when the casing threads break, allowing the inner tube (or tubeless insert) to push through under inflation pressure. The remaining material around the bulge is under increased stress. The tyre can fail at any point, and typically does so under the dynamic loads of cornering or braking. If you find a bulge, deflate the tyre and stop riding on it immediately. There is no valid repair. ### Thread Count Degradation: The Feel Test The hardest wear mode to assess visually is thread count degradation — the gradual loss of casing stiffness and compliance that accumulates over thousands of kilometres. High-TPI casings are particularly susceptible because their fine threads are more vulnerable to micro-damage from road vibration, gravel impact, and repeated flexing. The diagnostic is tactile rather than visual. A tyre with degraded casing feels noticeably stiffer than a new tyre of the same model when flexed by hand. Press the sidewall firmly with your thumb. A healthy high-TPI casing has a supple, responsive feel. A worn one resists with a leathery or papery stiffness. Road.cc's long-term testing of the Grand Prix 5000 noted this stiffening as a consistent marker of end-of-life, typically appearing between 4,000 and 5,000 km of hard road use. ## Tyre Lifespan by Use Case Lifespan varies significantly by tyre category, conditions, and rider weight. These ranges reflect the manufacturer guidance from Continental, Schwalbe, and Pirelli combined with independent long-term testing data from CyclingTips and road.cc. **Road race tyres (Continental GP5000, Pirelli P Zero Race, Schwalbe Pro One):** 3,000–5,000 km in normal riding conditions. The high-TPI casings optimised for rolling resistance sacrifice durability. Wet conditions, rough roads, and heavy riders sit toward the lower end of this range. **Road training tyres (Continental GP5000 All Season, Schwalbe Durano, Pirelli Cinturato Road):** 5,000–8,000 km. Reinforced casing construction and harder rubber compounds extend service life at the cost of marginally higher rolling resistance. These are the appropriate choice for winter and commute kilometres. **Gravel tyres:** Lifespan is condition-dependent rather than simply mileage-dependent. A gravel tyre accumulating kilometres on smooth tarmac and light gravel may last 4,000–6,000 km. The same tyre ridden on sharp rock, mud, and technical terrain may show casing damage at 1,500–2,000 km. Inspect after every demanding outing rather than on a fixed mileage interval. **Mountain bike tyres:** Highly variable. Assess primarily by casing condition — side knob tears, sidewall cuts from rim strikes, and compound cracking from UV exposure are more reliable indicators than mileage. Trail and enduro tyres ridden on technical terrain should be inspected every 10–15 hours of ride time. ## Why Casing Failure at Speed Is a Safety Issue A worn chain costs you watts and accelerates cassette wear. A worn cassette skips under load. These are costly but recoverable failures. A tyre blowout at 50 km/h on a descent is a different category of event. The physics of a tubeless or tubed tyre blowout under cornering load create an instant loss of lateral grip with no recovery window. Continental's engineering documentation on casing construction notes that their casings are designed to contain pressures significantly above rated maximum — but only when the casing threads are intact. A casing with breached threads, significant cracking, or a bulge has no meaningful safety margin above rated pressure. The implication: tyre replacement decisions should be made on casing condition, not on whether the tyre still holds air. Holding air is not the same as having structural integrity. ## Tracking Tyre Wear with Componentry The practical challenge with tyre wear is that it accumulates gradually across dozens of rides. Casing inspection requires handling the tyre with full inflation and good light — a process most riders skip at the end of a wet training ride. Componentry solves the tracking problem by treating tyres as components with logged kilometres. Add each tyre as a component linked to your bike, set a service reminder at your target replacement interval (3,500 km for race tyres, 6,000 km for training tyres), and your rides automatically accumulate against that threshold. When the alert fires, the mileage cue prompts the casing inspection that actually determines whether replacement is needed. The inspection itself takes two minutes: inflate to maximum rated pressure, check sidewalls for cracking, flex each sidewall to open any cuts, run your hands around the tread for bulges, and hold the tyre to light to check for thinning. If the tyre passes, ride on. If it does not, you have caught the issue before it becomes a blowout. --- *Further reading: [Maximizing Grip and Longevity: The Definitive Guide to Tire Lifecycle Management](/blog/maximizing-grip-and-longevity) — how to track tyre pressure, sealant life, and rotation schedules alongside wear intervals.* - [When to Replace Brake Pads: The Data-Driven Guide for Cyclists](https://www.componentry.app/blog/when-to-replace-brake-pads): Worn brake pads compromise stopping power before you notice. Learn the exact measurements, mileage thresholds, and warning signs that tell you it's time to replace. Published: 2026-04-14 | Categories: safety, maintenance | Tags: brake-pads, disc-brakes, rim-brakes, cycling-safety, component-wear, bike-maintenance Most cyclists replace brake pads reactively. A rubbing sound during a descent, a spongy lever feel, or a noticeable increase in stopping distance prompts a quick check — and the discovery that the pads are worn to metal. At that point, you have already compromised the rotor or rim, added cost to a simple consumable replacement, and ridden an unknown number of kilometers with degraded stopping performance. This is the wrong way to manage brake pads. Braking is the highest-consequence system on your bike. The failure mode is not a lost watt or a skipped shift — it is an inability to stop on a 60 km/h descent. Yet most riders apply less systematic attention to brake pad wear than they do to chain elongation. This guide covers exactly when to replace bike brake pads across both disc and rim brake systems, what the manufacturer thresholds actually mean, how wear rates vary by conditions, and how to build a tracking system that keeps the decision out of your memory and into a reliable process. ## Why Brake Pad Wear Matters More Than You Think The physics of braking create asymmetric risk. A chain worn to 0.75% elongation still shifts. A cassette worn past its service life still drives the wheel. These are performance degradations. Worn brake pads are a safety degradation — the consequences of failure are categorically different. Shimano's hydraulic disc brake documentation states that brake pads should be replaced before the friction material wears to 0.5mm thickness. At that point, the pad backing plate begins contacting the rotor during braking. Metal-on-metal contact produces several simultaneous problems: it destroys rotor surfaces that cost $40 to $150 to replace, it reduces braking force substantially, and it creates noise that is the last warning before failure rather than an early indicator. SRAM's service documentation for their Level and Code systems specifies a minimum pad thickness of 0.5mm remaining friction material. For rim brakes, Shimano recommends replacement when the wear indicator groove disappears on the pad surface — a groove typically cut to approximately 1mm depth, meaning replacement should occur when around 1mm of material remains. The practical problem: most riders cannot reliably estimate 0.5mm by eye. Without calipers or a systematic inspection habit, wear assessment becomes qualitative rather than quantitative. That is where most brake pad replacement decisions go wrong. ## Disc Brake Pads: Thickness Thresholds and Wear Rates Modern hydraulic disc brakes use sintered or organic (resin) compound pads. Each compound has different wear characteristics, noise profiles, and suitability for conditions. **Organic/resin pads** typically start at 3.5mm to 4mm of friction material. Wear rate in dry conditions averages 0.1 to 0.2mm per 1,000 kilometers for a 70kg rider on moderate terrain. That gives a service life of 15,000 to 35,000 kilometers before reaching the 0.5mm replacement threshold — in ideal conditions. The caveat matters significantly. Wet conditions accelerate wear by a factor of 2 to 4. Organic pads in rainy riding average 0.3 to 0.5mm per 1,000 kilometers. Sustained descending — the Alps, the Dolomites, a hilly sportive — generates heat that glazes organic compound and accelerates degradation further. A rider who regularly does long descents in wet conditions should anticipate needing pad replacement every 5,000 to 8,000 kilometers. **Sintered/metallic pads** begin with 4mm to 4.5mm of friction material and wear at 0.05 to 0.1mm per 1,000 kilometers in dry conditions. Their greater durability comes at the cost of more rotor wear and higher noise in cold conditions. For all-weather riders, sintered pads often provide better total-cost-of-ownership despite the higher initial price. Regardless of compound, the 0.5mm threshold is non-negotiable. Beyond that point: - Backing plate contact with the rotor begins creating scoring - Thermal mass is severely reduced, increasing fade risk - Hydraulic pistons extend further than designed, increasing caliper bleed frequency Inspect disc pads by removing the wheel and looking directly at the pad through the caliper slot. A steel ruler, a dedicated brake pad gauge, or a simple feeler gauge set to 0.5mm tells you definitively whether replacement is needed. Manufacturers including Park Tool and Abbey Bike Tools make dedicated pad wear gauges for this purpose. ### Rotor Thickness: The Paired Consumable Disc rotors wear alongside pads and have their own replacement thresholds. Shimano specifies a minimum rotor thickness of 1.5mm for standard rotors (original thickness 1.8mm). SRAM specifies 1.55mm minimum (original 1.9mm). Using calipers on the braking track of the rotor takes 30 seconds and gives you the full picture of system wear. When replacing pads, always measure rotors. Pads installed on a rotor below minimum thickness will not develop proper bed-in and will perform poorly regardless of compound quality. ## Rim Brake Pads: Reading the Indicators Rim brake pads offer more visible wear indicators than disc pads, but are often ignored until the consequences become audible. Shimano Dura-Ace, Ultegra, and 105 pads include a wear indicator groove across the face of the pad. When this groove disappears, the pad needs replacement. The groove is cut to approximately 1mm depth, so its disappearance indicates the pad has worn from its starting thickness (typically 12mm) to approximately 11mm — still functional, but beginning to approach the metal backing. The actual replacement point for rim pads should occur before the indicator groove disappears entirely. At around 3mm remaining total thickness (the groove becoming very shallow), stopping performance begins to degrade noticeably. At groove disappearance, you are into the final degraded zone. For carbon rim brake pads specifically, compound selection and tracking matter more than for aluminum. Carbon rims require dedicated carbon-specific compounds — using aluminum compound on a carbon rim generates heat that can delaminate the carbon or melt the resin. Cork, SwissStop Yellow, and manufacturer-specific compounds are designed to operate within the thermal limits carbon can tolerate. Track mileage on carbon rim pads more carefully than aluminum; the failure mode is more severe. A simple visual check during each cleaning session — before the groove disappears, not after — is sufficient early warning. If you clean your bike after every ride, brake pad wear is visible before it becomes a problem. ## How Riding Conditions Change Everything The most important variable in brake pad service life is not compound or brand. It is terrain and weather. **Elevation loss drives wear faster than distance.** A rider averaging 200m of elevation gain per 100km (typical for flat to rolling terrain) will wear pads at the normal rates described above. A rider in the Alps or Pyrenees, averaging 1,500m+ of gain per 100km, is applying brakes for prolonged periods during descents. Heat accumulates. Compound wears. The same physical distance accumulates far more friction material removal. This is why tracking braking by kilometers alone misses the critical variable. A 100km ride in the Swiss Alps demands more of your brake pads than a 100km criterium where you barely use them. A Strava or GPS activity file contains elevation data that, in principle, can calculate the actual braking load your components experienced per ride. **Wet conditions cut service life dramatically.** Water acts as an abrasive medium in the pad-to-rotor interface. Grit and sand carried by water accelerate wear on both surfaces. Field observations from Park Tool's training materials suggest wet-condition wear can be 2 to 4 times the dry rate. A rider doing 8,000 km/year in wet British conditions has very different replacement cadence than one riding 8,000 km/year in dry California. **Contamination causes premature failure independently of wear.** Oil, chain lube, or hydraulic fluid on brake pads is not a wear issue — it is a contamination issue that requires immediate pad replacement regardless of remaining thickness. Contaminated pads lose friction unpredictably and cannot be reliably cleaned. When replacing hydraulic hoses or working near the braking surfaces, protecting pads from contamination is essential. ## A Practical Inspection Protocol Rather than waiting for a symptom to trigger inspection, build brake pad checks into the same rhythm as drivetrain maintenance. **Every ride (30 seconds):** During your post-ride wipe-down, visually check disc pad thickness through the caliper slot or note rim pad groove depth while cleaning rims. **Every 500km:** Perform a full brake check. For disc brakes, remove the wheel and measure pad thickness directly. Check rotor thickness with calipers. For rim brakes, confirm groove visibility and check for embedded grit or uneven wear patterns. **After every wet ride:** Check for contamination on disc pads. If you rode through standing water or muddy conditions, run the brakes briefly at low speed to clear water. Listen for grit sounds that indicate accelerated wear. **Before every major event or descent-heavy ride:** Confirm pad thickness is well above minimum threshold. For a sportive with significant descending, you want to know days before the start line that you have adequate material — not discover otherwise during the briefing. **Replace pads proactively, not reactively:** When pads reach 1.0mm remaining on disc systems (double the minimum threshold), replace them before the next ride rather than scheduling a future replacement. The cost difference between 0.5mm and 1.0mm of pad material is negligible. The inconvenience of a trailside or event-day failure is not. ## The Replacement Decision Framework The decision to replace brake pads is simpler than most riders make it: **Replace immediately:** - Disc pads: friction material at or below 1mm - Rim pads: wear indicator groove shallow or absent - Any pad with oil or hydraulic fluid contamination - Any pad showing uneven wear that cannot be cleaned up by reseating **Inspect and monitor:** - Disc pads: 1.5mm to 2mm remaining — replace within next 1,000km depending on conditions - Rim pads: groove clearly visible but wearing — monitor every 500km **Normal service life remaining:** - Disc pads: above 2mm friction material - Rim pads: groove deep and visible This framework removes the grey zone. The question is not "do these look worn?" — it is "how many millimeters remain?" ## How Componentry Tracks Brake Pad Wear The fundamental problem with manual brake pad tracking is that the variables that matter most — elevation loss, wet conditions, ride frequency — are impossible to track reliably in your head or on a spreadsheet. You need a system that counts what actually wears pads down. [Componentry](/) connects to your Strava, Garmin, or Wahoo account and automatically logs every ride's elevation, distance, and conditions to each component on the relevant bike. Brake pads are tracked independently per wheel, per bike. You configure the alert threshold for your compound and riding conditions. Sintered pads on an all-weather gravel bike get a higher kilometer threshold than organic pads on a summer road bike. When accumulated elevation loss or distance crosses your configured threshold, Componentry alerts you to inspect or replace — before symptoms appear. For riders doing descent-heavy events, the system works as a pre-event readiness check. Log in a week before a major sportive or alpine stage, see the current wear status of every component, and make replacement decisions with enough lead time to bed in new pads before race day. This is the mechanical equivalent of your car's brake pad wear sensor — a proactive alert system rather than a reactive failure mode. Except it accounts for the actual load your specific riding puts on each component, not a generic mileage estimate. ## Related Maintenance Brake pads do not wear in isolation. Build these parallel checks into the same service windows: - **Hydraulic brake fluid:** Shimano recommends mineral oil replacement annually. DOT fluid absorbs moisture and should be flushed every one to two years depending on riding frequency. Degraded fluid reduces caliper stiffness and increases compressibility at the lever. - **Cable and housing (mechanical systems):** Frayed cables and deteriorated housing create inconsistent lever feel that masks genuine pad wear feedback. Replace cables and housing when replacing pads on mechanical systems. - **Rotor truing:** Minor rotor wobble that was tolerable with new pads causes rubbing and noise as pads wear thinner. Check rotor true at every pad replacement. For disc brake systems, the full service event is: new pads, rotor thickness check, caliper alignment check, lever bleed if needed. Doing all four at once prevents the incremental return trips that erode time and patience. ## How Componentry Fits Into Your Care Routine Brake pad maintenance is the kind of task that feels like it should be simple but depends on variables most riders do not track. How many kilometers since the last replacement? What were conditions like? How much elevation did those kilometers include? [Componentry](/) answers these questions automatically. Every ride synced from Strava, Garmin, or Wahoo updates the wear counter on each component, including your brake pads. Elevation data means descent-heavy rides count more toward your replacement threshold than flat rides. Custom alerts mean you decide the inspection interval — not a generic calendar reminder that ignores how you actually ride. The goal is to never discover worn pads during a ride. To know, days or weeks before the threshold, that replacement is coming. That is what systematic component tracking makes possible. ## Recommended Videos & Further Reading **Manufacturer Service Documentation:** - [Shimano Disc Brake Maintenance Guide](https://si.shimano.com/) — Pad thickness specifications for all Shimano hydraulic systems - [SRAM Brake Service Guides](https://www.sram.com/en/service) — Level, Code, and G2 pad thresholds and bleed procedures **Technical Guides:** - [Park Tool: Disc Brake Pad Replacement](https://www.parktool.com/en-us/blog/repair-help/disc-brake-pad-removal-installation) — Step-by-step guide with visual inspection guidance - [Park Tool: Rim Brake Pad Replacement](https://www.parktool.com/en-us/blog/repair-help/brake-pad-replacement-caliper) — Indicator groove interpretation and alignment - [GCN: How to Replace Disc Brake Pads](https://www.youtube.com/gcntech) — Video walkthrough of the full inspection and replacement process **Componentry Resources:** - [When to Replace Your Bike Chain: The Complete Guide](/blog/when-to-replace-bike-chain) — The wear threshold methodology that applies to all components - [The Friction Tax: How Drivetrain Efficiency Costs You Watts](/blog/friction-tax-chain-wear) — Understanding wear-related performance loss - [Aero Efficiency: Why Clean Components Are Faster](/blog/aero-efficiency-clean-components) — How brake drag joins the total watt-loss picture ## Changelog - [📱 Mobile v1.1.0 - December 20, 2025](https://www.componentry.app/changelog/mobile-v1.1.0-december-20-2025): 2025-12-20 ### New Features #### Magic Link Authentication The mobile app now uses Magic Link for passwordless sign-in, providing a more secure and streamlined authentication experience. **How it works:** - Enter your email address on the sign-in screen - Check your inbox for a sign-in link - Tap the link to instantly sign in to the app - No password required **Benefits:** - More secure than traditional passwords - No need to remember or manage passwords - Seamless experience across web and mobile - Links work on both mobile (opens app directly) and desktop (opens web) #### Universal Links (iOS & Android) Magic Links now use Universal Links to open the app directly when tapped from email clients like Mail, Gmail, or Outlook. ### Technical Improvements - Added token verification flow for secure Magic Link handling - Improved error handling with user-friendly messages - [📱 Mobile v1.10.0 - April 18, 2026](https://www.componentry.app/changelog/mobile-v1.10.0-april-18-2026): 2026-04-18 ### New Features #### Bike Profile Images Give each bike its own avatar that appears wherever the bike does. - Circular avatar on the **Home** active-bikes card and in the **Bikes** switcher (both trigger and list) - Bike colour now peeks out as a crescent behind the avatar, replacing the small inline colour dot - **Add** / **Change** / **Remove** controls live on the add and edit bike sheets, with an automatic square crop and 500×500 resize before upload - Cached fallback icon shows for bikes without a photo #### Bike Colour Picker A new bottom sheet lets you pick a bike colour from a curated palette. - 15-colour palette matching the web app, launched from a swatch button in the add / edit bike sheet - Tapping a colour applies it and closes the sheet - **Clear colour** removes a previously set colour - Avatar crescent on the form previews the selected colour live - [📱 Mobile v1.11.0 - April 21, 2026](https://www.componentry.app/changelog/mobile-v1.11.0-april-21-2026): 2026-04-21 ### New Features #### Personalised Predictions Mobile now shows personalised wear predictions for each component on your bike, based on how you actually ride — not just generic mileage estimates. - Inline purple **distance remaining · replace by** badge on every component in the list (when a prediction is available) - New **Personalised Prediction** section on the component detail sheet with a 2-column summary, sorted "What's driving wear" factor list, and confidence + model version footer - "Early estimate" pill while predictions are still warming up - One-line teaser on Strava-only bikes prompting users to connect a bike computer to unlock predictions #### Apps Page Insights Panel A new purple **Advanced Insights** panel on the Apps & Integrations screen shows where you are in the prediction tier progression. - Three states: locked (no FIT provider), progressing (with a rides-to-next-tier bar), and unlocked - "Powers predictions" pill next to Wahoo / Garmin / Hammerhead connection status #### Home Dashboard Insights Card A trimmed version of the panel on the home dashboard nudges users toward unlocking better predictions. - Tappable card opens a **What is this?** explainer sheet covering what predictions are, how they work, why you're seeing this, and a privacy note - Dismissible via X — re-surfaces whenever your tier changes so there's always a fresh reason to engage - Auto-archives silently when you reach the high-confidence tier #### Race-Day Readiness A new screen for projecting every component's state on a chosen race or event date. Reachable from the bike detail screen when a FIT provider is connected. - Pick a future date and a training-plan preset (Normal / Build / Two-week taper / Four-week taper) - Per-component readiness cards sorted by urgency, status-coded (good / monitor / replace before / overdue) with personalised recommendation copy - Headline composed locally from structured response data so it translates correctly in every locale - "What we assumed" expandable section showing weekly km, taper, weather conditions, and rides-on-record - Friendly "try again in a moment" state when the predictions service is briefly unavailable ### Improvements #### Analytics Added two PostHog events on the home insights card so we can measure engagement and dismissal patterns: `advancedInsights.tapped` and `advancedInsights.dismissed`. - [📱 Mobile v1.12.0 - April 22, 2026](https://www.componentry.app/changelog/mobile-v1.12.0-april-22-2026): 2026-04-22 ### New Features #### Number and Date Format Preferences Two new locale settings let you pick how numbers and dates are rendered across the app, independently of your language or unit choices. - **Number format** — choose between `1,234.56` (comma thousands), `1.234,56` (dot thousands — common in Europe), or `1234.56` (no grouping separator). Distances, elevations, wind speed, precipitation, and temperature all respect your choice, so a 2,366.6 km total can now render as `2.366,6 km` or `2366.6 km` if that matches how you read numbers. - **Date format** — choose between `DD/MM/YYYY`, `MM/DD/YYYY`, or `YYYY-MM-DD`. Activity dates, install dates, service history, and reminders all follow your selection. - New rows on the **Language & Locale** settings card with a live preview next to each option (e.g. `1,234.56 (2,366.6)`), so you can see exactly what a format looks like before picking it. - Fresh accounts get a sensible default inferred from your account language (European languages default to `1.234,56` and `DD/MM/YYYY`; US English gets `1,234.56` and `MM/DD/YYYY`), and you can override it at any time. - Preferences sync with the web app — change your format on one platform and it flows through to the other. - [📱 Mobile v1.13.0 - April 29, 2026](https://www.componentry.app/changelog/mobile-v1.13.0-april-29-2026): 2026-04-29 ### New Features #### Sensor management You can now manage your sensors — power meters, speed/cadence, and other paired devices — directly from the mobile app. - New **Settings → Configuration → Sensors** screen lists every sensor on your account with its current bike, profile, and Strava bike pairings at a glance - Tap any sensor to edit — change the paired bike, pin a profile, or link/unlink a Strava bike from a single bottom sheet - Sensors continue to be discovered automatically when activities are processed; mobile is for managing the pairings, not adding new hardware #### Profile pinning per sensor Cyclists running multiple power meters can now scope wear to the right components without thinking about it on every ride. - Pin a profile (e.g. **Race wheels** vs **Training wheels**) to a specific sensor - Every activity matched through that sensor inherits the pinned profile, so wear lands only on components in that profile - Clearing the pin falls back to the bike's default profile or the activity-type match — same behaviour as before #### Sensors on the bike view - New **Sensors** summary card on each bike shows how many sensors are paired, sitting alongside Components, Profiles, and Reminders - Tapping the card opens a read-only list of sensors paired with that bike, with a quick link back to Settings to edit - [📱 Mobile v1.13.1 - May 02, 2026](https://www.componentry.app/changelog/mobile-v1.13.1-may-02-2026): 2026-05-02 ### Bug Fixes #### New bikes appear in the activity bike picker After adding a new bike on mobile, you can now assign it to an activity straight away. - Previously the activity bike picker was backed by a separate cache that wasn't refreshed when a bike was created, renamed, retired, or deleted — so changes only showed up after a restart or once the cache expired - Bike create, update, and delete now refresh the activity picker immediately, alongside the existing bikes screen refresh #### Year selector on the component installed-date picker (iOS) You can now pick an install year directly when adding or editing a component on iOS. - The iOS picker previously used a wheel layout that only exposed day, hour, and minute — selecting a year required scrolling through the combined date column - Switched to the inline calendar layout, which shows a tappable month/year header and a calendar grid alongside the time wheels - Honours the app theme (light/dark) #### Component edits now refresh predictions and reminders Editing or creating a component now updates everything that depends on it. - Wear forecasts, replace-by dates, and per-bike reminder lists previously kept showing pre-edit values until the screen was left and re-entered (or the cache expired) - Component create, update, and delete now refresh predictions, reminders, upcoming reminders, and incomplete reminders immediately ### Improvements #### Clearer wear percentage on the component list The wear percentage on each component card is now larger and bolder so you can scan a bike's status at a glance. #### Warning icon for bikes with no components A small amber warning icon now appears on bikes that have no components added, so it's easier to spot which bikes still need to be set up for tracking. - Shown next to the component count on each bike card on the Home view - Shown next to the "No components added" subtitle on the Components row of the bike detail view #### Consistent numeric typography across the bikes view Numbers, percentages, distances, durations, and dates throughout the bikes view and its sub-views now render in the same SUSE Mono font already used on the home and activities tabs. - Wear percentages on the bike overview, component list, and component detail - Distance, duration, and time-remaining readouts on component, reminder, and service items - Prediction grid values, factor impacts, and confidence footers - Fit measurement values and difference badges - Race-day projection summary stats, projected wear, and assumption rows - [📱 Mobile v1.14.0 - May 08, 2026](https://www.componentry.app/changelog/mobile-v1.14.0-may-08-2026): 2026-05-08 ### New Features #### Bike setup wizard When you create a bike, you can now pick a brake type and a setup level (**Basic**, **Complete**, or **Detailed**) and the app pre-fills a list of components for you to confirm — manufacturer, install date — and creates them all in one step. Reminders for components that have presets (chain wear, tire wear, brake pad checks, etc.) are auto-created. - Brake type and setup template selectors added to the create-bike sheet - New wizard screen with bulk-set helpers — apply a manufacturer to every empty row, set the same install date across all rows, toggle reminder auto-creation - Each row shows the reminder count so you know what tracking comes for free - Choose **None / Custom** to skip the wizard and stay on the bike page as today #### Set-up CTA on bikes with no components Bikes with zero components — Strava-imported bikes, bikes created before this feature, or bikes where you skipped the wizard — now show a **Set up your bike** card in place of the empty Component Wear card on the bike detail screen. Tapping in opens the same wizard flow. #### Component type list refresh - "Tyre" labels are now "Tire" everywhere - Brake pads are split into front and rear types, so you can retire one side independently when only one wears out ### Improvements #### Home shows every active bike The Active Bikes section on the home screen now lists all of your bikes instead of capping at three. The count badge already showed the full number, so the list now matches. #### Header action buttons across forms Submit actions on the **Component**, **Reminder**, **Bike fit**, and **Setup wizard** screens have moved into a circular blue check button in the navigation header. The wizard's first step uses a chevron in the same slot, and a white X sits next to it for cancel/skip — clearer hierarchy and one-thumb reach. Page titles on these screens are now simply "Add" or "Edit". #### Wizard loading state Submitting the bike setup wizard now shows a full-screen loading overlay until the components and reminders are saved *and* the bike view's data is refreshed — no more landing on the bike page and seeing the setup CTA flash before it updates. #### Empty-state CTAs match the bike view The empty state on the **Components** sub-view now matches the bike-view setup CTA: a primary "Set up with a template" button alongside a secondary "Add component" button. #### Solid warning icon The yellow warning icon shown on bikes with zero components — both on the home Active Bikes card and the bike-view Components summary — is now a filled circle for better visibility against busy backgrounds. #### Bike switcher shows discipline The bike switcher on the bike view now lists discipline alongside manufacturer and year, so you can identify the right bike at a glance when you have multiple of the same brand. #### Bike colour selector pre-fills Adding or editing a bike now pre-fills a random preset colour on the colour selector instead of showing an ambiguous "+" placeholder, so every bike starts with a usable colour you can keep or change. #### Polish - Buttons across the new screens now follow the platform convention — fully rounded on iOS, default radius on Android - Empty-state buttons on Bike fit and Reminders updated to match - [📱 Mobile v1.2.0 - December 24, 2025](https://www.componentry.app/changelog/mobile-v1.2.0-december-24-2025): 2025-12-24 ### New Features #### App Connections 🔗 You can now connect your Strava, Wahoo, and Garmin accounts directly from the mobile app! **Supported Providers:** - **Strava** - Connect your Strava account to sync activities and bikes - **Wahoo** - Link your Wahoo account for workout data - **Garmin** - Connect Garmin Connect for comprehensive activity tracking **How to Connect:** - Go to **Settings** → **Apps** - Tap **Connect** next to your preferred provider - Sign in to authorize Componentry - You're all set! Connected providers will automatically sync your activities to keep component wear up to date. #### Import Bikes from Strava 🚲 Once you've connected Strava, you can import your bikes directly into Componentry: - Tap **Import Bikes** in the Apps settings - Select which bikes to import - Your bikes will be added to your gear list with all the details from Strava #### Import Activities from Strava 📊 Backfill your activity history by importing past activities: - Tap **Import Activities** in the Apps settings - Choose how many activities to import - Activities will be processed and wear will be calculated for your components ### Improvements #### Enhanced Reminder Cards on Home Page We've improved how reminders are displayed with clearer status badges and smarter filtering. **New Status Badges:** Every reminder now shows a clear status badge: - 🔴 **Overdue** - Past due date or reached target distance - 🟠 **Due Soon** - Due within 3 days or within 50km - ⚪ **Upcoming** - Completed reminders coming up soon - 🔵 **Todo** - Incomplete reminders needing attention **Better Display for Distance-Based Reminders:** - Time-based reminders show "Due in X days" or "X days overdue" - Distance-based reminders show "Xkm remaining" or "Distance due now" - Combined reminders display both time and distance info **Smarter Filtering:** Your home page now only shows reminders that actually need attention - completed reminders only appear when they're due within 3 days or 50km. ### Technical Improvements - Reminders now fetch from the API instead of direct database queries - Improved OAuth flow for provider connections with in-app authentication - Better error handling for import operations - [📱 Mobile v1.3.0 - December 26, 2025](https://www.componentry.app/changelog/mobile-v1.3.0-december-26-2025): 2025-12-26 ### New Features #### Low Battery Notifications 🔋 Receive push notifications when your electronic devices need charging after a ride. Tapping the notification opens the app directly to the activity details. #### Electronics Battery Status in Activity Details ⚡ The activity detail sheet now displays battery status for all paired electronics: - **Green battery icon** - Device battery is good - **Red battery icon** - Device needs charging Devices like power meters, Di2 shifters, and other ANT+ electronics with battery reporting are automatically detected from your ride data. #### Home Redesign 🏠 The home view has been completely redesigned with a fresh new look: - **Personalized Greeting** - Time-based greetings that adapt throughout the day - **Activity Summary Card** - See your total distance, duration, activities, and elevation gain at a glance - **Incomplete Reminders** - Quick access to maintenance tasks that need attention - **Upcoming Services** - Stay ahead of scheduled maintenance - **Active Bikes** - Overview of your gear with component status #### Custom Typography ✨ Introduced the **SUSE Mono** font family for a distinctive, technical aesthetic that matches Componentry's precision-focused design. #### Elevation Tracking 🏔️ Activity summaries now display total elevation gain, giving you a complete picture of your riding efforts. ### Improvements #### Android Navigation Fixes - Fixed bottom navigation bar overlapping content on Android devices - Improved safe area handling for consistent layout across all Android screen sizes - Platform-specific scroll padding ensures all content is accessible #### Android Login Improvements - Fixed an issue that could prevent sign-in on first launch - Improved session handling for a more reliable authentication experience #### Android Navigation Styling - Refreshed bottom navigation bar with Componentry brand colors - Improved icon and label colors for better visibility and consistency #### Home View Design Tweaks - Visual refinements to cards and layouts on both iOS and Android - Improved spacing and typography for a cleaner look #### Reusable UI Components New standardized section cards provide a consistent look and feel: - **Section Card** - For displaying content with icons and counts - **Section Loading Card** - Elegant loading states with activity indicators - **Section Empty Card** - Friendly empty states with helpful messages #### Icon System Updates Enhanced icon support with proper Tailwind CSS styling for a polished, cohesive interface. - [📱 Mobile v1.3.1 - January 07, 2026](https://www.componentry.app/changelog/mobile-v1.3.1-january-07-2026): 2026-01-07 ### New Features #### Wahoo Activity Import You can now import activities directly from Wahoo on mobile. Navigate to Settings > Apps and tap "Import Activities" under the Wahoo section. - Import your last 7, 30, 60, or 90 workouts - Only cycling activities are imported - Activities are processed in the background and will appear in your activity list as processing completes #### Activity Sync Source Messaging The Apps page now displays informational messages indicating where your activities will sync from when multiple fitness providers are connected. - When only Strava is connected, it shows "Your activities will sync from Strava" - When Wahoo or Garmin is also connected, Strava shows "Strava will match but not import activities" while the device provider indicates it's the sync source ### Improvements #### Password Manager & Autofill Support Fixed an issue where email and password fields on authentication screens were not being recognized by password managers and system autofill services. - **Email fields** now properly trigger email keyboard and autofill suggestions on both iOS and Android - **Password fields** on sign-in screens now integrate with iOS Keychain and Android autofill - **New password fields** on sign-up screens now trigger password generation suggestions from password managers This fix applies to all authentication screens including sign-in, sign-up, magic link, and password reset forms. - [📱 Mobile v1.4.0 - January 09, 2026](https://www.componentry.app/changelog/mobile-v1.4.0-january-09-2026): 2026-01-09 ### New Features #### Add and Edit Bikes You can now create and manage your bikes directly from the mobile app without needing to use the web interface. - **Add new bikes** by tapping the + button on the Bikes page - **Edit existing bikes** by tapping the edit button next to the bike switcher - Select manufacturer, discipline, model name, and optional year - **Retire bikes** to hide them from your active list while preserving their history - **Delete bikes** that have no components attached Disciplines are organized into common types (Road, Gravel, Trail, Enduro, Downhill) and other categories for easier selection. - [📱 Mobile v1.4.1 - February 03, 2026](https://www.componentry.app/changelog/mobile-v1.4.1-february-03-2026): 2026-02-03 ### New Features #### Reminder Start Date You can now set a start date when creating or editing reminders, matching the functionality available on the web app. - **Pick a start date** using the native date picker when creating a reminder - The selected date is used as the base for calculating the next run time - Existing reminders load their saved start date when editing #### Component Installation Date & Time Track exactly when a component was installed on your bike. - **Set installation date and time** when adding a new component - On iOS, select date and time together with the spinner picker - On Android, pick the date first, then the time - **View installation date** in the component detail sheet #### Reminder Detail Sheet Redesign (Bikes) The reminder detail bottom sheet in the Bikes section has been redesigned to match the Home view for a consistent experience. - **Complete Early** button for upcoming reminders that have already been completed and are waiting for their next cycle - **Mark as Incomplete** to move a completed reminder back to the Todo list - Status badges now show **Overdue**, **Due Soon**, **Upcoming**, or **Todo** with colour-coded indicators - Due dates and distances highlight in red when overdue - Shows linked bike and component information - Updated background, typography, and styling to match the Home reminder sheet - [📱 Mobile v1.4.2 - February 03, 2026](https://www.componentry.app/changelog/mobile-v1.4.2-february-03-2026): 2026-02-03 ### New Features #### Unit Preferences All distance and elevation values throughout the app now respect your unit preferences. Switch between metric and imperial in Settings and see changes reflected everywhere instantly. - **Distance units** — choose between kilometres (km) and miles (mi) - **Elevation units** — choose between metres (m) and feet (ft) - All values stored in the database remain in metres and are converted at display time #### Where units are applied - **Activity list** — distance and elevation on each activity row - **Activity detail** — distance, elevation, and speed in the detail sheet - **Activity summary card** — weekly totals for distance, duration, and elevation on the Home screen - **Reminders** — distance remaining text on reminder cards and detail sheets - **Component detail** — wear distance and life distance - **Create component** — life distance input label and value conversion - **Strava import** — bike distances during import - [Mobile v1.4.3 - February 14, 2026](https://www.componentry.app/changelog/mobile-v1.4.3-february-14-2026): 2026-02-14 ### Bug Fixes #### Strava, Wahoo & Garmin Fixes Resolved issues across all three activity providers to improve reliability and data accuracy. - **Strava** — fixed activity sync and data processing issues - **Wahoo** — fixed activity import and connection stability - **Garmin** — fixed activity data handling and sync errors ### New Features #### Weather Data on Activities Activities now display weather conditions recorded during your ride, including temperature, humidity, wind speed, precipitation, and cloud cover. Weather data is automatically enriched when available. #### Weather Unit Preference You can now choose between Celsius and Fahrenheit for temperature display in Settings → Profile → Units. ### Improvements #### Design Uplift Refreshed visual styling across the app for a cleaner, more polished experience. - [Mobile v1.4.4 - February 17, 2026](https://www.componentry.app/changelog/mobile-v1.4.4-february-17-2026): 2026-02-17 ### Bug Fixes #### Improved Sign Out - Fixed an issue where cached data could persist after signing out - Push notifications are now properly unregistered when signing out - [Mobile v1.4.5 - February 23, 2026](https://www.componentry.app/changelog/mobile-v1.4.5-february-23-2026): 2026-02-23 ### New Features #### Edit Components - You can now edit existing components directly from the component detail sheet - Tap the new "Edit Component" button to update the name, type, brand, model, expected lifespan, and install date of any active component #### Duration & Time Wear Tracking - The component detail sheet now shows ride duration and time-based wear alongside distance metrics #### PostHog Analytics - Added product analytics with automatic screen tracking and user identification - Screen views are captured as you navigate through the app - Analytics are reset on sign-out for clean session boundaries #### Haptic Feedback - Added haptic feedback throughout the app for a more tactile experience - Activity list items, reminder interactions, bike create/edit actions, import buttons, and selection pickers now provide subtle haptic responses ### Improvements #### Pull-to-Refresh on Component List - The components list now supports pull-to-refresh for quick manual refreshing - The list automatically refreshes after editing a component to ensure data is always up to date #### Bike Switcher - Replaced the custom modal with a native bottom sheet for a more consistent experience #### Selection Sheet - Improved scroll behavior in selection pickers with proper gesture handling - Better keyboard interaction when searching within selection sheets #### Import Sheet Styling - All import buttons in the Apps settings view now use rounded-full styling - Import and cancel buttons in bottom sheets are also rounded for visual consistency ### Bug Fixes - Fixed an issue where the component list would not visually update after editing a component - Fixed query cache invalidation for workspace stats when updating a component - Fixed keyboard staying open when tapping selection pickers (type, manufacturer, linked component, frequency, etc.) in forms and bottom sheets - Fixed stuck opacity state on Strava bike import list items when toggling selection - Fixed nested bottom sheet stacking issues by lifting selection pickers to the page level - [Mobile v1.4.6 - March 12, 2026](https://www.componentry.app/changelog/mobile-v1.4.6-march-12-2026): 2026-03-12 ### New Features #### Hammerhead Activity Import - Import your cycling activities from Hammerhead directly within the app - Select from the last 7, 30, 60, or 90 workouts to import - Activities are queued for background processing and appear as they complete - Summary view shows queued, skipped, and error counts with a list of recently queued activities #### Garmin Activity Import - Request a backfill of your cycling activities from Garmin - Choose from the last 30 days, 90 days, 6 months, or 1 year - Activities are delivered asynchronously by Garmin and appear as they are processed - Helpful guidance if the "Export Your Data" permission is missing ### Improvements #### Apps Settings - Added bottom padding to the Apps settings page so content is no longer hidden behind the navigation bar - [📱 Mobile v1.5.0 - March 14, 2026](https://www.componentry.app/changelog/mobile-v1.5.0-march-14-2026): 2026-03-14 ### New Features #### Activity-Based Reminders You can now create reminders that trigger based on the number of activities (rides) completed, in addition to the existing time-based and distance-based options. - Set a repeat interval in number of activities (e.g., every 10 rides) - Activity progress is displayed across the app: reminder list items, bike reminder detail sheets, and the home screen reminders card - Color-coded status indicators show when activity-based reminders are due soon or overdue - Combine activity-based reminders with time and distance triggers on a single reminder for flexible maintenance tracking - [📱 Mobile v1.6.0 - April 04, 2026](https://www.componentry.app/changelog/mobile-v1.6.0-april-04-2026): 2026-04-04 ### New Features #### Bike Profiles Manage interchangeable component setups on a single bike — perfect for chain waxing rotations, swapping between training and race wheelsets, or running different cassettes for terrain. - Create, rename, and delete profiles from the new Profiles screen on each bike - Set a default profile that auto-assigns to new activities - Assign components to a profile so wear is only tracked against matching activities - Profile badges appear on components in the list so you can see which setup each part belongs to - Select a profile when assigning a bike to an activity — the default profile is pre-selected for you - Activity list cards show the profile initial next to the bike name (e.g. "Trek Domane · T") #### Component List Filtering & Sorting The components list now defaults to showing only active components and includes a filter/sort sheet. - Filter by status: Active, Retired, or All - Sort by wear (highest/lowest) or install date (newest/oldest) - Active filter indicator dot on the filter button when non-default options are selected - [📱 Mobile v1.7.0 - April 08, 2026](https://www.componentry.app/changelog/mobile-v1.7.0-april-08-2026): 2026-04-08 ### New Features #### Default Bike Set one bike as your default so new activities are automatically assigned to it when no device or Strava match is found. - Toggle "Default bike" on or off from the create or edit bike sheet - Automatically enabled when adding your first bike - Default badge appears in the bike switcher and on the home screen bike cards - Star icon on the selected bike indicator when it's the default - Only one bike can be the default at a time — setting a new default clears the previous one - Device and sensor matching always takes priority over the default bike - [📱 Mobile v1.8.0 - April 13, 2026](https://www.componentry.app/changelog/mobile-v1.8.0-april-13-2026): 2026-04-13 ### New Features #### Profile Activity Type Bike profiles can now be tagged as **Indoor** or **Outdoor** so incoming activities are automatically matched to the right profile. - New activity type picker (None / Indoor / Outdoor) in the profile create and edit sheet - Indoor or Outdoor badge displayed next to the profile name in the profiles list - Only one indoor and one outdoor profile per bike — already-taken options are disabled in the picker - When an activity comes in, the server checks for a profile with a matching activity type before falling back to the bike's default profile - No changes needed to your activities — matching happens automatically on sync - [📱 Mobile v1.9.0 - April 16, 2026](https://www.componentry.app/changelog/mobile-v1.9.0-april-16-2026): 2026-04-16 ### New Features #### Bike Activity Graph A GitHub contribution-style heatmap that shows your riding activity over the last 6 months. - 26-week grid on both the **Home** and **Bikes** pages — each square represents a day, coloured by which bike you rode - Multi-bike days show split-colour squares (diagonal for 2 bikes, thirds for 3, quarters for 4) - Bike-specific view on the Bikes page filters the graph to the selected bike only - Fully responsive — the grid fills the available width on any device size - Day-of-week and month initials along the axes for quick orientation - Bike day count badge on the Home card for a quick summary #### Bike Colour Indicators Bike colours now appear alongside bike names throughout the app. - Colour dot next to the bike name in the bike switcher and active bikes card on the Home page - Colour legend beneath the activity graph when viewing all bikes - Falls back to a neutral grey if no colour is assigned to a bike #### Timezone Support Dates and notifications now respect your local timezone everywhere in the app. - New **Language & Timezone** settings card with a searchable, region-grouped timezone picker - Device timezone is captured automatically at signup and on first launch for existing accounts, so activities, reminders, and service logs display on the correct local day from the start - Activity list, detail view, summary card, home welcome, and the activity graph day buckets all render in your selected timezone - Scheduled push notifications (like provider token refresh reminders) fire at the right local time - [📱 Mobile v2.0.0 - May 11, 2026](https://www.componentry.app/changelog/mobile-v2.0.0-may-11-2026): 2026-05-11 ### Improvements #### Improved activity onboarding The Activities tab now greets new and empty accounts with a clearer starting point. Instead of a flat "No activities found" message, you'll see a friendly explanation of how activities get into Componentry along with quick actions to connect a cycling app or jump into importing past rides. There's also a reminder that `.FIT` files can be uploaded by signing in on the web. #### Performance and stability The app's core libraries have been brought up to the latest versions. You should notice faster screen transitions, snappier navigation, and improved memory usage — especially on iOS 26 devices. #### Updated foundations - Latest framework versions across the board for a smoother day-to-day feel - Improved compatibility with the newest iOS and Android features - Groundwork laid for upcoming features in the next few releases ### Fixes - The **Back** button on the Bikes sub-screens (Components, Profiles, Sensors, Reminders, Service, Fit, Race day) is now reliably tappable on iOS 26 — previously a tap could be ignored and only the edge-swipe would work - General reliability improvements across navigation and rendering - [📱 Mobile v2.0.1 - May 11, 2026](https://www.componentry.app/changelog/mobile-v2.0.1-may-11-2026): 2026-05-11 ### Fixes #### Android navigation Buttons that jump between sections — like **Import Activities**, **Add Reminder**, and the connect-app shortcuts on the home screen — now reliably open the screen they advertise on Android. Previously the target screen could flash and then drop you back at the section root. - [📱 Mobile v2.1.0 - May 17, 2026](https://www.componentry.app/changelog/mobile-v2.1.0-may-17-2026): 2026-05-17 ### New #### iOS home-screen widget Add a Componentry widget to your iOS home screen and see your default bike's status without opening the app. - **Small widget** — aggregate wear percentage front and centre, with quick counts for components, sensors, and incomplete reminders. - **Medium widget** — full breakdown matching the bike card on the home screen: bike name and details, aggregate wear with a coloured progress bar, the last 14 days of riding history rendered as coloured squares (using the bike's colour) with day-of-week labels, plus a sensor status chip that surfaces low-battery warnings from your most recent ride. The widget updates whenever you open the app or when a new activity notification comes in. The picked bike follows your **default bike** setting — change it from the bikes screen and the widget will catch up on the next refresh. To add it: long-press your home screen, tap **+**, search for **Componentry**, and pick a size. #### Tyre pressures and component measurements Record the things you check on each ride — tyre pressures first, with the same mechanism ready for chain stretch, brake-pad remaining, and rotor remaining as those displays roll out. - **Pressure unit preference** — new row in **Settings → Profile** lets you pick **PSI**, **Kilopascals (kPa)**, or **Bar**. Defaults to PSI. - **Tyre pressures on the home bike card** — every bike in the dashboard list shows a small `R: 92 psi · F: 95 psi` row beneath the counts whenever pressures have been recorded. - **Tyre pressures around the bike image** — on the bike's component wear card, rear pressure sits to the left of the bike image and front pressure to the right, each labelled and at wheel level so it's obvious which is which. - **Measurements section in component detail** — when you tap a tyre (or any component with measurement presets), the detail sheet shows current readings above the wear status. A new dashboard-style **gauge button** sits next to **Edit Component** and opens a quick editor. - **Measurements on the components list** — the most recent reading is appended to the type line in muted text (e.g. `Continental • Tyre - Road - Front · 95 psi`), so you can scan a bike's tyres without opening each one. The editor is generic and reads the component-type definitions — so as new measurement types are added on the backend, the mobile editor picks them up with no extra work. ### Fixes - The bike's **Component Wear** card no longer collapses to an empty placeholder when a bike has components but the server hasn't yet computed aggregate wear (e.g. a freshly created bike with no recorded activities). All six component-group bars now render at 0% so the layout stays intact. - [📱 Mobile v2.1.1 - May 30, 2026](https://www.componentry.app/changelog/mobile-v2.1.1-may-30-2026): 2026-05-30 ### Improvements #### Dutch language support Mobile now ships with a Nederlands translation of the entire app — home, activities, bikes, components, reminders, settings, subscription, and race-day. Pick **Nederlands** in **Settings → Language** (or change it on the web — mobile syncs the choice) and the UI swaps over without restarting the app. Number and date formats follow the Dutch defaults (1.234,56 and DD/MM/YYYY) when no override is set. #### Measurement editor is now tire-only The **Measurements** card and the edit-measurement button on the component detail sheet were appearing on every component type that had a note preset — chains, brake pads, and tires — which led some users to expect to edit measurements they couldn't really track that way. Both now only render for tire components, where they really belong (tire pressure). To keep tire pressure discoverable, the components list now shows a yellow **· Set your pressure** prompt next to any tire whose pressure hasn't been recorded yet. Once you've set it, the row goes back to displaying the value (e.g. `· 65 psi`). #### Finish setting up bikes that only have the auto-seeded Chain Newly created and Strava-imported bikes land with a single auto-seeded Chain, so the empty-state setup card never appeared for them. Mobile now surfaces a primary **Set up with a template** call to action in three places when a bike's only component is the Chain: - **Home — bike cards.** A small blue **Complete Setup** chip appears next to the components count (replacing the amber **Missing** chip used when a bike has zero components). - **Bike detail.** A full setup card sits above the Component Wear card, so the seeded Chain still shows real wear data underneath. - **Components list.** A primary banner button above the list. All three route into the existing setup wizard. #### Setup wizard skips components you've already added Re-opening the wizard on a bike that already has components no longer suggests duplicates: - **Template preview.** Component rows that are already installed render in strike-through — so the Chain is visibly skipped before you continue. - **Wizard rows.** Any preset whose type is already on the bike is filtered out before the row list renders. - **Already complete.** If every preset row is installed, the wizard shows a quick toast — *"Looks like everything's already installed"* — and returns you to the bike page. ### Fixes #### Latest activity card no longer overflows with long bike names The Electronics header on the home view's latest activity card squeezed the bike name and date onto one row, which clipped or wrapped awkwardly for bikes with longer names. The bike badge now sits on its own row below the Electronics label and date, so the battery chips stay clean no matter how long the bike name is. - [Mobile v2.10.0 - August 6, 2026](https://www.componentry.app/changelog/mobile-v2.10.0-august-6-2026): 2026-08-06 ## Retire and replace, from your phone Full service logs arrived on mobile in the last release. This one gives them the part of the job that was still missing: taking components off the bike. Open a service log and every component now has a Retire action. Set the condition it came off at, and the service records it. Retired parts appear in their own section on the log, so the service reads as what you did rather than what happens to be fitted right now. From there you can fit the replacement. The new part is recorded as the one that replaced it, so your bike's history reads as a chain of parts rather than a list of unrelated additions. Changed your mind? Bring the part back in one tap and the service stops claiming it. Retiring from the component screen now offers to start a service log instead of retiring on the spot. Same button, same place: it just makes sure the work gets written down. ## A check that turned into a service Some jobs start as a quick look and end with a chain on the bench. A maintenance check can now become a full service log, keeping the notes you have already taken and the reminders you have already cleared. Once it is a service, you can retire and replace parts on it. It only goes one way, so it asks before switching. ## Also in this release Parts retired on the web now show up properly in your service logs on mobile, along with what replaced them. - [Mobile v2.10.1 - August 10, 2026](https://www.componentry.app/changelog/mobile-v2.10.1-august-10-2026): 2026-08-10 ## Recoverable watts, where you can actually see them Componentry works out how much power a dirty, dry chain is costing you, and how much of it a clean and re-lube would win back. Until now that number sat in the top corner of your bike card as a small chip, sharing space with DEFAULT and MOST USED. It read like a label rather than a finding, and it was easy to scroll straight past. It now runs the full width of the card instead, as a band across the bottom: the field name on the left, the figure on the right in the same monospace the rest of your data uses. Same colour, same number, considerably harder to miss. You will see it in two places. On Home it closes out each bike's entry, under the components, sensors and reminders counts. On a bike's own screen it sits along the bottom of the Components card. Both read the same estimate, so the two screens can't disagree about what your chain is costing you. Where the model had to assume something — usually because nothing has told it when the chain was last lubed — the figure is still flagged as an estimate. Tap through to the chain itself for the full drivetrain power loss breakdown, including where the watts are going and how confident the model is. ## What's due, on the component list Your bike's component list has always told you what's worn. It now tells you what's due as well. A component carrying reminders shows a small bell and a count next to its name, so you can see at a glance that something is scheduled for it. If any of those reminders are overdue or due soon, they're listed under the wear bar: the reminder's name on the left, where it stands on the right, red for overdue and amber for due soon. Only the urgent ones show up. A component whose reminders are all comfortably ahead shows the count and nothing else, so the rows that speak up are the ones worth reading and the list stays as short as it was. Where more than two need attention, the first two are listed and the rest collapse into a count. The full set is still on the component's own screen. Retired components stay quiet. A reminder on a part that's off the bike isn't something you need to act on. ## Also in this release Watt figures now spell out the unit — "4.2 watts" rather than "4.2 W" — on the bike cards, and Polish now uses the correct plural forms for them. Overdue and due-soon reminder text is a darker red and amber everywhere it appears — your bike's reminder list, the Home card, and a component's own screen — so it meets contrast requirements at smaller sizes. - [📱 Mobile v2.2.0 - June 09, 2026](https://www.componentry.app/changelog/mobile-v2.2.0-june-09-2026): 2026-06-09 ### Improvements #### Support chat from every main screen Need a hand? You no longer have to dig into Settings to reach us. A **support button** now lives in the top-right of the headers you use most: - **Activities** and **Bikes** views. - Every bike section — **Components**, **Profiles**, **Sensors**, **Reminders**, **Service History**, **Bike Fit**, and **Race-day Readiness**. Tap it to open the in-app chat and message us directly. The button is always available, regardless of where you are in your trial or subscription, and sits alongside the existing add/edit actions without getting in their way. As part of the change, the Reminders header's add button was restyled to match the rounded look used across the rest of the app. ### Bug fixes #### Profile picture now opens your photo library On iOS, **Pick a new profile picture** was opening the Files browser instead of your photos. It now opens the photo library directly, with a square crop so your avatar looks right. #### Clearer name updates The **Update your name** form now behaves like the rest of your profile settings: the Update button only appears once you've changed your name, and you get a confirmation message as soon as the change is saved. #### Two-factor authentication now works in the app If you have two-factor authentication (2FA) enabled, the app now asks for your 6-digit authenticator code right after you sign in. Completing that step unblocks the account features 2FA was previously preventing — including updating your **name** and **profile picture** and viewing your account details. You still set up 2FA on the web; the app simply verifies it. If you ever can't enter your code, you can sign out directly from the verification screen. - [📱 Mobile v2.3.0 - June 11, 2026](https://www.componentry.app/changelog/mobile-v2.3.0-june-11-2026): 2026-06-11 ### Improvements #### Sign in with Apple, Google and Strava Creating an account or signing back in no longer requires waiting for an email code. The sign-in and sign-up screens now offer: - **Continue with Apple** (iOS) — uses Face ID / Touch ID via the native Apple sheet, including **Hide My Email** support. - **Continue with Google** (iOS and Android) — picks straight from the Google accounts on your device. - **Continue with Strava** (iOS and Android) — sign in with your Strava login and connect activity sync in the same step, so your rides start tracking component wear straight away. Apple and Google use the platform's native sign-in, so there's no browser round-trip and nothing new to remember. If you already have a Componentry account under the same email address, the new sign-in connects to it automatically — your bikes, components, and history are right where you left them. Because Strava doesn't share your email address, the first time you sign in with Strava we'll ask you to confirm one — that's all it takes to finish setting up your account. The email code option isn't going anywhere; it remains available as before. #### Linked accounts shortcut in Settings A new **Linked accounts** row in Settings takes you to your account's sign-in methods, where you can connect or remove ways to sign in. - [📱 Mobile v2.3.1 - June 21, 2026](https://www.componentry.app/changelog/mobile-v2.3.1-june-21-2026): 2026-06-21 ### Fixes #### Accurate sensor battery status The battery indicator for your sensors is now accurate. Previously the app flagged any sensor that wasn't reporting an exact "good" status as **low battery** — which wrongly swept in healthy sensors reporting "ok", "new", or "charging", so you could see a low-battery warning when nothing was actually wrong. Battery status is now resolved using the full sensor battery scale (the same logic the web app uses), so only sensors that are genuinely **low** or **critical** are flagged. This applies everywhere battery status appears: - **Activity detail** — the Electronics section on each ride. - **Home — latest activity** — the Electronics chips on the summary card. - **Home-screen widget (iOS)** — the battery row now reads from the same source, so its low-battery count matches what you see in the app. - [📱 Mobile v2.4.0 - July 15, 2026](https://www.componentry.app/changelog/mobile-v2.4.0-july-15-2026): 2026-07-15 ### Improvements #### A clearer setup checklist for new riders Getting set up now walks you through a single, at-a-glance checklist on the home screen instead of surfacing one step at a time. You can see everything it takes to get your bikes fully tracked — and exactly how far along you are. It starts with connecting a data source, because that does most of the work for you: link Strava and the app can import your bikes and your rides; connect Garmin or Wahoo and your activities flow in automatically. Several of the steps below often tick themselves off from that one connection. The checklist covers the five steps to a complete setup: - **Connect a data source** — sync Strava, Garmin or Wahoo to import your bikes and rides. - **Add your first bike** — import it from Strava or add it manually. - **Set up your components** — tell the app what's on the bike. - **Sync your first activity** — import past rides or wait for your next sync. - **Set a maintenance reminder** — stay ahead of wax, wear and service. Each step shows as done or still to do and updates automatically as you go, with a progress bar so you always know what's left. Tap any outstanding step to jump straight into it — and once everything's done, the checklist steps aside so your home screen is all about your bikes. - [📱 Mobile v2.5.0 - July 17, 2026](https://www.componentry.app/changelog/mobile-v2.5.0-july-17-2026): 2026-07-17 ### Improvements #### A reorganised bike screen The list at the bottom of each bike's page has been rebuilt as a tiled grid, split into two sections by how often you use them: - **Maintenance** — Components, Reminders, and Service History. The things you check between rides now come first. - **Setup** — Sensors, Profiles, Bike Fit, and Race-Day Readiness. Configuration you touch occasionally sits below. All counts and statuses carry over — component counts, outstanding reminders, and your bike-fit status are visible at a glance on each tile. The Reminders tile now tells the whole story: if you haven't set any reminders up yet it says so, reminders that are due show in an amber count beside the bike's total, and once everything's done you'll see "All caught up" — and it means it. #### Reminders, reorganised by what needs doing A bike's reminders are no longer split across To-do and Upcoming tabs. They now read as one list, grouped under headings that tell you where each one stands: - **Overdue** — past due, in red. - **Due Soon** — coming up within three days, 50 km, or the last stretch of a ride count. - **Upcoming** — set up, but nothing to do yet. - **Scheduled** — completed and waiting to come round again. Only the headings you actually need appear, so a bike with nothing pressing just shows what's scheduled. Each reminder card now shows every rule you've set — "Every 500 km", "Every week · 09:00", ride progress — so a rule is never invisible just because its next run hasn't been scheduled yet. Swipe a card left to complete it, with a toast and one-tap Undo if you change your mind. The detail view was rebuilt to lay out all of a reminder's rules and their progress together, and it's now fully accessible to VoiceOver — previously screen readers couldn't reach any of its actions. The reminder form matches the bike form's design, replaces the fiddly hour and minute boxes with a native time picker, shows distances in your preferred unit, warns before discarding unsaved changes, and tells you when a save fails instead of failing silently. #### Consistent wear colours everywhere Component wear now uses the same colour thresholds across the whole app: amber from 60% as a component approaches its threshold, red from 80%. Previously the bike screen and home screen could disagree about the same component. ### Bug Fixes - If your bikes fail to load (for example on a flaky connection), the app now shows a proper error with a retry button instead of incorrectly suggesting you have no bikes yet. - The wear ring on the bike overview now renders correctly in dark mode. - Better VoiceOver support on the bike screen — each section tile announces its name and count. - Reminder counts on the bike screen now update straight away when you complete, add, or delete a reminder, instead of waiting for a refresh. - [📱 Mobile v2.5.1 - July 20, 2026](https://www.componentry.app/changelog/mobile-v2.5.1-july-20-2026): 2026-07-20 ### Bug Fixes #### Setup checklist missing for new accounts On devices that had previously been signed in to another Componentry account, a brand-new account could land on an empty home screen instead of the "Set up your bikes" checklist. Checklist progress is now tracked per account, so every new rider sees their setup steps from the first launch. - The checklist's dismissed state no longer carries over between accounts on the same device - Signing back in to an existing account still respects that account's own checklist progress #### Far-future replacement dates Components with plenty of life left could show an implausibly precise replacement date decades away. Predictions landing more than two years out now display as "2+ years" in the prediction details, and the replace-by line on the component detail view appears only when the date is within the next two years. - [📱 Mobile v2.6.0 - July 23, 2026](https://www.componentry.app/changelog/mobile-v2.6.0-july-23-2026): 2026-07-23 ### Chain wax tracking - **New "Waxed" toggle on chains** — record whether a chain is wax-lubricated from the chain's measurements sheet. - **Available during maintenance checks** — capture the lubrication method when adding a component note to a check. - **At-a-glance lube status** — the component list shows Waxed or Lubricant next to the chain, and maintenance checks show a simple Yes/No. ### Improvements - **Measurements for more components** — the component detail sheet now shows ongoing details like the chain "Waxed" setting, not just tire pressure. Service-time measurements like chain stretch and brake pad wear stay in service notes and maintenance checks. - [📱 Mobile v2.7.0 - July 28, 2026](https://www.componentry.app/changelog/mobile-v2.7.0-july-28-2026): 2026-07-28 ### Drivetrain power loss - **Know what a clean chain is worth** — chains now carry a Drivetrain power loss card showing the watts a clean and re-lube would win back, based on how you actually ride. - **See where the watts are going** — tap the card to open the breakdown: contamination, lubrication state and chain stretch, each with its own figure. - **A nudge where you'll see it** — the recoverable watts appear on the home bike card, the bike's Components tile and the chain's row in the component list. Nothing to recover means no badge. - **Lubrication reminders sharpen the estimate** — mark a reminder as a lubrication reminder and the model uses your real lube history instead of assuming typical habits. ### Component detail has its own screen - **Room for the whole picture** — component detail moved out of the bottom sheet onto a full screen, so longer content scrolls instead of being cut off. - **Edit, retire and delete from the header** — the three actions sit in the navigation bar, and leaving the edit form now returns you to the component rather than all the way back to the list. - **Expand what you want to see** — Personalised Prediction and Drivetrain power loss open with their headline figures and expand for the detail: predicted replacement date, adjusted lifespan, what's driving the wear, and model confidence. - **Reminders linked to the component** — the detail screen now lists the reminders attached to that component, with overdue ones called out. - **Measurements at a tap** — the measurements card opens straight into editing for active components. ### Reminders you can triage at a glance - **Home shows what's actually near** — the Reminders card now carries only what's overdue, due soon, or coming up inside a week, 300 km or three rides. Anything further out waits quietly on the bike's own reminders list. - **Upcoming means something** — it used to be where every reminder landed that wasn't urgent yet, so a service due in eight months sat alongside one due tomorrow. It's now a real window, and reminders beyond it read as Scheduled. - **The same status everywhere** — the home card, the reminders list and the reminder's own detail now agree. A reminder you've already completed reads as Scheduled until it comes round again, rather than as done in one place and overdue in another. - **Closest first, whatever the trigger** — reminders set by distance or ride count now sort alongside dated ones instead of dropping to the bottom of the list, and each trigger is highlighted on its own: a chain 30 km from a re-lube no longer flags its date as well. ### Improvements - **Preset reminders on by default** — adding a component now creates its suggested reminders unless you turn them off, and component notes sit above the profile picker. - **Consistent wear figures** — the predicted replacement date is stated once on the screen instead of twice, so two parts of the same page can't disagree. - **Fully translated** — the drivetrain power loss card is available in every supported language, with distances shown in your preferred units. - [📱 Mobile v2.8.0 - July 29, 2026](https://www.componentry.app/changelog/mobile-v2.8.0-july-29-2026): 2026-07-29 ### A proper welcome - **A tour on first open** — new installs now open with five quick screens covering what Componentry does: every component tracked across all your bikes, rides that sync themselves from Strava, Garmin, Wahoo and Hammerhead, wear and battery at a glance, predictions that say when a part will wear out, and reminders that keep you ahead of maintenance. - **Swipe through or skip** — page through and tap Get started to create an account, or skip straight there. Either way it only shows once; relaunching the app takes you to sign-in as usual. - **Existing riders see it once too** — if you're already signed in, the update shows the tour a single time before your home screen, as a quick look at what the app now covers. - **In your language** — the tour ships in all nine supported languages. - [📱 Mobile v2.8.1 - August 02, 2026](https://www.componentry.app/changelog/mobile-v2.8.1-august-02-2026): 2026-08-02 ### Fixes and improvements - **An account already linked elsewhere is named as such** — each fitness account connects to one Componentry account. If the one you are connecting is already linked to another, the app now tells you so directly, instead of asking you to try again on something a retry could never resolve. - **General fixes and improvements** — a round of small refinements under the hood. - [Mobile v2.9.0 - August 5, 2026](https://www.componentry.app/changelog/mobile-v2.9.0-august-5-2026): 2026-08-05 ## Full service logs, and reminders that become service records - **Completing a reminder asks how you want to record it.** Swipe or tap to complete a reminder on one of your bikes and the app offers a Maintenance Check, a Full Service Log, or a plain tick-off. Reminders that aren't linked to a bike complete instantly, as before. - **Full service logs on mobile.** Create, edit and delete full service records with the status workflow (New, Booked, Completed), a crash flag, who did the work, the date and time, and notes for each component. - **Reminders on checks and service logs.** Every reminder on the bike is listed with what it's attached to and how close it is to due, so you can tick off exactly what the session covered, including work you did early. Each one is rescheduled from the wear your components actually carry and recorded against that service. - **Service history opens up.** Full service records in your bike's history are now tappable, and adding a record lets you pick the type up front. Component replacement within a service and emailed service reports are still handled on the web app. - [🖥️ Web v0.1.0 - December 11, 2025](https://www.componentry.app/changelog/v0.1.0-december-11-2025): 2025-12-11 ### New Features #### Distance-Based Reminder Processing Distance-based reminders are now automatically processed when component wear is calculated after activity syncs. - Reminders linked to **components** trigger based on the component's wear distance - Reminders linked to **gear only** (no component) trigger based on the highest component distance on that gear - When triggered, reminders automatically:- Update the last run distance to the current wear - Calculate the next distance threshold based on the repeat interval - Send a notification - Mark as incomplete so you can action it #### FIT File Session Data & Elevation Loss - Added support for storing session data from FIT files - Added elevation loss tracking for activities ### Bug Fixes - Fixed billing layout to stop the plan details from wrapping - [v0.10.0 - March 10, 2026](https://www.componentry.app/changelog/v0.10.0-march-10-2026): 2026-03-10 ## Hammerhead Integration Componentry now supports Hammerhead as a connected app. You can connect your Hammerhead account from the Apps page to automatically sync rides recorded on your Karoo device. Hammerhead activities are fully supported across the platform — they appear in the activity list with the Hammerhead icon, contribute to component wear tracking, and show up in the activity detail view just like Strava, Wahoo, and Garmin activities. - [v0.10.1 - March 12, 2026](https://www.componentry.app/changelog/v0.10.1-march-12-2026): 2026-03-12 ### Improvements #### Provider Disconnect Cleanup - Disconnecting a provider now fully cleans up all associated credentials and session data - Reconnecting a provider after disconnecting creates a fresh connection from scratch #### Hammerhead Support - Added Hammerhead as a supported activity provider - Connect your Hammerhead Karoo to automatically sync rides and track component wear #### Garmin Activity Import - Import historical Garmin activities via backfill - Available on both web and mobile - Duplicate backfill requests are now handled gracefully instead of showing an error - [v0.11.0 - March 14, 2026](https://www.componentry.app/changelog/v0.11.0-march-14-2026): 2026-03-14 ## Activity-Based Reminders (Beta) You can now create reminders that trigger based on the number of activities recorded on a bike or component. For example, set a reminder to lube your chain every 5 rides, or check your brake pads every 20 rides. ### How it works - When creating or editing a reminder, enable the new **Activity-based reminders** toggle - Set the number of activities between each reminder (e.g. every 10 rides) - The counter increments automatically each time an activity is processed for the linked bike or component - When the threshold is reached, the reminder fires and the counter resets Activity-based reminders can be combined with time-based and distance-based reminders on the same reminder, so you get notified by whichever condition is met first. ### Display - The reminders list and home page show activity progress (e.g. "3 / 10 activities") - Reminders show as **Due Soon** when within 20% of the target - Reminders show as **Overdue** when the activity count reaches or exceeds the target This feature is marked as **Beta** while we gather feedback. Activity-based reminders require a bike or component to be selected. - [v0.12.0 - April 8, 2026](https://www.componentry.app/changelog/v0.12.0-april-08-2026): 2026-04-08 ## Default Bike You can now set one of your bikes as the **default**. When a new activity comes in and no device or Strava match is found, it will be automatically assigned to your default bike and components will be processed immediately. - **Create & edit forms** — a new "Make this my default bike" checkbox. When you add your first bike it's checked automatically. - **Gear settings** — a new Default Bike card lets you set or remove default status at any time. - **Gear list** — a "Default" badge on the gear card so you can see which bike is your default at a glance. - **Activity processing** — activities from all sources (Strava, Wahoo, Garmin, Hammerhead) will fall back to your default bike when no sensor or Strava gear match is found. Only one bike can be the default at a time. Setting a new default automatically removes the previous one. Device and Strava matching always take priority over the default. - [v0.13.0 - April 14, 2026](https://www.componentry.app/changelog/v0.13.0-april-14-2026): 2026-04-14 ## Profile Activity Type Matching Profiles can now be tagged as **Indoor** or **Outdoor**. When an activity comes in, Componentry checks the activity type from your provider (Strava, Wahoo, Garmin, Hammerhead) and automatically assigns the matching profile — before falling back to the default profile. - **Profile create and edit forms** — a new "Default activity" dropdown lets you set a profile to Indoor, Outdoor, or None. - **Profile list** — an Indoor or Outdoor badge appears next to the profile name when an activity type is set. - **Activity matching** — the priority chain is now: activity-type-matched profile > default profile > no profile. This works across all providers and all activity sources (webhooks, Strava sync, bulk imports, default bike fallback). - **One per type** — each bike can have at most one Indoor profile and one Outdoor profile. Already-taken types are disabled in the dropdown. - **Mobile parity** — mobile shows the Indoor / Outdoor tag on every profile and lets you set the default activity type when editing. Bikes without any activity-type-tagged profiles continue to work exactly as before — no changes to existing behavior. - [v0.14.0 - April 17, 2026](https://www.componentry.app/changelog/v0.14.0-april-17-2026): 2026-04-17 ## Timezone Support All dates and times across the platform now respect your timezone. Previously, dates could display incorrectly for users outside UTC — for example, an evening ride might appear under the wrong day, or a calendar date picker could highlight the wrong "today". - **Timezone setting** — choose your timezone in Settings under Language & Timezone. A curated list of 80+ cities is grouped by region (Oceania, Asia, Africa, Europe, Americas) for easy browsing. - **Auto-detection** — on first login, your browser's timezone is detected automatically so dates are correct from the start. - **Activity dates** — activity timestamps on the activity list and detail sheets now display in your local time. - **Calendar date pickers** — all calendar components (reminders, service logs, component install dates, bike fit measurements) pass your timezone to the date picker so "today" and selected dates always match your local day. - **Activity graph** — the bike activity heatmap now groups rides by your local date instead of UTC, so a late-night ride shows on the correct day. - **Service logs** — all dates on service log lists and detail pages display in your timezone. Your timezone preference syncs to Knock for notification scheduling and is stored as a cookie for fast server-side rendering. ## Activity Graph Improvements The bike activity heatmap has been redesigned with better navigation and detail. - **Day labels** — Monday through Sunday labels along the left edge. - **Month labels** — single-letter month markers along the top for orientation. - **Tooltips** — hover any cell to see the date, ride count, and which bikes were ridden. - [v0.15.0 - April 18, 2026](https://www.componentry.app/changelog/v0.15.0-april-18-2026): 2026-04-18 ## Bike Profile Images Your bikes now have their own photos. From a bike's settings page you can upload a profile image — automatically cropped and resized to 500x500 px — which then appears as a circular avatar next to the bike name on the home dashboard, gear list, and individual bike pages. Images are optional and can be removed at any time. Mobile app support ships alongside, so images sync across every device you use Componentry on. Only you can add, update, or remove images for your own bikes — same access rules as your profile picture. - [v0.15.1 - April 18, 2026](https://www.componentry.app/changelog/v0.15.1-april-18-2026): 2026-04-18 ## Pick Any Bike Colour You Like The add/edit bike form now lets you enter a custom hex colour in addition to the existing swatches. Type your own hex value (with or without the leading `#`, short `#RGB` or full `#RRGGBB` form both accepted) and a live preview shows the result alongside built-in validation. The mobile API accepts the same formats, so custom colours set on mobile — once supported there — sync cleanly with the web. ## Bike Colour Returns to the Avatar Following the profile-image release, your bike's colour — the same colour used in the activity graph — now sits behind the profile avatar on the home dashboard, bikes list, and bike detail page. A crescent of the colour appears on the right edge of each avatar so you can still tell your bikes apart at a glance without cluttering the layout with a separate dot. ## Banner Upload Temporarily Hidden The banner image uploader on the bike settings page is hidden for now while we finalise where the banner will appear in the app. Profile image upload is unaffected — continue to upload, swap, or remove your bike's profile picture as before. ## Bug Fixes - Fixed an issue where re-uploading a bike profile image left the previous image orphaned in storage instead of replacing it. - [v0.15.2 - April 22, 2026](https://www.componentry.app/changelog/v0.15.2-april-22-2026): 2026-04-22 ## Race-Day Now Understands Your Profiles The race-day readiness page now knows what a bike profile is. If you keep separate indoor and outdoor setups on the same bike, or rotate a training chain with a race chain, the projection no longer averages them together — each component is forecast against the rides that actually wear it. That matches how the main wear tracking works, so your component status on the bike page and the race-day projection now agree. ## Pick What You're Racing On A new **Components** selector sits next to the date and training-plan controls. Pick a specific profile to project readiness for just the components attached to it (plus any shared components that live on the bike regardless of profile). Choose **All components** to see every non-retired part in one view, or **No profile** to see only the shared ones. The selector is disabled when the bike has no profiles set up. If you don't pick anything, the projection uses your bike's default profile — the same rule the wear processor follows when matching new activities. The *What we assumed* panel now spells out which profile was used so you can tell whether the default kicked in. ## More Accurate Projections Bikes with mixed indoor and outdoor profiles now get more accurate adjustment factors and replace-by dates, because the race-day page uses the same per-profile wear reasoning as the component detail view. - [v0.16.0 - April 22, 2026](https://www.componentry.app/changelog/v0.16.0-april-22-2026): 2026-04-22 ## Distances Finally Have Thousand Separators A long-standing formatting bug has been fixed. Distances like `2,366.6 km` used to render as `2366.6 km` with no thousand separator, making longer readings hard to scan at a glance. Every distance, elevation, temperature, and wind-speed value across the app now renders with the correct grouping for your locale. ## New Locale Card in Settings The **Language & Timezone** card on your personal account settings page has been replaced with a fuller **Locale** card. It now covers four preferences in one place: - **Language** — as before. - **Timezone** — as before. - **Number format** — pick how you want numbers to render:- `1,234.56` (default, US / UK) - `1.234,56` (DE, ES, IT, FR, PT) - `1234.56` (no grouping separator) - **Date format** — pick how you want dates to render:- `DD/MM/YYYY` (default) - `MM/DD/YYYY` - `YYYY-MM-DD` Each option shows a live sample so you can see the effect before selecting. Your choice applies everywhere Componentry renders a number or a date — activity lists, component wear, gear pages, ride summaries, reminders, weather details. ## Smart Defaults If you've never touched these settings, we now infer a sensible default from your language: US English keeps `MM/DD/YYYY` and `1,234.56`; European languages (DE, ES, FR, IT, PL, PT) get `DD/MM/YYYY` and `1.234,56`. You can override either one at any time. - [v0.17.0 - April 28, 2026](https://www.componentry.app/changelog/v0.17.0-april-28-2026): 2026-04-28 ## Sensors Can Now Pin a Profile If you have multiple component setups on the same bike — race wheels versus training wheels, summer tyres versus winter tyres — you've already been using **profiles** to keep their wear separate. Up to now, which profile a ride landed on came from the bike's default or from the activity type. You can now go a step further and pin a profile **directly to a sensor**. Every ride that matches through that sensor automatically inherits the pinned profile, and only the components in that profile are debited. The classic case: two power meters on one bike, one for each wheelset. Pin the race-day power meter to your **Race** profile and the trainer power meter to your **Training** profile. From then on, wear lands where it should — no manual reassignment, no guessing. ## Where to Set It Open **Settings → Sensors** (formerly Devices), edit a sensor, pair it with a bike, and a new **Profile** picker appears underneath. Choose any profile that belongs to that bike, or leave it on **Auto (use bike default)** to keep the existing behaviour. A pinned profile is shown right on the sensor card so you can see the setup at a glance. ## Smart Guardrails A few things happen automatically so you can't get into a bad state: - The **Profile** picker only appears once a sensor is paired with a bike. - It only offers profiles that belong to the selected bike. - If you change a sensor's bike, any pinned profile is cleared — a profile from a different bike doesn't apply. ## Coming Soon to Mobile Sensor management has been web-only until now. Mobile support — view, edit, delete, plus a sensors list on each bike — is on the way in an upcoming mobile release. - [v0.17.1 - May 2, 2026](https://www.componentry.app/changelog/v0.17.1-may-02-2026): 2026-05-02 ## One Save for Bike + Profile When you edit a sensor, picking a bike and pinning a profile now save together with a single **Update** click. Previously, the profile picker was saving on its own behind the scenes, which could fight with a bike change you hadn't confirmed yet and surface an error. If you switch the bike, the profile selection is cleared automatically — a profile from one bike doesn't apply to another. Unlinking a sensor clears both fields in one shot. ## Sensors Page, Now Fully Translated Every label, helper text, and confirmation message on the **Sensors** page now follows your language preference across all eight supported locales: English (US/UK), German, Spanish, French, Italian, Polish, and Portuguese. We also tidied up the wording — anywhere the page used to say "Device" or "Devices", it now says **Sensor** / **Sensors** to match the rest of the app. ## Mobile: Component Edits Refresh Wear Right Away Editing a component from the mobile app — changing install date, life limits, or the starting wear — now updates the displayed wear figures immediately on save. Previously the edit was saved but the wear shown stayed on the old number, and you had to hit **Recalculate** on the gear before the new values caught up. Creating and reactivating components from mobile pick up the same fix. - [v0.18.0 - May 03, 2026](https://www.componentry.app/changelog/v0.18.0-may-03-2026): 2026-05-03 ## Bring Your Whole Riding History Up to now, the activity import flow only reached as far back as your connected provider would let us — usually a few months. If you've been riding for years, that left a lot of history on the cutting room floor. You can now upload FIT files directly. Drop in a single ride or a folder full, and Componentry will process them through the same pipeline as your live syncs — gear matching, component wear, weather, the lot. ## Where to Find It On the **Activities** page, look for the new **Upload FIT files** button in the top right. It opens a dedicated upload page at `Activities → Import FIT files`. ## How It Works - **Pick where the files came from** — Garmin, Wahoo, Hammerhead, or Coros. We use this to pick the right activity-type mapping and to match against rides you've already synced from that provider. - **Drop your FIT files** — drag-and-drop or browse. `.fit` files only, up to 5 MB each, as many at a time as you like. - **Watch the progress** — a table on the same page shows each file moving through *queued → processing → completed*. The page refreshes itself while anything is in flight. ## Smart Deduplication Three layers, so the same ride never lands twice: - **Same file, again** — re-uploading a FIT you've already processed is a no-op. - **Already synced from your provider** — if you've connected Garmin or another service and that ride already came in via webhook, the upload is marked **skipped** and links to the existing activity. - **Cross-recording match** — rides whose start time and distance line up with an existing activity are linked rather than duplicated. Each finished ride shows up in your activities list looking exactly like a regular sync — same gear matching, same wear updates, same weather data. ## What's Not Imported Anything that isn't cycling. If you upload a run or a swim FIT, we'll flag it with a clear message and skip it — Componentry stays focused on bike components. ## Mobile Users This one's web-only for the launch. If you have an archive of FITs you'd like to import, hop over to the web app to do the bulk upload. Activities still sync to mobile as normal once they land. - [v0.19.0 - May 08, 2026](https://www.componentry.app/changelog/v0.19.0-may-08-2026): 2026-05-08 ## Set Up a Bike in One Go Adding components used to mean tapping in chain, cassette, tires, and brake pads one at a time, every field, every bike. We've turned that into a single guided flow. When you create a new bike, you now pick a **brake type** (disc or rim) and a **setup template** — Basic, Complete, or Detailed. As soon as the bike is created, you land in a wizard with the matching components already pre-filled and ready to confirm. ## Three Templates to Pick From - **Basic** — chain, cassette, front and rear tires, front and rear brake pads. The five things that wear fastest. - **Complete** — adds front and rear derailleurs, chainrings, front and rear wheels, plus brake rotors on disc setups and bar tape on road and gravel. - **Detailed** — adds the frame, bar/stem/seatpost, saddle, crank, and pedals. Suspension too if you're on a mountain bike. Pick whichever fits how closely you want to track wear. You can always add more later. ## Faster to Fill Out Each row only asks for what's actually different per component: a **name**, a **manufacturer**, and an **installed date**. Wear limits, service reminders, and component-type metadata all come from sensible defaults you can refine later. Two helpers at the top of the wizard cut the typing further: - **Set manufacturer for empty rows** — pick once, fill every blank row in a tap. Rows you've already filled stay as-is. - **Set installed date for all rows** — for the case where you bought the bike with everything already on it. Toggle off **Auto-create reminders** if you'd rather skip them — on by default, since most riders want the chain-stretch and tire-check reminders set up. ## Tracking Front and Rear Separately Wheels, tires, brake pads, and disc rotors now create as **front and rear** rather than as a single combined component. That means when a front tire wears out, you can retire just that one without affecting the rear's history. Same for pads, rotors, and wheels. We've also tidied the labels: everywhere you used to see "Tyre," it now says "Tire." ## For Bikes You Already Have Got a bike that was imported from Strava, or one you skipped the template on? Open the bike, and instead of an empty wear card you'll see a **Set up with a template** button. It walks you through the same brake-type and template picker before dropping you into the wizard. ## Tell Us When a Manufacturer Is Missing Anywhere you pick a manufacturer — adding a bike, adding a component, or filling rows in the setup wizard — there's now a small **Missing one? Let us know** link in the corner. One tap drops a pre-addressed email so we can add the brand and you can move on. ## Heads Up This release is web-only for now. If you've got a stack of new bikes to set up, the web app is the fastest place to do it. The mobile counterpart is on the way. - [v0.19.1 - May 14, 2026](https://www.componentry.app/changelog/v0.19.1-may-14-2026): 2026-05-14 ## Service Log Fixes Retiring components from a service log was rough around the edges. This release smooths it out. - **Replacement details now carry over.** When you retire a component, the Add Component sheet opens with the same type, manufacturer, and name pre-filled — so the common case (swapping like for like) is a one-tap confirmation. The installed date defaults to the service log's date rather than today. - **Retire and create works every time.** Previously the sheet only opened for the first retire-and-replace in a session. Subsequent retires would complete, but the new-component sheet wouldn't show. Fixed. - **Add Component button no longer gets stuck.** Tapping Add Component on a service log after saving a previous one would silently do nothing. The sheet now reliably opens every time. ## Bike Details Card on Service Logs The Bike Details card in the service-log view was showing zeros and placeholders. It now mirrors the same wear summary you see on the bike's own page — **Installed Components**, **Highest Wear**, and **Average Wear** — pulled from the live aggregates. ## New Component Types - **Bar Tape** can now be added without hitting a validation error. This had been silently broken for new bar-tape entries. - **Bottom Bracket** is now a tracked component type under Groupset, with a sensible default lifespan you can adjust per setup. ## Date Picker Respects Your Timezone If your account timezone differs from your device's timezone, picking an installation date and time could land on the wrong calendar day after saving. The picker now reads and writes the date through your account timezone, so the day you select is the day that's stored and displayed. - [🖥️ Web v0.2.0 - December 13, 2025](https://www.componentry.app/changelog/v0.2.0-december-13-2025): 2025-12-13 ### New Features #### Import Bikes from Strava You can now import your bikes directly from your connected Strava account. - View all bikes from your Strava profile with their current distance - Select which bikes to import with a convenient checkbox list - Imported bikes are automatically created as gear with:- Name and distance from Strava - A virtual device linked to your Strava account for activity syncing - Duplicate detection prevents importing the same bike twice #### Import Activities from Strava Import your historical cycling activities from Strava to build your component wear history. - Choose from preset date ranges: 30, 60, 90, 180, or 365 days - Supports all cycling activity types:- Road rides - Mountain bike rides - Gravel rides - E-bike rides - Virtual rides (indoor trainers) - Activities are imported with full metadata including:- Distance, duration, and elevation - Average and max speed - Activity type details - Duplicate detection skips activities that have already been imported ### Improvements #### Sidebar Trial Status The trial status card in the sidebar now properly displays when the sidebar is collapsed, showing a compact clock icon with a tooltip instead of the full card. #### Sidebar Logo The app logo now switches to a compact icon version when the sidebar is collapsed, maintaining brand presence while saving space. #### Renamed Navigation Items - "Gear" is now called "Bikes" for clearer terminology - "Devices" is now called "Sensors" to better reflect their purpose ### Bug Fixes #### Strava Import Buttons Visibility The "Import Bikes" and "Import Activities" buttons are now always visible on the Apps page, but disabled when Strava is not connected. This provides better discoverability of the import features. - [v0.20.0 - May 17, 2026](https://www.componentry.app/changelog/v0.20.0-may-17-2026): 2026-05-17 ## Tire Pressure You can now record the pressure you run on each tire and see it at a glance whenever you look at your bikes. - **Set front and rear pressure on each tire.** Open a bike, find a tire in the component list, and tap **Set pressure** under the tire name. The value is saved against that tire — change it any time without needing a service log. - **Pressures show on every bike card.** The home page and bikes list now show a small **F / R** row under each bike, so the numbers are one click away the next time you're prepping for a ride. - **Pick your unit.** Settings → Units now includes a new **Tire Pressure Unit** option: **psi**, **kPa**, or **Bar**. The abbreviation you choose is what gets displayed across the app. - **Bike profiles are respected.** If you've set a default profile on a bike (for example, race wheels vs training wheels), the pressures shown on the card are pulled from the tires assigned to that profile. Bikes without a default profile fall back to your first tire pair. ## For Apple Watch / iPhone The same tire pressures are now included in the mobile API, so the Componentry app and iOS widget will be able to show them in upcoming releases. - [v0.20.1 - May 27, 2026](https://www.componentry.app/changelog/v0.20.1-may-27-2026): 2026-05-27 ## Finish setting up your starter bike in one click New bikes now land with a starter Chain so wear tracking can begin right away. To make it easy to finish the rest of the setup, the bike detail page has a new shortcut whenever a bike still only has that one Chain on it. - **Component Wear card.** A **Set up with a template** button now sits in the top-right of the card header, taking you straight into the setup wizard so you can add the rest of your components in one go. - **Components card.** The same **Set up with a template** button appears beside the **Add component** button. The Add component button is softened so the template flow is the clear primary action. - **Both shortcuts disappear** as soon as the bike has more than a Chain, so they only show up when they're actually useful. ## The setup wizard skips what's already on your bike If you run the wizard on a bike that already has some components, those components are no longer pre-filled in the list. - The auto-added Chain won't be duplicated when you use the new shortcut above. - The same applies if you've added a few components manually and later decide to run a template — the wizard will only offer the ones you're missing. - If every component in the template is already on the bike, the wizard tells you there's nothing left to add and sends you back to the bike page. - [v0.21.0 - May 30, 2026](https://www.componentry.app/changelog/v0.21.0-may-30-2026): 2026-05-30 ## Componentry spreekt nu Nederlands Dutch joins German, English (US/UK), Spanish, French, Italian, Polish and Portuguese as a fully supported language across the web app — from the marketing site through to every screen behind sign-in. - **Pick it from your account settings.** Open the Locale card and choose **🇳🇱 Dutch (Nederlands)**. The whole interface, including notifications, will switch immediately. - **Number and date formats follow along.** Selecting Dutch sets the default number format to `1.234,56` and dates to `DD/MM/YYYY` — you can still override either independently if you prefer. - **Marketing pages too.** Visit `/nl` to land on the Dutch home, features, pricing and FAQ pages, with hreflang tags so search engines pick up the right language for Dutch-speaking visitors. If you spot anything that reads awkwardly, please send us a note via the Contact page — every translation suggestion gets a human review. - [v0.23.0 - June 18, 2026](https://www.componentry.app/changelog/v0.23.0-june-18-2026): 2026-06-18 ### New #### Maintenance Checks Not every trip to the workstand is a full service. Sometimes you just want to look the bike over — check the brake pads, eyeball the tires, measure chain stretch — and write down what you found. **Maintenance Check** is built for exactly that. Start a check from your Service Logs, pick the bike, and you get a stripped-back record: a date, the bike, an overall note, and a note against any installed component. It is the quickest way to capture what you saw on brakes, tires and chain without stepping through a full service. A check stays deliberately simple. There is nothing to retire and nothing to replace — just your observations and measurements, saved against the bike so you can watch how readings move from one check to the next. #### Turn a check into a full service Found more work than you expected? Open the check and choose **Swap to Service Log**. Your date and notes carry straight across, and the full service log opens up so you can retire worn parts and fit replacements. The swap is one-way, so you will get a quick heads-up before it happens. ### Improvements - Creating a record now drops you straight onto its page, ready to add notes. - Maintenance Checks are labeled in your Service Logs list, so a quick check and a full service are easy to tell apart at a glance. - [v0.23.1 - June 21, 2026](https://www.componentry.app/changelog/v0.23.1-june-21-2026): 2026-06-21 ### New #### Battery status for your electronics Your bike computer already records the battery level of the electronics it talks to on a ride — electronic shifting, power meters and sensors. Componentry now brings that to the web. On your dashboard, each recent activity shows a small battery badge for every device that reported in, so you can see at a glance what was running low at the end of your last ride. Open any activity from your history and you'll find the same readout under **Reported Electronics**. The badges are colour-coded so anything that needs attention stands out: green is healthy, amber means low, and red means critical. A grey badge means the device didn't report a clear reading. It's an easy way to catch a fading shifter or sensor battery before it leaves you stranded mid-ride. - [v0.24.0 - July 20, 2026](https://www.componentry.app/changelog/v0.24.0-july-20-2026): 2026-07-20 ### New #### See exactly how profiles pick up your rides Profiles are powerful, but until now it wasn't obvious *which* profile a new ride would land on when you'd set both an activity type and a default. The bike page now has a **How profiles work** panel that shows you, using your bike's actual setup: - Pick a hypothetical next ride — Outdoor, Indoor, or one with no indoor/outdoor data — and see each matching step light up: activity type match first, then the default profile. - The winning profile is highlighted, along with the components that would track wear on that ride — both the ones that are always tracked and the ones tied to the winning profile. - If one of your sensors is pinned to a profile, the panel calls that out too, since pinned sensors take priority over everything else. Open it from the new **How profiles work** link on the Profiles card, where the old help icon used to be. The full written guide is one click away from the panel. ### Improvements - Profiles with an activity type now show a note on the Profiles card explaining that they take priority over the default profile for matching rides — so there are no surprises about where a ride ends up. - The Profiles card description now spells out the assignment order: activity type match first, then the default profile. - [v0.24.1 - July 20, 2026](https://www.componentry.app/changelog/v0.24.1-july-20-2026): 2026-07-20 ### Fixes - Assigning several activities to a different bike at once now re-applies profiles per activity, using the same order as everywhere else: an activity-type match first, then the bike's default profile. Previously the activities kept the profile from their old bike, which could lead to the wrong components tracking wear. - Removing a bike from activities in bulk now clears their profiles as well. - This also gives you a quick way to fix profiles across many activities: select them and re-assign the same bike, and each activity picks up the right profile again. - [v0.25.0 - July 20, 2026](https://www.componentry.app/changelog/v0.25.0-july-20-2026): 2026-07-20 ### New - **One wear figure, personalised.** When a component has a personalised prediction, its wear bar now uses your predicted lifespan in place of the manufacturer's distance rating — while age and usage-hours limits can still take over when they matter more. The highest signal wins, so the number you see is always the one worth acting on. - **See what's driving the number.** The component detail view now labels the wear status with the measure behind it — Distance, Duration, Time, or Predictive — with a bar per measure so you can compare your personalised lifespan against the manufacturer's figures side by side. - **Predicted replace-by date** now appears at the top of the component detail view whenever a prediction lands within the next two years. Further-out estimates show as "2+ years" in the prediction details rather than an implausibly precise date. - **Clearer signals in the component list.** A sparkles badge next to a component's name means it has a personalised prediction, and the wear figure turns purple whenever the prediction is the number on display. - Wear figures on the web now match the mobile app: a component shows the same percentage, the same colour, and the same "why" on both platforms. - [v0.26.0 - July 23, 2026](https://www.componentry.app/changelog/v0.26.0-july-23-2026): 2026-07-23 ## Chain wax tracking You can now record whether a chain is wax-lubricated. - **New "Waxed" toggle on chains** — open a chain's details from your bike's component list to switch it on or off. - **Available in service notes too** — capture the lubrication method when logging a service, completing a maintenance check, or retiring a chain. - **At-a-glance lube status** — your component list shows Waxed or Lubricant next to the chain, and service notes show a simple Yes/No. Chains join tires with a quick edit link in the bike component list. Service-time measurements like chain stretch and brake pad wear stay right where you record them — in service notes and maintenance checks. - [v0.27.0 - July 24, 2026](https://www.componentry.app/changelog/v0.27.0-july-24-2026): 2026-07-24 ## Chain power loss Your chain's condition quietly costs you watts. Now you can see how many — and how many you'd get straight back with a clean and fresh wax or lube. - **Estimated recoverable watts on every chain** — shown on the bike's component list and broken down on the chain's detail view into contamination, lubrication state, and chain stretch. - **Cascaded to your bikes** — the estimate rolls up to the bike cards on your gear list and your home screen, so a neglected chain is visible at a glance. - **Wax vs. lubricant aware** — a waxed chain stays cleaner for longer, and the estimate reflects the setup you've told us you run. - **Sharper with a lubrication reminder** — mark your chain's lube reminder complete and the estimate re-evaluates from a fresh baseline. Chains without one still get an estimate based on typical habits, with a nudge to add a reminder. - **Works for everyone** — riders syncing from Strava see the estimate at reduced accuracy; connecting a bike computer sharpens it over time. Learn more in the [Chain Power Loss](/docs/predictions/chain-power-loss) help article. ## Also in this release - **Set chain lubrication reminders as a "lubrication" reminder** — so completing them refreshes your power-loss estimate. Chains created from a preset get this automatically. - **Add chain details while creating or editing** — set the Waxed switch right on the create and edit forms, not only afterwards. - [🖥️ Web v0.3.0 - December 17, 2025](https://www.componentry.app/changelog/v0.3.0-december-17-2025): 2025-12-17 ### New Features #### Customer Referral Program Share your unique referral code with friends and earn free subscription months when they sign up. **For Existing Subscribers:** - A unique referral code is automatically generated for your account - Find your referral code on the Billing page - Copy your shareable referral link with one click - Track your referral statistics: total referrals and credits earned - Generate a new code anytime if needed **For Referred Users:** - Visit a referral link to see a personalized landing page - The referral code is automatically applied at sign-up - Both the referrer and new user benefit from the promotion **Dashboard Integration:** - Subscribed users see a "Share & Earn Free Months" button on the dashboard - Quick access to the Billing page to manage referrals ### Improvements #### Internationalization (i18n) - Added full translation support for the referral feature in English, Spanish, and Polish - Dashboard and onboarding text moved to locale files for better translation management - All user-facing text now properly internationalized #### Marketing Footer - Added Pricing and Blog links under the About section - Added Changelog link under the Product section ### Technical Notes - Referral codes integrate with Stripe promotion codes for automatic discount application - Invalid referral codes now show a friendly error page instead of redirecting - Legacy subscribers visiting the billing page will have a referral code automatically created - [v0.30.0 - July 28, 2026](https://www.componentry.app/changelog/v0.30.0-july-28-2026): 2026-07-28 ## Setup checklist Getting started used to show you one prompt at a time, so you could never tell how much was left. Your dashboard now opens with a checklist of the five things that get your bikes fully tracked — all visible at once, with your progress on top. - **See the whole journey** — every step is listed with a running count, so you always know what's done and what's ahead. - **The next step comes forward** — it expands with a short explanation and a button that takes you straight there, while finished steps step back out of the way. - **Ticks itself off** — steps complete from your real data as you go. Nothing to mark by hand. - **Jump in anywhere** — the steps aren't locked in order. Start wherever you like. - **Matches the mobile app** — the same five steps in the same order, whichever you open first. Once everything's done you get a short confirmation, and the checklist retires for good — on every device you sign in from. ## Also in this release - **The reminder step opens the form for you** — links to your reminders from the dashboard used to just drop you on the page with nothing open. - [v0.32.0 - July 29, 2026](https://www.componentry.app/changelog/v0.32.0-july-29-2026): 2026-07-29 ## Reminders that sort themselves by urgency Almost every reminder used to carry the same label, whether it was due in three days or eight months. Reminders now fall into four clear states — **Overdue**, **Due Soon**, **Upcoming** and **Scheduled** — and everything on the page follows from that. - **"Upcoming" now means something** — it's a real window, not a catch-all. A reminder eight months out reads as Scheduled and stays out of your way until it's genuinely near. - **Your dashboard only shows what's live** — the reminders card carries the most urgent ones, in urgency order. A distance reminder you've already ridden past can no longer be pushed off the list by a page of far-future dated ones. - **One ledger instead of three tabs** — the reminders page is now a single list grouped Overdue → Due Soon → Upcoming → Scheduled, with only the sections you actually have. - **Distance and ride-count reminders take their proper place** — they're ranked against dated ones rather than dropped at the bottom, so "30 km to go" sits where it belongs. - **Each line is coloured by its own trigger** — a distance target coming up no longer tints the date beside it, so you can see at a glance which rule is the one demanding attention. - **Finished means finished** — a repeating reminder you've completed reads as Scheduled everywhere, instead of resurfacing as overdue on an old date. - **Paused reminders stay quiet** — they sit under Scheduled with a Paused label rather than sounding urgent, and they no longer inflate the count on your bike. ## The watts you can win back, stated plainly The chain chip on your bikes and components used to lead with a label before it got to the point. It now says what it means: **Recover 3.1 watts**. - **Verb first, unit spelled out** — "Recover 2.4 watts" instead of "Chain: recover 2.4 W". Savings under a watt still read as "<1 watt" rather than a decimal the model can't stand behind. - **A clean chain says nothing at all** — chains with nothing to win back no longer show a chip claiming zero. The chip is there to flag what needs attention, so it only appears when something does. - **The same wording everywhere** — your dashboard, your bikes list and each component row now phrase it identically, and the "est." marker sits in full-strength text instead of a faded grey that was hard to read in light mode. ## Prediction cards that start with the answer Opening a component used to hand you two tall panels of figures at once. Both now open collapsed, showing the one number each exists to give you, and expand when you want the reasoning. - **Personalised Prediction** leads with distance remaining and how this component is tracking against its rated life. The replacement date, adjusted lifespan and wear factors sit behind the arrow. - **Drivetrain power loss** leads with the watts a clean and re-lube would win back. The breakdown of where those watts are going is one tap away. - **Numbers that add up** — the breakdown no longer sits under a total you couldn't reconcile against it, and every figure in the column reads to the same decimal place. - **A nudge only when it helps** — the suggestion to add a lubrication reminder no longer appears if you already have one on that chain. ## Also in this release - **The bike reminder count matches the page** — the badge on each bike now counts the reminders that need attention, not every unfinished one. - **Reminder details read correctly in every language** — the reminders page and detail panel are now fully translated across all nine supported languages. - **Distance intervals respect your units** — reminder details showed distances in kilometres regardless of your preference, and a repeat interval could be shown a thousand times too large. - **Repeat schedules read properly** — an every-two-weeks reminder described itself as "2 weeklys". - [v0.32.1 - July 30, 2026](https://www.componentry.app/changelog/v0.32.1-july-30-2026): 2026-07-30 ## Karoo rides record the right ride time Rides synced from your Hammerhead Karoo were logging a ride time a thousand times longer than the ride actually took — a two-and-a-half hour ride read as though you'd been out for over a hundred days. The ride time now matches the ride. - **Existing rides are corrected** — every Karoo ride already in your history has been repaired, so you don't need to re-import anything. - **Your components have been recalculated** — any bike that has recorded a Karoo ride has had its component wear worked out again from scratch against the corrected figures. Hours-based service intervals on those bikes were reading far higher than they should have been. ## Karoo rides sit at the right time of day A Karoo ride was timestamped when it finished syncing off the device rather than when you rolled out, so a morning ride could land in your afternoon and sort out of order against the same ride from another source. Rides now carry their actual start time, and past rides have been moved back to where they belong. - [v0.33.0 - July 30, 2026](https://www.componentry.app/changelog/v0.33.0-july-30-2026): 2026-07-30 ## Pair rides with Strava manually Rides recorded on your head unit are matched to Strava automatically — but when two rides start close together, or a sync arrives late, the match can't always be made on its own. You can now make it yourself. - **Pick the right ride from your recent Strava activities** — open any ride's details and choose from your twenty most recent Strava activities. The closest match by start time is highlighted and pre-selected for you. - **Everything a matched ride gets, a manually paired ride gets** — your route map, ride coordinates, and weather details all come across, and your bike is set on the Strava activity too. - **Change or disconnect a pairing at any time** — paired the wrong ride, or want to unlink one? Swap the pairing to a different Strava activity or disconnect it from the ride's details. The option appears on ride details when your Strava account is connected. - [v0.33.1 - August 2, 2026](https://www.componentry.app/changelog/v0.33.1-august-2-2026): 2026-08-02 ## FIT imports and distance reminders Two fixes to how imported rides and distance-based reminders behave. - **Importing FIT files works again** — uploads had been failing partway through since early June, so rides never made it into your history. Imports now complete, and the ride detail recorded on your head unit comes across with them. - **Uploading the same ride twice is recognised** — re-importing a file you have already uploaded is marked as a duplicate instead of adding the ride a second time. - **Distance reminders move on once they come due** — a reminder that reached its distance now rolls forward to its next service interval as it should. - **Reminders that were already due are showing again** — some distance reminders had come due without surfacing. Those are back in your list, so check whether anything is waiting on you. - **Repeating reminders count from the day you complete them** — finish a job early or late and the next one falls a full interval from the day you actually did it. Undoing a completion and marking it done again no longer skips a cycle. If you tried importing FIT files over the last few weeks, those rides did not save — they are safe to upload again. - [v0.33.2 - August 3, 2026](https://www.componentry.app/changelog/v0.33.2-august-3-2026): 2026-08-03 ## Clearer answers when you connect a fitness account Connecting Strava, Wahoo, Garmin or Hammerhead now explains itself when something is in the way, and a few rough edges around connecting and disconnecting are gone. - **An account already linked elsewhere is named as such** — each fitness account connects to one Componentry account. If the one you are connecting is already linked to another, you are now told so directly, instead of being asked to try again on something a retry could never resolve. - **Connection messages appear once** — status messages after connecting no longer show twice. - **Disconnecting frees the account immediately** — disconnect a fitness account and it is ready to connect somewhere else straight away. - **Reconnecting brings a connection fully back** — reconnecting an account you already had linked refreshes it properly, including when it had gone stale. - **Closing your account hands back its connections** — deleting a Componentry account now releases the fitness accounts it was linked to, so nothing keeps syncing afterwards and they are free to use again. If connecting a fitness account failed for you recently and you were asked to try again, it is worth another go — the message will now tell you if it is linked to another Componentry account. - [v0.33.3 - August 5, 2026](https://www.componentry.app/changelog/v0.33.3-august-5-2026): 2026-08-05 ## Garmin imports and ride weather Importing your Garmin history now tells you where you stand before you start, and weather stopped going missing on rides that should always have had it. - **Garmin history says up front whether it can run** — importing past rides from Garmin needs the "Export Your Data" permission on Garmin's consent screen. Componentry now checks that permission when you connect and keeps it up to date, so if it is missing you see exactly what to do instead of starting an import that cannot finish. - **Turning the permission on takes effect straight away** — grant "Export Your Data" and the import unlocks itself, with no need to try an import first to find out. - **Rides that were missing weather now have it** — some rides were being looked up against the wrong day and ended up with no conditions recorded at all. They now get the weather they were actually ridden in, wherever and whenever they happened. If a Garmin history import quietly did nothing for you before, open Apps & Integrations — it will now either run or tell you exactly what it needs. - [v0.34.0 - August 5, 2026](https://www.componentry.app/changelog/v0.34.0-august-5-2026): 2026-08-05 ## Turn reminders into service records Completing a reminder can now start a proper service record. - **A new completion prompt.** When you complete a reminder that belongs to a bike, Componentry asks whether you'd like to record the work as a Maintenance Check or a Full Service Log. "Just complete" is still there if you only want to tick it off. - **Reminders on every service log.** Maintenance checks and service logs now show the bike's open reminders as a checklist. Tick off everything you covered in one session, and each reminder is completed, rescheduled, and recorded against that service. - **A permanent service history.** Reminders completed through a check or service stay on its record, so you can see what work was done and when, even if the reminder itself is later changed or removed. Reminders that aren't linked to a bike complete instantly, exactly as before. - [v0.35.0 - August 6, 2026](https://www.componentry.app/changelog/v0.35.0-august-6-2026): 2026-08-06 ## Retiring a part is now part of a service Retiring a component used to be possible in two places, and only one of them left you with a record worth keeping. Retire from a full service log and you got the whole story: the wear the part came off at, a note about why, and a link to whatever you fitted in its place. Retire from the bike page and you got a component marked retired, with nothing tying it to the work you actually did. From this release there is one path. The Retire button on the bike page now offers to start a service log for that bike, pre-filled and ready, and the retirement happens there. ## What this means for your history Every retirement from now on sits inside a service. When you look back at what a bike has had done to it, the parts that came off are listed alongside the reminders that service cleared and the notes you took while working. A replacement part shows what it replaced. Retirements you recorded before this change are untouched. Reactivating a part is unchanged too, and still available directly from the bike page, so nothing you retired earlier is stranded. ## Also in this release Starting a service record now pre-selects the bike when you arrive from a bike page, and the buttons say what they do: Start Service and Start Maintenance, rather than Add Service Log. - [v0.35.1 - August 8, 2026](https://www.componentry.app/changelog/v0.35.1-august-8-2026): 2026-08-08 ## Importing from Strava when you ride with a head unit If you have a Wahoo, Garmin or Hammerhead connected, Componentry already treats your head unit as the source of truth for rides that arrive automatically. Strava publishes the same ride moments later, and only one of the two becomes an activity. Pulling in older rides with the Strava importer worked differently. It checked whether it had seen that exact Strava ride before, and nothing else — so a ride your head unit had already delivered could arrive a second time and count twice towards the wear on your parts. The importer now looks for it. When a ride you're importing lines up with one your head unit already recorded, it's skipped and shown as skipped in the import summary. Rides with no match import as normal, so bringing in history from before you paired your head unit works just as it did. This works the same way for Wahoo, Garmin and Hammerhead, on the web and in the app. - [v0.36.0 - August 10, 2026](https://www.componentry.app/changelog/v0.36.0-august-10-2026): 2026-08-10 ## Finding a bike you retired Retiring a bike is how you keep its history without it cluttering the bikes you actually ride. That part worked. Finding it afterwards did not. A retired bike sat at the very bottom of your bikes page, below every active bike, with nothing on it that said "retired" — just a faded card you had to scroll past everything else to reach. Bringing it back meant opening its settings and working down the page to find the button. Your bikes page now has a simple filter at the top: Active and Retired, each with a count. The filter only appears once you have something retired, so nothing changes until it's useful to you. Switch to Retired and you get your archived bikes laid out exactly like your active ones, each showing the date it was retired. Bringing a bike back is now a Reactivate button on the bike itself. One click, one confirmation, and it's back in your active list with its full history intact. ## Retirement now shows on the bike Open a retired bike and the page told you nothing — same layout, same buttons, including Race Day planning for a bike you'd taken out of service. A retired bike is now marked as retired on its own page, and the tools that only make sense for a bike you're still riding — Race Day and Bike Fit — step aside until you bring it back. Everything else stays: components, wear, service history, sensors. ## Retiring your default bike Your default bike is the one new rides get assigned to when nothing else matches. If that bike was ever the one you retired, auto-assignment stopped — quietly, with your settings still showing it as your default. Retiring a bike now hands the default back, so you can choose a new one straight away. This release also clears it on any bike already in that state, so if your default is a bike you retired a while ago, check your bikes page and set the one you're riding now. A retired bike can no longer be chosen as your default until you reactivate it. ## Worth knowing Bikes you retired before this release don't have a retirement date recorded, so their cards won't show one. Everything else about them is unchanged, and any bike you retire from now on records the date. Your riding history is untouched either way — rides you did on a bike stay in your history whether the bike is retired or not. - [🖥️ Web v0.4.0 - December 20, 2025](https://www.componentry.app/changelog/v0.4.0-december-20-2025): 2025-12-20 ### New Features #### Notification Preferences Take control of your notifications with the new Notification Preferences page. Choose exactly how and where you want to be notified for each type of event. **Available Notification Types:** - **Activity Processed** - Get notified when a new activity has been received and processed - **Components Processed** - Know when the components on your bike have been processed for wear calculations - **Bike Matched** - Receive alerts when a bike is automatically matched to an activity - **New Reminder** - Stay on top of maintenance with reminders for bikes and components - **App Token Refresh** - Be notified when your Garmin, Strava, or Wahoo connection needs to be reconnected - **Strava Matched** - Get updates when your bike is matched to a Strava activity and has been synced **Channel Options:** Each notification type can be enabled or disabled for three different channels: - **Web** - In-app notifications visible in the notification bell - **Email** - Email notifications sent to your registered email address - **Mobile** - Push notifications on your mobile device (requires Componentry mobile app) **How to Access:** Navigate to Settings → Notifications to customize your preferences. Your choices are saved instantly and synced across all your devices. - [🖥️ Web v0.5.0 - December 23, 2025](https://www.componentry.app/changelog/v0.5.0-december-23-2025): 2025-12-23 ### New Features #### Multilingual Support 🌍 Componentry is now available in three languages! We've added full support for **English**, **Spanish**, and **Polish** across the application and marketing site. **Supported Languages:** - 🇬🇧 **English** - Default language - 🇪🇸 **Spanish (Español)** - Full translation - 🇵🇱 **Polish (Polski)** - Full translation **How It Works:** - **Automatic Detection** - The app automatically detects your browser's preferred language - **Easy Switching** - Change your language anytime using the language selector - **Persistent Preference** - Your language choice is remembered across sessions - **SEO-Friendly URLs** - Marketing pages are available at language-specific URLs (e.g., `/es/features`, `/pl/pricing`) **What's Translated:** - Full application interface including dashboards, settings, and notifications - Marketing pages including Features, Pricing, FAQ, and more - Error messages and form validations - Email notifications We're committed to making Componentry accessible to cyclists around the world. If you'd like to see support for additional languages, let us know! - [🖥️ Web v0.5.1 - December 24, 2025](https://www.componentry.app/changelog/v0.5.1-december-24-2025): 2025-12-24 ### Improvements #### Enhanced Reminder Cards on Home Page We've improved how reminders are displayed on the home page with clearer status badges and smarter filtering. **New Status Badges:** Every reminder now shows a clear status badge: - 🔴 **Overdue** - Time-based reminders past their due date, or distance-based reminders that have reached their target - 🟠 **Due Soon** - Reminders due within 3 days or within 50km of target distance - ⚪ **Upcoming** - Completed reminders that will be due soon - 🔵 **Todo** - Incomplete reminders that need your attention **Improved Filtering:** Completed reminders now only appear on the home page when they're actually coming up soon: - Time-based reminders: Within the next **3 days** - Distance-based reminders: Within **50km** of target This means your home page stays focused on what actually needs attention, without showing reminders that are weeks or hundreds of kilometers away. **Distance-Based Reminders:** Reminders with distance triggers now display remaining distance clearly (e.g., "45km remaining") alongside any time-based due dates. - [🖥️ v0.5.2 - December 27, 2025](https://www.componentry.app/changelog/v0.5.2-december-27-2025): 2025-12-27 ### New Features #### Low Battery Notifications 🔋 Stay informed about your electronic devices! When any of your paired electronics (power meters, Di2 shifters, etc.) report a low battery status after a ride, you'll now receive a notification. - **Push notifications** sent to both web and mobile apps - **Smart detection** from FIT file data during activity processing - **Configurable preferences** in the new notification settings #### Notification Preferences Update Added the new **Low Battery Warning** option to notification preferences, allowing you to control how you're notified about electronic device battery status: - **Web** - In-app notifications - **Email** - Email alerts (disabled by default) - **Mobile** - Push notifications to your phone Access notification preferences from **Settings → Notifications** to customize your alert preferences. - [🖥️ v0.5.3 - December 28, 2025](https://www.componentry.app/changelog/v0.5.3-december-28-2025): 2025-12-28 ## Mobile Responsive Improvements This release brings comprehensive mobile responsive fixes across the application, ensuring a polished experience on all screen sizes. ### Gear Detail Page - **Header Layout**: Gear name and action buttons now stack vertically on mobile for better readability - **Filter Controls**: Category filter and sort dropdown stack on mobile, display side-by-side on larger screens - **Component Rows**: Component cards adapt their layout on mobile with stacked stats and improved spacing - **Action Buttons**: Added visual separator between edit and delete buttons on mobile ### Home Dashboard - **Active Bikes Card**: Fixed "Most Used" badge overlapping manufacturer text by stacking elements on mobile - **Stats Row**: Components, Devices, and Reminders now wrap properly with consistent spacing - **Weekly Summary**: Reduced stat text size and icon dimensions on mobile to prevent cramped layouts - **Recent Activities**: Changed activity stats from 4-column to 2x2 grid on mobile for better readability ### Sheet Components - **Create Component Sheet**: Full-width on mobile, fixed 500px on desktop; footer buttons stack vertically - **Create Gear Sheet**: Same responsive width treatment with stacked footer buttons - **Edit Component Sheet**: Consistent mobile-first responsive behavior All changes maintain the existing desktop experience while significantly improving mobile usability. - [🖥️ v0.6.0 - December 30, 2025](https://www.componentry.app/changelog/v0.6.0-december-30-2025): 2025-12-30 ## Bug Fixes - **Fixed aggregate wear grouping**: Component wear is now correctly attributed to component groups (Fork/Suspension, Groupset, Brakes, Electronics, Chain/Cassette, Wheels/Tires) by looking up the group from component presets instead of matching on component type directly. ## New Features - **Component wear breakdown on Gear view**: The gear detail page now shows:- Highest and Average wear with color-coded progress bars - Component group breakdown with individual progress bars for each category - Color thresholds: ≥95% red (critical), ≥75% amber (warning), <75% blue (normal) - [🖥️ v0.6.1 - January 04, 2026](https://www.componentry.app/changelog/v0.6.1-january-04-2026): 2026-01-04 ### 🐛 Bug Fixes - **Authentication**: Added a confirmation step to the magic link sign-in flow. This prevents email security scanners from prematurely consuming the one-time login token, ensuring links remain valid when you click them. - [🖥️ v0.7.0 - January 04, 2026](https://www.componentry.app/changelog/v0.7.0-january-04-2026): 2026-01-04 ### ✨ New Features - **Service Log Notes**: You can now add detailed notes to components within a Service Log. This is perfect for tracking specific observations, maintenance details, or condition reports for individual parts. - **Component Measurements**: Added support for recording specific measurements (like brake pad thickness or chain stretch) based on the component type. - **Unit Preferences**: The app now respects your preferred unit system (Metric/Imperial) when displaying and entering measurements. - **Enhanced Retirement Workflow**: When retiring a component, you can now immediately add a final note and record its condition/measurements in a single step. ### 🐛 Bug Fixes - **Retire Component Modal**: Fixed a crash that occurred when opening the retire component modal due to incorrect label component usage. - [🖥️ v0.8.0 - January 06, 2026](https://www.componentry.app/changelog/v0.8.0-january-06-2026): 2026-01-06 ### New Features - **Wahoo Activity Import**: You can now import historical activities from Wahoo directly from the Apps page. Select the number of recent workouts to import (7, 30, 60, or 90) and they will be queued for background processing, just like real-time webhook activities. ### Improvements - **Unified Processing Pipeline**: Imported Wahoo activities use the same processing pipeline as webhook-triggered activities, ensuring consistent handling of FIT file downloads, device matching, and wear calculations. - [🖥️ v0.9.0 - January 07, 2026](https://www.componentry.app/changelog/v0.9.0-january-07-2026): 2026-01-07 ### New Features - **User Unit Preferences for Gear & Components**: Distance values throughout the Gear page and component forms now respect your preferred units (km/mi). Form inputs accept values in your preferred unit and automatically convert for storage. - **Component Recalculation**: Components can now be recalculated to update wear data based on activity history. - **Automatic Wear Recalculation on Bike Match**: When a bike is matched to activities, component wear is automatically recalculated to reflect the updated activity associations. ### Improvements - Component create/edit forms now display distance limits in your preferred unit with dynamic labels - Reminder distance displays now use your preferred unit throughout the app - Component preset reminder previews show both km and mi values for clarity - Distance values in forms are displayed as whole numbers for cleaner input ### Bug Fixes - Fixed an issue where user-modified distance limit values were being overwritten by preset values when creating components - Fixed preset auto-population in component forms to only trigger when component type changes - [🖥️ v0.9.1 - January 08, 2026](https://www.componentry.app/changelog/v0.9.1-january-08-2026): 2026-01-08 ### Improvements - **Activity Sync Source Clarity**: The Apps page now displays informational messages indicating where your activities will sync from when multiple fitness providers are connected. When both Strava and Wahoo/Garmin are connected, Strava shows that it will match but not import activities, while the connected device provider shows as the sync source. ### Bug Fixes - **Time-Based Component Wear**: Fixed an issue where components using time-based lifespan tracking were not calculating wear percentages correctly — the time portion was always showing 0% even when years or months were configured. Wear is now properly calculated for both new and existing components. ### New Features - **Wahoo Import on Mobile**: You can now import Wahoo activities directly from the mobile app. Imports are processed in the background using the same pipeline as activities that sync automatically. - [v0.9.10 - February 24, 2026](https://www.componentry.app/changelog/v0.9.10-february-24-2026): 2026-02-24 ## Gear Reprocessing on Component Changes Fixed an issue where component lifecycle changes did not trigger gear wear recalculation. Previously, retiring, reactivating, or deleting a component would not update the gear's aggregate wear until the next activity was processed. Now, all component operations correctly mark the gear as dirty and reprocess components immediately: - **Retiring** a component recalculates aggregate wear excluding the retired component - **Reactivating** a component recalculates aggregate wear including it again - **Deleting** a component recalculates aggregate wear without it This fix also applies to the mobile API, where creating, updating, retiring, reactivating, and deleting components now all trigger gear reprocessing. - [v0.9.11 - March 4, 2026](https://www.componentry.app/changelog/v0.9.11-march-4-2026): 2026-03-04 ## Mobile App Download Banners Desktop users who haven't installed the mobile app will now see a download banner on the Home dashboard and Settings page. The banner shows the relevant app store badge based on your device (Apple or Android). You can dismiss the banner from the home page — it won't appear again. The Settings page always shows the banner as a reference for finding download links. ## Mobile App Usage Tracking The system now automatically tracks when users access Componentry from the mobile app. Once detected, download banners are hidden since you already have the app installed. - [v0.9.2 - January 09, 2026](https://www.componentry.app/changelog/v0.9.2-january-09-2026): 2026-01-09 ### New Features - **Edit Bike Button**: Added a new edit button to bike cards on the gear list page. You can now quickly update your bike's model, year, manufacturer, and discipline directly from the gear list without navigating to another page. The edit button appears next to the settings icon on both active and retired bike cards. - [v0.9.2 - January 26, 2026](https://www.componentry.app/changelog/v0.9.2-january-26-2026): 2026-01-26 ## Internationalization Expansion We're excited to announce that Componentry now supports **three additional languages**, making the platform accessible to even more cyclists around the world! ### New Language Support - **German (de)** - Vollständige deutsche Übersetzung - **French (fr)** - Traduction française complète - **Italian (it)** - Traduzione italiana completa This brings our total supported languages to **7**: - English (en) - German (de) - Spanish (es) - French (fr) - Italian (it) - Polish (pl) - Portuguese (pt) ### What This Means Based on early data from the Google Play Store showing strong interest in these regions, we've prioritized adding support for German, French, and Italian. All UI elements, navigation, error messages, and marketing content are now fully translated and available in these languages. ### How to Switch Languages You can change your language preference in your **Account Settings** under the Language section. The interface will update immediately to reflect your chosen language. ### Translation Quality All translations have been AI-assisted and reviewed for cycling-specific terminology accuracy. We welcome feedback from native speakers to help us continuously improve translation quality. If you notice any issues or have suggestions, please contact our support team. ### What's Next We're committed to making Componentry accessible globally. Future updates may include: - Regional language variants (e.g., pt-BR vs pt-PT) - Additional languages based on user demand - Community translation contributions Thank you for helping us grow Componentry into a truly international platform for cyclists everywhere! - [v0.9.3 - January 26, 2026](https://www.componentry.app/changelog/v0.9.3-january-26-2026): 2026-01-26 ## Language Preference Persistence We've enhanced the user experience for international visitors by implementing seamless language preference persistence throughout the sign-up flow. ### What's New **Automatic Language Detection & Persistence** When you visit Componentry from a localized marketing page (e.g., `/es/pricing` for Spanish), your language preference is now automatically: - Detected and stored during browsing - Carried through the entire sign-up process - Saved to your user profile upon account creation - Applied immediately when you first log in No more switching languages after creating your account! ### How It Works - **Visit a localized page** - Browse `/es/pricing`, `/de/features`, or any other language-specific page - **Sign up** - Your language preference is remembered throughout registration - **Confirm email** - Language preference persists through email verification - **Log in** - Your chosen language is automatically applied to your account ### Technical Improvements - Language preference is now stored in user metadata during sign-up - Enhanced E2E test coverage with full language persistence validation - Improved UI components with better testability attributes - Fixed language selector form submission behavior ### Supported Languages This feature works with all 7 supported languages: - English (en) - German (de) - Spanish (es) - French (fr) - Italian (it) - Polish (pl) - Portuguese (pt) Users can always change their language preference later in Account Settings. - [v0.9.4 - January 27, 2026](https://www.componentry.app/changelog/v0.9.4-january-27-2026): 2026-01-27 ## Bike Fit Measurements Track and compare your bike fit measurements directly within your gear profiles. This new feature helps you maintain consistent positioning across your bikes and track adjustments over time. ### What's New **Comprehensive Measurement Tracking** Record 35+ measurements across 6 categories: - **Saddle** - Height, setback, angle, and more - **Handlebar** - Reach, drop, width, rotation - **Stem** - Length, angle, spacers - **Cockpit** - Stack, reach, drop calculations - **Cleat** - Position, rotation, float settings - **Frame** - Geometry reference measurements **Version History** Each measurement set is saved as a version, allowing you to: - Track changes over professional bike fits - Compare before/after adjustments - Revert to previous setups if needed **Side-by-Side Comparison** Select two versions to compare measurements directly. Differences are highlighted to easily spot what changed between fits. ### How to Use - Navigate to any bike in your Gear collection - Click the **Bike Fit** button - Create your first measurement set - Add measurements for each category as needed - Save and create new versions when you make adjustments ### Coming Soon - Export measurements to PDF - Share fit data with your bike fitter - [v0.9.5 - January 28, 2026](https://www.componentry.app/changelog/v0.9.5-january-28-2026): 2026-01-28 ## Bike Fit Measurement Improvements This release improves the bike fit measurement editing experience with clearer save options and UI refinements. ### What's New **Dual Save Options When Editing** When editing an existing measurement set, you now have two clear options: - **Save** - Updates the current version in-place - **Save as New Version** - Creates a new version entry to preserve history An info message above the buttons explains the difference, making it clear what each action does. **UI Improvements** - Added Fit button (ruler icon) to gear cards on the gear list page for quick access - Moved Fit button next to Settings button in the gear detail header for consistency - Replaced native date picker with the consistent DateTimePicker component - Improved footer layout in the measurement edit form ### Bug Fixes - Fixed edit action incorrectly creating new versions instead of updating existing records - Fixed measurement display spacing for better readability - Fixed version selector to use fit date instead of created date - [v0.9.6 - February 15, 2026](https://www.componentry.app/changelog/v0.9.6-february-15-2026): 2026-02-15 ## Weather Enrichment Activities are now automatically enriched with weather data based on GPS coordinates and ride time, giving you context about the conditions you rode in. ### What's New **Automatic Weather Data** After an activity is synced, weather conditions are fetched from the Open-Meteo API and stored on the activity. The system uses the activity's GPS coordinates and start time to retrieve hourly weather data and aggregates it across the ride window. Weather data includes temperature, humidity, wind speed and gusts, precipitation, cloud cover, and an overall weather condition. **Weather Display in Activity Detail** The activity detail sheet now shows a weather section with condition icons and key metrics: - Overall condition (Clear sky, Partly cloudy, Rain, Snow, etc.) - Temperature, humidity, and cloud cover - Wind speed and gust information - Precipitation totals (when present) **Automatic Weather Tags** Activities are automatically tagged based on weather conditions: - **Wet** - Rain or drizzle detected during the ride - **Snow** - Snowfall during the ride - **Windy** - Wind gusts exceeding 40 km/h - **Hot** - Average temperature above 35C - **Cold** - Average temperature below 0C These tags work alongside existing system and custom tags and appear in activity filtering. **Historical Import Support** Weather enrichment also works for imported activities. When importing past activities from Strava, weather data is fetched using the historical weather archive so even older rides get weather context. ### Technical Details - Weather processing runs as a new queue stage in the activity pipeline - Uses a 6-hour delay from activity start time to ensure weather model data is available - Supports GPS data from Strava (start lat/lng) and Garmin (metadata coordinates) - Activities without GPS data are gracefully skipped - [v0.9.7 - February 17, 2026](https://www.componentry.app/changelog/v0.9.7-february-17-2026): 2026-02-17 ## Strava Webhook Processing Strava webhooks are now fully processed in real-time, bringing Strava to the same level of integration as Wahoo and Garmin. ### What's New **Real-Time Activity Sync from Strava** When Strava is your only connected activity provider, new rides are now automatically imported in real-time via webhooks. Previously, Strava activities could only be imported manually. Now the full activity pipeline runs automatically: activity creation, GPS enrichment, gear matching, weather data, and component wear calculation. **Smart Provider Detection** The system automatically detects how Strava should behave based on your connected providers: - **Strava + Garmin/Wahoo**: Strava acts as a supplement. When a new activity appears on Strava, it matches it to the existing activity from your device and updates the activity name (since most riders name their rides on Strava). - **Strava only**: Strava becomes the primary activity source. Full activity details are fetched from the Strava API including distance, duration, elevation, GPS coordinates, and map data. **Activity Name Sync** When you rename an activity on Strava, the updated name is automatically synced back to Componentry. This works for Strava-sourced activities so your ride names stay consistent across platforms. **Weather Support for Strava Activities** Activities created from Strava webhooks now include weather enrichment, using the GPS coordinates from Strava to fetch conditions during your ride. **Gear Matching** For Strava-only users, the system matches your Strava bike assignment to your Componentry gear via linked devices, automatically tracking component wear from each ride. - [v0.9.8 - February 20, 2026](https://www.componentry.app/changelog/v0.9.8-february-20-2026): 2026-02-20 ## Multi-Select & Bulk Actions Manage large numbers of activities at once with the new multi-select and bulk actions toolbar. ### What's New **Multi-Select** Select individual activities with checkboxes, or use the header checkbox to select all activities on the current page. Selected rows are highlighted and a floating toolbar appears at the bottom of the screen with available actions. **Bulk Apply Tags** Add tags to multiple activities at once. Tags are grouped by type (System, Strava, Personal) and are added to selected activities without removing any existing tags. **Bulk Assign Bike** Assign or change the bike for multiple activities in one action. Component wear is automatically recalculated for all affected bikes. **Bulk Delete** Delete multiple activities with a single confirmation. Component wear is recalculated for any bikes that were linked to the deleted activities. ### Bug Fix **Component wear recalculation on single delete** Previously, deleting a single activity did not trigger component wear recalculation for the affected bike. This has been fixed so that component wear is always kept up to date after any activity deletion. - [v0.9.9 - February 22, 2026](https://www.componentry.app/changelog/v0.9.9-february-22-2026): 2026-02-22 ## Strava Bike Import from Gear Page Getting started with Componentry is now easier. When you have no bikes added yet, the gear page now offers an "Import from Strava" button alongside the existing "Add Bike" button. Clicking it takes you to the Apps page and automatically opens the Strava bike import sheet if your Strava account is already connected, so you can import your bikes in just a couple of clicks. ## Bug Fixes - Fixed an issue where removing a bike would fail if it had components attached to it. ## Optional - [Features](https://www.componentry.app/features): Complete overview of Componentry's capabilities - [Pricing](https://www.componentry.app/pricing): Subscription plans and pricing - [Contact](https://www.componentry.app/contact): Get in touch with questions - [Privacy Policy](https://www.componentry.app/privacy-policy): Data handling and privacy - [Terms of Service](https://www.componentry.app/terms-of-service): Service terms