Bike Fit Calculator v2.1 - Frame Database

Bike Fit Calculator v2.1

Professional bike fitting tool for frame geometry analysis and customer recommendations

Refit Existing Bike

📏 Measure current setup → 🎯 Establish new target position → 🔧 Calculate changes needed on the same bike

Step 1: Current Setup (Pre-Fit Measurements)

Measure the rider's current handlebar position and cockpit setup

Horizontal reach to bar center
Vertical stack to bar center

Current Cockpit Setup

Default: 72° (typical road bike)
Height of stem body

Current Handlebar

Horizontal distance from bar center to hood contact point

Step 2: New Target Position (Post-Fit)

After fitting, enter the new target handlebar position

New reach to bar center
New stack to bar center

New Handlebar (if changing)

Leave blank if keeping same handlebar

Frame Geometry

Stem Setup

Client Information

💾 Your target fit data will be automatically saved with this name

Load Previous Fit Data

Search for existing customer fit data

Don't see the customer?

Simply enter their name above and fill in their target position. Data will be saved automatically.

Target Handlebar Position

Target Saddle Position (Optional)

Enter your target saddle position to pre-fill the saddle calculator in frame comparison

Assumed Stem Setup

💡 - Calculates optimal starting stem length and spacer stack based on average bike geometry

Filters

Road
Gravel
All-Road

💡 Click to toggle types on/off. At least one must be selected.

💡 Click to toggle brands. Leave all selected to show all brands.

💡 Enable filters to show only bikes within your tolerance. Total Δ = √(HX²+HY²)

Quick Paste from Clipboard

Enter the bike details once, then paste geometry data for all sizes.

Bike Information (applies to all sizes)

Import from CSV File

Upload a CSV file with bike geometry data. The CSV should have the following columns: Brand, Model, Size, Type, Stack, Reach, HeadAngle
Optional: Year, SeatTubeAngle, TireClearance, BBDrop, Trail

📁

Drop CSV file here or click to browse

Supported format: CSV with headers

CSV Format Example:
Brand,Model,Size,Type,Year,Stack,Reach,HeadAngle,SeatTubeAngle,TireClearance,BBDrop,Trail,Standover,URL
Specialized,Roubaix SL8,56,Endurance,2023,605,389,73.0,73.5,35,78,55.7,813,https://www.specialized.com/roubaix
Trek,Emonda SLR,56,Road,2024,563,389,73.0,74.0,32,70,57,805,https://www.trekbikes.com/emonda

Required: Brand, Model, Size, Type, Stack, Reach, HeadAngle
Optional: Year, SeatTubeAngle, TireClearance, BBDrop, Trail, Standover, URL (leave blank if unknown)
Types: Gravel, Road, All-Road

Export Current Database

Copy your bike database as CSV text. Paste into Excel or a text file and save as .csv

Database Stats:

Total Bikes
0
Brands
0
Models
0
Sync Status
☁️

Customer Fit Database

Save and manage customer fit sessions - track multiple fits per customer over time

📥 Bulk Import Customer Fits

Import multiple customer fit sessions from JSON file (use customer_fit_importer.html to convert CSV to JSON)

➕ Add New Fit Session

Search Customer Fit History

Saved Fit Sessions

View and reload past customer fit reports

📝 Version Info & Changelog

Version 2.1
Released: February 7, 2025
☁️ Cloud Sync Enabled

🆕 What's New

  • Supabase Cloud Sync: Database now syncs across all devices automatically
  • Tire Clearance Field: Added to bike information form (applies to all sizes)
  • Multi-Device Access: Access your database from anywhere with the same credentials
  • Auto-Backup: Data automatically backed up to cloud
  • Improved ID Generation: Fixed special character handling (e.g., "No. 22")

Previous Updates (v2.0)

  • Complete bike setup report generator
  • Saddle position calculator with setback warnings
  • Bike type categories: Gravel, Road, All-Road
  • Standover height tracking
  • Fully editable import preview table
  • BikeInsights clipboard paste support
💡 Pro Tip: To ensure you always have the latest version, check the version number in the header (v2.1 - Feb 7, 2025). If you see an older version, do a hard refresh: Ctrl+Shift+R (Windows/Linux) or Cmd+Shift+R (Mac)