Book a ServiceCleaners, Degreasers and Lubrication

Header Image
. We can do full custom-builds at a higher rental rate.
We are happy to keep your belongings safe, including suitcases etc. whilst you are out in one of our rental bikes.
  • From what time can I pick up my hire bike?

\u003c\/span\u003e\u003cspan class=\"_fadeIn_m1hgl_8\"\u003ecome \u003c\/span\u003e\u003cspan class=\"_fadeIn_m1hgl_8\"\u003ewith \u003c\/span\u003e\u003cstrong data-end=\"551\" data-start=\"536\"\u003e\u003cspan class=\"_fadeIn_m1hgl_8\"\u003einner \u003c\/span\u003e\u003cspan class=\"_fadeIn_m1hgl_8\"\u003etubes\u003c\/span\u003e\u003c\/strong\u003e\u003cspan class=\"_fadeIn_m1hgl_8\"\u003e, \u003c\/span\u003e\u003cstrong data-end=\"568\" data-start=\"553\"\u003e\u003cspan class=\"_fadeIn_m1hgl_8\"\u003etyre \u003c\/span\u003e\u003cspan class=\"_fadeIn_m1hgl_8\"\u003elevers\u003c\/span\u003e\u003c\/strong\u003e\u003cspan class=\"_fadeIn_m1hgl_8\"\u003e, \u003c\/span\u003e\u003cspan class=\"_fadeIn_m1hgl_8\"\u003eand \u003c\/span\u003e\u003cspan class=\"_fadeIn_m1hgl_8\"\u003ea \u003c\/span\u003e\u003cstrong data-end=\"589\" data-start=\"576\"\u003e\u003cspan class=\"_fadeIn_m1hgl_8\"\u003emultitool\u003c\/span\u003e\u003c\/strong\u003e\u003cspan class=\"_fadeIn_m1hgl_8\"\u003e, \u003c\/span\u003e\u003cspan
n_m1hgl_8\"\u003eyou're \u003c\/span\u003e\u003cspan class=\"_fadeIn_m1hgl_8\"\u003eheading \u003c\/span\u003e\u003cspan class=\"_fadeIn_m1hgl_8\"\u003eoff \u003c\/span\u003e\u003cspan class=\"_fadeIn_m1hgl_8\"\u003efor \u003c\/span\u003e\u003cspan class=\"_fadeIn_m1hgl_8\"\u003ea \u003c\/span\u003e\u003cspan class=\"_fadeIn_m1hgl_8\"\u003eweekend \u003c\/span\u003e\u003cspan class=\"_fadeIn_m1hgl_8\"\u003eescape \u003c\/span\u003e\u003cspan class=\"_fadeIn_m1hgl_8\"\u003eor \u003c\/span\u003e\u003cspan class=\"_fadeIn_m1hgl_8\"\u003ea \u003c\/span\u003e\u003cspan class=\"_fadeIn_m1hgl_8\"\u003emulti-\u003c\/span\u003e\u003cspan class=\"_fadeIn_m1hgl_8\"\u003eday \u003c\/span\u003e\u003cspan class=\"_fadeIn_m1hgl_8\"\u003eexpedition, \u003c\/span\u003e\u003cspan class=\"_fadeIn_m1hgl_8\"\u003ewe've \u003c\/span\u003e\u003cspan class=\"_fadeIn_m1hgl_8\"\u003egot \u003c\/span\u003e\u003cspan class=\"_fadeIn_m1hgl_8\"\u003eyour \u003c\/span\u003e\u003cspan class=\"_fadeIn_m1hgl_8\"\u003eback. \u003c\/span\u003e\873\" data-start=\"688\"\u003e \u003c\/p\u003e\n\u003cp data-end=\"873\" data-start=\"688\"\u003e\u003cspan class=\"_fadeIn_m1hgl_8\"\u003e\u003cspan\u003eProjektRide Bike Hire Edinburgh.\u003c\/span\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cul\u003e\u003c\/ul\u003e\n\u003cp\u003e \u003c\/p\u003e"}; window._RestockRocketConfig.variantsInventoryPolicy = {55470310752639 : "deny",}; window._RestockRocketConfig.variantsInventoryQuantity = {55470310752639 : parseInt("-106"),}; window._RestockRocketConfig.variantsPreorderCount = {55470310752639 : parseInt(""),}; window._RestockRocketConfig.variantsPreorderCountForMarket = {55470310752639 : null,}; window._RestockRocketConfig.variantsPreorderMaxCount = {55470310752639 : parseInt(""),}; window._RestockRocketConfig.variantsPreorderMaxCountForMarket = {55470310752639 : null,}; window._RestockRocketConfig.variantsShippingText = {55470310752639 : "",}; window._RestockRocketConfig.variantsShippingTextForMarket = {55470310752639 : null 0) { console.debug(`STOQ - Client clock appears ahead of server by ${Math.abs(Math.round(liquidCacheAge / 60))} minutes, assuming cache fresh`); window._RestockRocketConfig.isLiquidCacheFresh = true; } else if (liquidCacheAge
= LIQUID_CACHE_MAX_AGE) { console.debug(`STOQ - Liquid cache is fresh (${Math.round(liquidCacheAge / 60)} minutes old)`); window._RestockRocketConfig.isLiquidCacheFresh = true; } else { console.debug(`STOQ - Liquid cache is stale (${Math.round(liquidCacheAge / 60)} minutes old, max ${Math.round(LIQUID_CACHE_MAX_AGE / 60)} minutes)`); window._RestockRocketConfig.isLiquidCacheFresh = false; } } function checkSettingsExpiry(settings) { try { if (!settings || !settings.updated_at) { console.debug('STOQ - Invalid settings data structure'); return null; } if (!settings.cache) { console.debug('STOQ - settings caching disabled'); return null; } // Check if translations are enabled but missing from cache // This handles the backfill period where DB has translations but metafield doesn't if (settings.multi_language_enabled) { if (!settings.translations) { // Translations enabled but no age = Date.now() - updatedAt.getTime(); if (age ]; if (value !== null && value !== undefined && value !== '') { settings[key] = value; } }); } else { console.debug('STOQ - No translated fields found for locale:', normalizedLocale); } delete settings.translations; return settings; } catch (e) { console.debug('STOQ - error applying translations:', e); return settings; } } // Setup event listener for cart selling plan updates // This must be called before any scripts are loaded to avoid race conditions function setupCartSellingPlanUpdater(settings) { // Setup listener regardless - updateCartSellingPlans has its own guards // This ensures cleanup happens even when preorders are disabled globally // Listen for stoq:inventory-data-loaded event dispatched by api.js window.addEventListener('stoq:inventory-data-loaded', function(event) { console.debug('STOQ - Inventory data loaded, updating cart selling plans'); if (window._RestockRocket
hopify.shop, 'ngrok-skip-browser-warning': 'skip' }; if (window.Shopify?.theme?.role === 'main') { headers['X-Shopify-Theme-Schema-Name'] = window.Shopify.theme.schema_name; headers['X-Shopify-Theme-Schema-Version'] = window.Shopify.theme.schema_version; headers['X-Shopify-Theme-Store-Id'] = window.Shopify.theme.theme_store_id; } fetch( `${window._RestockRocketConfig.host}/api/v1/setting.json?translation_locale=${window._RestockRocketConfig.normalizedLocale}`, { headers } ) .then(function(response) { if (!response.ok) { throw new Error('Network response was not ok'); } return response.json(); }) .then(function(settings) { initializeScripts(settings); }) .catch(function(error) { // If request failed and we have cached settings (even if expired), use them as fallback if (cachedSettings) { console.debug('STOQ - using expired cached settings as fallback'); initializeScripts(cacfig.scriptUrlCollection); } else if(window._RestockRocketConfig.pageType === 'index' && (settings.show_button_on_index || settings.preorder_index_enabled)) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else if(window._RestockRocketConfig.pageType === 'search' && (settings.show_button_on_search || settings.preorder_search_enabled)) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else if(window._RestockRocketConfig.pageType === 'page' && (settings.show_button_on_page || settings.preorder_page_enabled)) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else if(window._RestockRocketConfig.pageType === 'product') { createRestockRocketScript(window._RestockRocketConfig.scriptUrlProduct); } else if(hijackIntegration) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else { console.debug(`STOQ - no scripts enab
Juan Borges Designs<
.<
<

Services  

Workshop
Workshop Prices

Book a Service

Track Your ServiceOtherCustom BuildsInsure Your BikeParts & Components   Brandsimg src="//projektride.co.uk/cdn/shop/files/MAG_UNI-Selector_600x600_2207-173_450x_4ac5ee3e-aace-437d-b93d-a22f53b550b5_2048x2048.webp?v=1760628307" alt="Hire - Universal Phone mount" class="mfp-zoom-in-cur" id="68175710191999"> Hope img src="//projektride.co.uk/cdn/shop/files/498400836fc673f5551e54cb3852015cd7f38eac-1027x768_small.avif?v=1760628307" alt="Hire - Universal Phone mount" class="mfp-zoom-in-cur" id="68152395989375"> Cockpit Handlebars Grips & Bar-Tape BrakesComplete BrakesBrake RotorsBrake PadsBrake Spares <<<
Cycle To Work Schemes
Enve
Stems
Headsets
<

<

<<<<<<<<<<<< <See More<!settings.multi_language_enabled) { return settings; } if (!settings.translations) { console.debug('STOQ - No translations found, skipping translation'); return settings; } const normalizedLocale = window._RestockRocketConfig.normalizedLocale; const translations = settings.translations; if (!normalizedLocale) { // No matching locale has translations; drop payload to save memory console.debug('STOQ - No matching locale for translations. Available:', Object.keys(translations || {})); delete settings.translations; return settings; } console.debug(`STOQ - Applying translations for normalized locale: ${normalizedLocale} (original: ${window._RestockRocketConfig.locale})`); const translatedFields = translations[normalizedLocale]; if (translatedFields && typeof translatedFields === 'object') { Object.keys(translatedFields).forEach(function(key) { const value = translatedFields[keyhedSettings); } else { console.error('STOQ - failed to load settings:', error); } }) .catch(function(e) { console.error(e) }) } function initializeScripts(settings) { settings = applyTranslations(settings); window._RestockRocketConfig.settings = settings; console.debug(`STOQ - settings configured for ${window._RestockRocketConfig.pageType}`); // Setup cart selling plan updater BEFORE loading any scripts to avoid race conditions setupCartSellingPlanUpdater(settings); if(settings.enable_app) { const hijackIntegration = window._RestockRocketConfig.integrations.find(function(integration) { return integration.type === 'hijack' && integration.enabled && integration.page_types.includes(window._RestockRocketConfig.pageType); }) if(window._RestockRocketConfig.pageType === 'collection' && (settings.show_button_on_collection || settings.preorder_collection_enabled)) { createRestockRocketScript(window._RestockRocketConled for ${window._RestockRocketConfig.pageType}`); } // Dispatch custom event when app is loaded // Cart selling plan updates will be triggered by stoq:inventory-data-loaded event const appLoadedEvent = new CustomEvent('stoq:loaded', { detail: { pageType: window._RestockRocketConfig.pageType, enabled: settings.enable_app, settings: settings, preorderEnabled: settings.preorder_enabled } }); console.debug('STOQ - dispatching app loaded event'); window.dispatchEvent(appLoadedEvent); } } .restock-rocket-button,.restock-rocket-button-float{opacity:1!important;border:none!important;cursor:pointer!important;background-image:none!important;box-shadow:none!important;padding:15px 20px;font-size:16px;width:100%;font-family:inherit}@font-face{font-family:OpenSans;font-weight:200;src:url(https://d382hokyqag45a.cloudfront.net/assets/OpenSans-Light.woff)}@font-face{font-family:OpenSans;font-weight:300;src:url(https://d382hokyqag45a.cloudfront.net/assets/OpenSans-Regular.woff)}@font-face{font-family:OpenSans;font-weight:600;src:url(https://d382hokyqag45a.cloudfront.net/assets/OpenSans-SemiBold.woff)}.restock-rocket-button-container{position:relative;z-index:1;width:100%}.restock-rocket-button-container-float-right{position:fixed;z-index:123123;top:calc(50% - 200px);right:0;transform:rotate(270deg);transform-origin:bottom right}.restock-rocket-button-container-float-left{position:fixed;z-index:123123;top:calc(50% - 200px);left:40px;transform:rotate(90deg);transform-origin:top left}.restock-rocket-button-container-float-left:hover,.restock-rocket-button-container-float-right:hover,.restock-rocket-button-container:hover,.restock-rocket-button-float:hover,.restock-rocket-button:hover{opacity:.8}.restock-rocket-button{min-height:50px;margin-top:10px;margin-bottom:10px}.restock-rocket-button-collection{position:relative;font-size:13px;line-height:1;padding:7px;height:auto;z-index:3}.restock-rocket-wrapper{background-color:rgba(0,0,0,.5);z-index:123123123;width:100%;height:100%;overflow:auto;position:fixed;right:0;top:0;transition-property:all;transition-duration:.3s;display:flex;flex-direction:column;justify-content:center;}.restock-rocket-wrapper-inline{width:100%;height:100%;margin-top:20px}.restock-rocket-preorder-description{padding:10px 15px;margin-top:20px;display:flex;flex-direction:column;gap:10px;}.preorder-description-details{margin-bottom:0;display:flex;flex-direction:column;gap:10px;}.preorder-detail-item{display:flex;flex-direction:row;justify-content:start;gap:8px;align-items:center;}.restock-rocket-payment-widget{border:1px solid #ebebeb;margin-bottom:20px;}.restock-rocket-payment-option{display:flex;flex-wrap:wrap;align-items:center;gap:5px;padding:15px 20px;}.restock-rocket-payment-option:not(:last-child){border-bottom:1px solid #ebebeb;}.restock-rocket-payment-input-container{flex:1 1 auto;min-width:0}.restock-rocket-preorder-discount-badge{background:#ebebeb;height:25px;line-height:25px;padding:0 15px;border-radius:25px;font-size:0.8rem;flex:0 0 auto}.restock-rocket-payment-input{margin-right:10px;margin-top:-3px;vertical-align:middle;margin-left:0;accent-color:#202223}.restock-rocket-payment-description{margin-top:4px;flex:1 1 100%}.restock-rocket-preorder-badge{font-size:13px;line-height:1;padding:5px 13px 6px;border-radius:40px;height:auto;border:none;width:auto;z-index:2;margin:0;background:0 0}.preorder-badge-collection{position:absolute;top:10px;right:10px}.preorder-badge-product{margin-left:10px}.restock-rocket-price-strike{text-decoration:line-through;color: #666666;}.restock-rocket-discounted-price{margin-left:10px;}.restock-rocket-acknowledgement-checkbox{margin-bottom:12px;display:flex;align-items:flex-start;gap:8px;font-size:14px;line-height: 1.5;}.restock-rocket-acknowledge-checkbox-input{width:18px;height:18px;margin-top:2px;cursor:pointer;flex-shrink:0;accent-color: #0d0d0d;}.restock-rocket-acknowledge-checkbox-label{flex:1;cursor:pointer;}.restock-rocket-preorder-countdown-timer{display:flex;flex-direction:column;align-items:center;padding:16px;margin:8px 0;font-family:inherit;}.restock-rocket-preorder-countdown-timer .countdown-header{font-size:16px;margin-bottom:6px;text-align:center}.restock-rocket-preorder-countdown-timer .countdown-units{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.restock-rocket-preorder-countdown-timer .countdown-unit{display:flex;flex-direction:column;align-items:center;gap:6px}.restock-rocket-preorder-countdown-timer .countdown-box{min-width:40px;padding:10px 6px;text-align:center;font-size:20px;line-height:1}.restock-rocket-preorder-countdown-timer .countdown-label{font-size:14px;font-weight:500;text-align:center;text-transform:capitalize;opacity:.7}@media (max-width:768px){.restock-rocket-preorder-countdown-timer{padding:14px}.restock-rocket-preorder-countdown-timer .countdown-box{min-width:55px;padding:14px 10px;font-size:26px}.restock-rocket-preorder-countdown-timer .countdown-label{font-size:11px}}@media (max-width:480px){.restock-rocket-preorder-countdown-timer{padding:12px}.restock-rocket-preorder-countdown-timer .countdown-units{width:100%;gap:10px}.restock-rocket-preorder-countdown-timer .countdown-box{width:100%;min-width:50px;padding:12px 8px;font-size:24px}.restock-rocket-preorder-countdown-timer .countdown-label{font-size:10px}}.restock-rocket-toast{position:fixed;cursor:pointer;background:#fff;border:0;min-width:40px;min-height:40px;box-shadow:0 0 15px rgba(0,0,0,.1)!important;z-index:622004;padding:20px 30px;font-family:inherit;font-size:inherit;color:#000;display:flex;justify-content:center;align-items:center}.restock-rocket-toast a{text-decoration:none;font-weight:700;color:#000}.restock-rocket-toast .dismiss{margin-left:15px;z-index:1;font-size:20px;}.restock-rocket-toast-top{top:60px}.restock-rocket-toast-bottom{bottom:75px}.restock-rocket-toast-left,.restock-rocket-toast-right{-webkit-animation:.5s forwards slide;animation:.5s forwards slide}.restock-rocket-toast-left{left:0;transform:translateX(-100%);-webkit-transform:translateX(-100%);border-radius:0 10px 10px 0}.restock-rocket-toast-left.slide-out{-webkit-animation:.5s forwards slide-out-left;animation:.5s forwards slide-out-left}.restock-rocket-toast-right{right:0;transform:translateX(100%);-webkit-transform:translateX(100%);border-radius:10px 0 0 10px}.restock-rocket-toast-right.slide-out{-webkit-animation:.5s forwards slide-out-right;animation:.5s forwards slide-out-right}@keyframes slide{100%{transform:translateX(0)}}@-webkit-keyframes slide{100%{-webkit-transform:translateX(0)}}@keyframes slide-out-left{0%{transform:translateX(0)}100%{transform:translateX(-100%)}}@-webkit-keyframes slide-out-left{0%{-webkit-transform:translateX(0)}100%{-webkit-transform:translateX(-100%)}}@keyframes slide-out-right{0%{transform:translateX(0)}100%{transform:translateX(100%)}}@-webkit-keyframes slide-out-right{0%{-webkit-transform:translateX(0)}100%{-webkit-transform:translateX(100%)}}.restock-rocket-preorder-progress-bar{padding:12px 15px;margin-bottom:20px;font-family:inherit;}.restock-rocket-preorder-progress-bar .preorder-progress-text{margin-bottom:8px;}.restock-rocket-preorder-progress-bar .preorder-progress-bar-row{display:flex;align-items:center;gap:10px;}.restock-rocket-preorder-progress-bar .preorder-progress-track{flex:1;height:12px;overflow:hidden;}.restock-rocket-preorder-progress-bar .preorder-progress-fill{display:block;height:100%;min-width:2px;transition:width 0.3s ease;}.restock-rocket-preorder-progress-bar .preorder-progress-percentage{font-weight:500;min-width:35px;text-align:right;} < Tubeless<ty":null,"preorder_max_quantity":null,"countdown_timer_enabled":false,"countdown_timer_style":"text","countdown_timer_text_color":"#000000","countdown_timer_background_color":"#f5f5f5","countdown_timer_border_radius":8,"countdown_timer_format":"DHMS","countdown_timer_use_schedule_dates":true,"countdown_timer_custom_start_date":null,"countdown_timer_custom_end_date":null,"countdown_timer_starts_text":null,"countdown_timer_ends_text":null,"schedule_offer":false,"schedule_start_date":null,"schedule_end_date":null,"updated_at":"2025-08-19T10:05:43.042Z","allow_mixed_cart":true,"mixed_cart_error_message":"Preorders must be purchased separately from regular items. Please complete your current order first, or clear your cart to continue.","b2b_enabled":true,"preorder_progress_bar_enabled":false,"preorder_progress_bar_text":"{{ sold }} of {{ total }} claimed","preorder_progress_bar_fill_color":"#000000","preorder_progress_bar_background_color":"#e5e5e5","preorder_progress_bar_text_color":"#FFFFFF","preorder_progress_<
Custom Builds<
< <
<
&& window._RestockRocket.updateCartSellingPlans) { window._RestockRocket.updateCartSellingPlans() .then(hasUpdates => { if (hasUpdates) { console.debug('STOQ - cart selling plans updated successfully'); } else { console.debug('STOQ - no cart selling plan updates needed'); } }) .catch(error => { console.error('STOQ - error updating cart selling plans:', error); }); } }); } // First try to get settings from metafields with expiry check const cachedSettings = window._RestockRocketConfig.cachedSettings; const validCachedSettings = cachedSettings ? checkSettingsExpiry(cachedSettings) : null; if (validCachedSettings) { console.debug('STOQ - using cached settings'); initializeScripts(validCachedSettings); } else { console.debug('STOQ - fetching fresh settings'); const headers = { 'X-Shopify-Shop-Domain': window._RestockRocketConfig.shop || window.S
< Tubes
Saddles<antity_limit_text":"{{ quantity }} units available for preorder","preorder_button_description_show_shipping":true,"preorder_button_description_icons_enabled":true,"preorder_shipping_text":"Shipping: {{ date }}","shipping_applies_to_all_products":true,"shipping_text":"Estimated to ship within 2 months","payment_type":"full","billing_checkout_charge_type":"percentage","billing_checkout_charge_amount":null,"billing_checkout_charge_percentage":"100.0","pricing_type":"no_discount","pricing_amount":null,"pricing_percentage":null,"discount_text":"Save {{ discount }}","billing_title":"Full payment","billing_description":null,"enable_billing_widget":false,"inventory_provider":"stoq","preorder_badge_enabled":false,"preorder_badge_text":"Preorder","preorder_badge_text_color":"#FFFFFF","preorder_badge_background_color":"#000000","preorder_discounted_price_enabled":null,"payment_line_item_property_enabled":false,"shipping_line_item_property_enabled":true,"custom_line_item_property_text":null,"preorder_button_text_color":"
<
KONA Geometry

<

SingularEnigmaFrogSurlyEarly Rider Components Custom Builds Custom Builds for sale Wheels Custom Build Inspiration Complete Wheels     Services   Workshop ProjektRide Merchandise Workshop Prices Helmets Track Your Service Clothing Cycle To Work SchemesEssentials
Kona UTO (ex Eovolt)
Second-Hand Bikes Shop All Second-Hand76-84cm Medium, Large E-bike Batteries and chargers Medium, Large Medium, Large
5'11"-6'2" 180-188cm  32"-35" Tubeless 81-89cm Large, XL Tools & Maintenance Large, XL Large, XL Clothing and Protection
6'1"-6'5" 185-196cmBook a Service 33"-36" Gloves84-91cm Large, XL Large, XLOtherSocks Large, XLCustom Builds
Cleaners, Degreasers and Lubrication

Insure Your Bike
Accessories

Thanks for considering ProjektRide for your next purchase. All bikes are fully assembled and test rode before leaving our bike shop in Edinburgh.  Please allow 5-7 days for bicycle delivery although we aim to post bikes out the same day.

If any purchases are to be made using any cycle to work schemes, please either pop into the shop or get in touch via email/phone to get the ball rolling. If you are not 100% sure with bike sizing, please feel free to contact us to double check. Maintenance

Parts & Components  

All bike sales include a free running in service after 6-10 weeks.

Sell Your Bike
Brands
Handlebars

FAQ

Questions and answers

Essentials
Cleaners, Degreasers and Lubrication
  • Accessories Sell Your Bike
  • Contact Us Open search bar
<
Size
>