ockRocketConfig.scriptUrlCollection = 'https://cdn.shopify.com/extensions/019b1405-52e0-7e89-a6c1-1ac7fea6dd8f/restock-rocket-shopify-410/assets/restockrocket-collection.js' window._RestockRocketConfig.scriptHost = window._RestockRocketConfig.scriptUrlProduct.substring(0, window._RestockRocketConfig.scriptUrlProduct.lastIndexOf('/') + 1) window._RestockRocketConfig.host = 'https://app.restockrocket.io' const SETTINGS_CACHE_DURATION = 15 * 60 * 1000; // 15 minutes in milliseconds 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 (!settiEarly Rider
mat in settings'); return null; } const age = Date.now() - updatedAt.getTime(); if (age

This site has limited support for your browser. We recommend switching to Edge, Chrome, Safari, or Firefox. SETTINGS_CACHE_DURATION) { console.debug('STOQ - settings changed recently, skipping cache'); return null; } return settings; } catch (error) { console.debug('STOQ - Error checking settings cache:', error); return null; } } function createRestockRocketContainer() { const restockRocketContainer = document.createElement('div'); restockRocketContainer.id = 'restock-rocket'; document.body.appendChild(restockRocketContainer); } function createRestockRocketScript(scriptUrl) { const restockRocketScriptElement = document.createElement('script'); restockRocketScriptElement.setAttribute('defer', 'defer'); restockRocketScriptElement.src = scriptUrl; document.body.appendChild(restockRocketScriptElement); } createRestockRocketContainer() console.debug('STOQ - extension activated') function applyTranslations(settings) { try { // Skip translation logic entirely if multi-language is not enabled if (!settings ||

]; 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; } } // 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._RestockRocke
initializeScripts(cachedSettings); } 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}`); 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._RestockRocketConfig.scriptUrlCollection); } else if(window._RestockRocketConfig.pageType === 'index' && (settings.show_bu
lor: #ccbebe; }Collections
/
This site has limited support for your browser. We recommend switching to Edge, Chrome, Safari, or Firefox.Custom Builds

Hire
Featured
Bikes
Header Image
CockpitRider Care
Gears & Drivetrain
Shop All New BikesComponents
Hybrid / City Bikes Complete Wheels
Electric Bikes
Kids Bikes Submit your search request

We don’t do 'bikes for the masses', our key objective is to get you the correct bike for your unique riding profile. <

li class="result"> Maintenance<div class="result__image" data-aspectratio="{{ it.product.image.aspectRatio }}" data-product-image> Frog <div class="product__tag{{ it.product.badgeClasses }}"> Kona <

span>{{ it.product.badgeText | safe }}Quality Control Tubeless

>Every bike that passes through our business receives the upmost care and attention, ensuring safety and reliability to every client.

> {{/if}} Surly > Tools & Maintenance>
<

<

Helmets<

recommended these guys by a passing cyclist when I had an embarrassing wardrobe+ bike mishap on my way home from work. Once that was sorted, they also spotted that my rear tyre was ripped and likely to catastrophically fail on me if I wasn't careful. They were speedy, kind and generous with their time and advice. Wouldn't hesitate to recommend themCustom Build Inspiration

Lucy Gaunt
Contact Us

★★★★★

We rented two gravel bikes to explore Scotland for nearly three weeks, and I couldn’t have been happier with the experience. The bikes came fully equipped with everything we could possibly need—repair kit, pannier bags, lock, spare tubes, and more. The team was incredibly welcoming and friendly, making the whole process seamless. There’s honestly nothing-Services

Open search bar
See More

negative I could say; everything exceeded expectations. I can wholeheartedly recommend ProjectRide for anyone looking to rent a bike, and their many 5-star reviews are absolutely well deserved.Reply BUY

Matias Hugentobler My Account
SELL
Workshop
See MoreRIDE CONFIDENT

★★★★★

Absolutely fantastic bike shop. Always willing to help you out when you’re having a problem. Bought many bike components from them over the years and every time they go out of their way to fit them! Open cart

Would recommend wholeheartedly for any biking needs!

Max McMullonWorkshop Prices
#ProductTemplate--template--15326745395426__main { background: #ffffff; } .shop-pay-terms { --payment-terms-background-color: #ffffff }
Book a Service

I have taken several bikes here for servicing and repairs and been consistently impressed by their friendly and helpful advice, and the quality of their repair works. They seem to give a very honest opinion on whether work is required or not.

Robert Moreton
Track Your Service

See MoreNicholas Paul Franks Yeti Cycles SB140 T-Series 29" Frame
£4,399.00
Loading moreRepairs & Servicing - ProjektRide, Edinburgh Bicycle Workshop

★★★★★Handlebars.    

.

Christine Thompsonlor: #ccbebe; } .
Stems
Colour
This site has limited support for your browser. We recommend switching to Edge, Chrome, Safari, or Firefox.

★★★★★ Grips & Bar-Tape

Brilliant service. Andy listened to exactly what I needed and very kindly brought both bikes to my house for me to test ride, so helpful. Would definitely recommend.

Jill Kerr
Headsetsli class="result">
Close div class="result__image" data-aspectratio="{{ it.product.image.aspectRatio }}" data-product-image>
a href="{{ it.product.url }}" class="result__image-link" aria-label='{{ it.product.title }}'> Green

★★★★★ div class="result__image-img product__media lazyload fade-in" data-bgset="{{ it.product.image.thumb }}" data-aspectratio="{{ it.product.image.aspectRatio }}" data-sizes="auto">

I can highly recommended this place. Andy was very helpful and knowledgeable when I came to him looking for my next bike.HomeBrakes<
Moreover, he ensured the bike was in its best condition before handing over. Thanks a million! See More<

Laura Grieve
Hire
Complete Brakes

★★★★★Bikes

Top quality bike, top quality service - these are decent guys doing a great job. Thoroughly impressed with their knowledge and service. Recommend to anyone buying a bike - talk to them and they give you good advice. <

Mike SmithSee MoreBrake Rotors<

Brake Pads


Frames

Shop by Brand
See More

Gloria

Trek

Amflow
Yeti
1
Entry Level Service
Comprehensive safety
Increase quantity
Sold Out
r Bike
Parts & Components
This site has limited support for your browser. We recommend switching to Edge, Chrome, Safari, or Firefox.