We also have a physical store, if you are local please pop in -
ProjektRide Bike Shop Edinburgh

82 Newington Road, EH91QN, Edinburgh.li class="result">

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 }}'>
<
STEM
Kona Control <
SEATPOST

Header Image

:true,"variant_ids":[55569933140351,55569712382335,55569712415103,55569712480639,55569933173119,55570017616255,55569933074815,55570017550719,55569712447871,55569933107583,55570017583487],"product_variants_source":"custom","name":"Preorder","preorder_button_text":"Preorder","preorder_button_description":"Note: This is a preorder. Items will ship based on the estimated delivery date.","preorder_button_description_background_color":"#ebebeb","preorder_button_description_text_color":"#000000","preorder_button_description_border_radius":10,"preorder_button_description_show_quantity_limit":false,"preorder_button_description_quantity_limit_suffix":" units available for preorder","preorder_button_description_shipping_text_prefix":"Shipping: ","delivery_exact_time":null,"delivery_after_n_intervals":null,"delivery_at":"2025-07-26T09:20:18.169Z","delivery_type":"asap","quantity_limit_text":"{{ quantity }} units available for preorder","preorder_button_description_show_shipping":true,"preorder_button_description_icons_en

rket_ids":[],"use_shopify_selling_plan":true,"use_simplified_shipping_text":false,"translations":{},"payment_options":[{"billing_type":"no_remaining_balance","billing_checkout_charge_type":"percentage","billing_checkout_charge_amount":null,"billing_checkout_charge_percentage":"100.0","billing_at":"2025-07-26T09:20:38.472Z","billing_after_n_intervals":7,"billing_after_interval_type":"day","pricing_type":"no_discount","pricing_amount":null,"pricing_percentage":null,"billing_title":"Full payment","billing_description":null,"discount_text":"Save {{ discount }}","shopify_selling_plan_id":713071886719,"is_default":true,"type":"full","translations":{}}],"require_preorder_acknowledgement":false,"preorder_acknowledgement_text":"I acknowledge and agree to the preorder terms and conditions for this product.","preorder_min_quantity":null,"preorder_max_quantity":null,"countdown_timer_enabled":false,"countdown_timer_insert_selector":null,"countdown_timer_insert_selector_type":"afterend","countdown_timer_style":"text","coun

1362,"title":"Kona Ecoco","handle":"kona-ecoco","description":"\u003cp\u003eThe Ecoco has been spotted alongside trendsetters all over the world. It makes running errands fun. It’s the perfect boardwalk beach cruiser and it doesn’t have to worry about fitting into a bathing suit. Its eye-catching paint on its low-slung step-through frame is a showstopper, and its Shimano E6100 motor ensures that you’ll make it to the top of that big hill in time to watch every single sunset. Dependable shifting and disc brakes will keep all the moving parts running smoothly. It comes with fenders, front and rear lights, and a kickstand. The only thing needed, is you!\u003c\/p\u003e\n\u003csection id=\"shopify-section-template--15666339381292__94b2a615-ab63-42b9-ba46-55862e02cd3e\" class=\"shopify-section shopify-section--custom-liquid\" data-mce-fragment=\"1\"\u003e\n\u003cdiv class=\"section section-blends section-full\" data-mce-fragment=\"1\"\u003e\n\u003ca id=\"specs\" data-mce-fragment=\"1\"\u003e\u003c\/a\u003e\

\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003eS, M, L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eREAR SHOCK\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003en\/a\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"altercolor\" data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eFORK\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003eKona Project Two Aluminum Disc\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eCRANKARMS\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003eShimano E6100\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"altercolor\" data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eCHAINRINGS\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e38t\u003c\/td\u003e\n\u003c\/t
DE\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003eShimano E-Bike Chain Guard\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"altercolor\" data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eF\/D\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003en\/a\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eR\/D\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003eShimano Alivio\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"altercolor\" data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eSHIFTERS\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003eShimano Acera\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eBRAKE CALIPERS\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003eShimano MT410\u003

class=\"altercolor\" data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eHANDLEBAR\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003eKona Handplant\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eSTEM\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003eKona Control\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"altercolor\" data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eSEATPOST\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003eKona Commuter 27.2mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eSEAT CLAMP\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003eKona Clamp\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"altercolor\" data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragm
fragment=\"1\"\u003eStainless 14g\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eRIMS\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003eWTB SX19\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"altercolor\" data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eFRONT TIRE\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003eWTB Horizon Comp Puncture Protect 650x47c\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eREAR TIRE\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003eWTB Horizon Comp Puncture Protect 650x47c\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"altercolor\" data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eDRIVEUNIT\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003eShimano E6100 20MPH\u00See More
label\" data-mce-fragment=\"1\"\u003ePAINT COLOUR\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003eMatte Bloodstone w\/ Charcoal \u0026amp; Bone Decals\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"altercolor\" data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eEXTRAS\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003eFenders, Front \u0026amp; Rear Light, Kickstand\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"specs_notice\" data-mce-fragment=\"1\"\u003eAll specifications are subject to change without notice\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv id=\"kro_geo\" data-mce-fragment=\"1\"\u003e\n\u003ch3 data-mce-fragment=\"1\"\u003e\u003cbr\u003e\u003c\/h3\u003e\n\u003ch3 data-mce-fragment=\"1\"\u003e\u003cbr\u003e\u003c\/h3\u003e\n\u003ch3 data-mce-fragment=\"1\"\u003eGEOMETRY\u003c\/h3\u003e\n\u003cdiv class=\"geowrapper\" data-mce-fragme
ss=\"data\" data-mce-fragment=\"1\"\u003e520\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"geo_numbers\" data-mce-fragment=\"1\"\u003e2\u003c\/td\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eTT LENGTH\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e551\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e596\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e635\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"altercolor\" data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"geo_numbers\" data-mce-fragment=\"1\"\u003e3\u003c\/td\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eREACH\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e397\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e422\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e438\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ct
T ANGLE\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e70.0\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e70.0\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e70.0\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"altercolor\" data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"geo_numbers\" data-mce-fragment=\"1\"\u003e7\u003c\/td\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eHT LENGTH\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e140\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e175\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e215\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"geo_numbers\" data-mce-fragment=\"1\"\u003e8\u003c\/td\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eST ANGLE\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e75.0\u003c\/td\u003e\n\u003ctd class=\"data td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e50\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e50\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e50\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv id=\"geo_diagram\" data-mce-fragment=\"1\"\u003e\u003cimg src=\"https:\/\/www.konaworld.com\/cdn\/shop\/files\/bike_geo_diagram.png?v=3528582685429196360\" alt=\"Bike Geometry\" data-mce-fragment=\"1\" data-mce-src=\"https:\/\/www.konaworld.com\/cdn\/shop\/files\/bike_geo_diagram.png?v=3528582685429196360\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!----\u003e","published_at":"2024-07-04T16:52:33+01:00","created_at":"2024-07-04T16:52:34+01:00","vendor":"Kona","type":"Bicycles","tags":["Ecoco","spo-cs-disabled","spo-default","spo-disabled","spo-notify-me-disabled"],"price":229900,"price_min":22Brands
id":45664042778850,"title":"Large","option1":"Large","option2":null,"option3":null,"sku":"KN23B-ECOC-LG-RE","requires_shipping":true,"taxable":true,"featured_image":null,"available":false,"name":"Kona Ecoco - Large","public_title":"Large","options":["Large"],"price":229900,"weight":0,"compare_at_price":null,"inventory_management":"shopify","barcode":"","requires_selling_plan":false,"selling_plan_allocations":[]}],"images":["\/\/projektride.co.uk\/cdn\/shop\/files\/ecoco_2000x_d7936da2-2715-447e-9c1e-e72b128a13fe.jpg?v=1720108200","\/\/projektride.co.uk\/cdn\/shop\/files\/my23_ecoco_angle_2000x_3f8e6ef1-ccb5-40dc-9a56-e3091ef04d75.jpg?v=1720108212","\/\/projektride.co.uk\/cdn\/shop\/files\/20220509-Kona3379-Ecoco-Details_2000x_8fd944c9-e841-4b6c-9b94-4782c7a57001.jpg?v=1720108224","\/\/projektride.co.uk\/cdn\/shop\/files\/20220509-Kona3387-Ecoco-Details_2000x_506ed4f4-fa49-4637-ad3f-e05afdeecf96.jpg?v=1720108232","\/\/projektride.co.uk\/cdn\/shop\/files\/20220509-Kona3398-Ecoco-Details_2000x_5a9e6644-ec30-43e2See More
e","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/my23_ecoco_angle_2000x_3f8e6ef1-ccb5-40dc-9a56-e3091ef04d75.jpg?v=1720108212","width":1200},{"alt":null,"id":34188602638562,"position":3,"preview_image":{"aspect_ratio":1.333,"height":900,"width":1200,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/20220509-Kona3379-Ecoco-Details_2000x_8fd944c9-e841-4b6c-9b94-4782c7a57001.jpg?v=1720108224"},"aspect_ratio":1.333,"height":900,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/20220509-Kona3379-Ecoco-Details_2000x_8fd944c9-e841-4b6c-9b94-4782c7a57001.jpg?v=1720108224","width":1200},{"alt":null,"id":34188603949282,"position":4,"preview_image":{"aspect_ratio":1.333,"height":900,"width":1200,"src":"\/\/projektride.co.uk\/cdn\/shop\/files\/20220509-Kona3387-Ecoco-Details_2000x_506ed4f4-fa49-4637-ad3f-e05afdeecf96.jpg?v=1720108232"},"aspect_ratio":1.333,"height":900,"media_type":"image","src":"\/\/projektride.co.uk\/cdn\/shop\/files\/20220509-Kona3387-Ecoco-Details_2000x_506ed4f4-fa49-4637-ad3f-e05a ent":"\u003cp\u003eThe Ecoco has been spotted alongside trendsetters all over the world. It makes running errands fun. It’s the perfect boardwalk beach cruiser and it doesn’t have to worry about fitting into a bathing suit. Its eye-catching paint on its low-slung step-through frame is a showstopper, and its Shimano E6100 motor ensures that you’ll make it to the top of that big hill in time to watch every single sunset. Dependable shifting and disc brakes will keep all the moving parts running smoothly. It comes with fenders, front and rear lights, and a kickstand. The only thing needed, is you!\u003c\/p\u003e\n\u003csection id=\"shopify-section-template--15666339381292__94b2a615-ab63-42b9-ba46-55862e02cd3e\" class=\"shopify-section shopify-section--custom-liquid\" data-mce-fragment=\"1\"\u003e\n\u003cdiv class=\"section section-blends section-full\" data-mce-fragment=\"1\"\u003e\n\u003ca id=\"specs\" data-mce-fragment=\"1\"\u003e\u003c\/a\u003e\n\u003cp class=\"h2 text-center\" data-mce-fragment=\"1\" 003eS, M, L\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eREAR SHOCK\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003en\/a\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"altercolor\" data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eFORK\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003eKona Project Two Aluminum Disc\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eCRANKARMS\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003eShimano E6100\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"altercolor\" data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eCHAINRINGS\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e38t\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd
ment=\"1\"\u003eShimano E-Bike Chain Guard\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"altercolor\" data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eF\/D\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003en\/a\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eR\/D\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003eShimano Alivio\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"altercolor\" data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eSHIFTERS\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003eShimano Acera\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eBRAKE CALIPERS\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003eShimano MT410\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"altercoloHope
ctd class=\"label\" data-mce-fragment=\"1\"\u003eHANDLEBAR\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003eKona Handplant\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eSTEM\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003eKona Control\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"altercolor\" data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eSEATPOST\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003eKona Commuter 27.2mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eSEAT CLAMP\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003eKona Clamp\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"altercolor\" data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eGRIPS\u003c\/td\u003e\n\u003ctd class=\"da td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003eMatte Bloodstone w\/ Charcoal \u0026amp; Bone Decals\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"altercolor\" data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eEXTRAS\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003eFenders, Front \u0026amp; Rear Light, Kickstand\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"specs_notice\" data-mce-fragment=\"1\"\u003eAll specifications are subject to change without notice\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv id=\"kro_geo\" data-mce-fragment=\"1\"\u003e\n\u003ch3 data-mce-fragment=\"1\"\u003e\u003cbr\u003e\u003c\/h3\u003e\n\u003ch3 data-mce-fragment=\"1\"\u003e\u003cbr\u003e\u003c\/h3\u003e\n\u003ch3 data-mce-fragment=\"1\"\u003eGEOMETRY\u003c\/h3\u003e\n\u003cdiv class=\"geowrapper\" data-mce-fragment=\"1\"\u003e\n\u003cdiv class=\"table_wrapper\" data-mcEnve
03e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"geo_numbers\" data-mce-fragment=\"1\"\u003e2\u003c\/td\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eTT LENGTH\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e551\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e596\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e635\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"altercolor\" data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"geo_numbers\" data-mce-fragment=\"1\"\u003e3\u003c\/td\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eREACH\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e397\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e422\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e438\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"geo_numbers\" data-mce-fragment=\"1\"\u003e4\u0 -fragment=\"1\"\u003e70.0\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e70.0\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e70.0\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr class=\"altercolor\" data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"geo_numbers\" data-mce-fragment=\"1\"\u003e7\u003c\/td\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eHT LENGTH\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e140\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e175\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e215\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr data-mce-fragment=\"1\"\u003e\n\u003ctd class=\"geo_numbers\" data-mce-fragment=\"1\"\u003e8\u003c\/td\u003e\n\u003ctd class=\"label\" data-mce-fragment=\"1\"\u003eST ANGLE\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e75.0\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e74.0\u003c\/td\u003e\n\u0 \u003e50\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e50\u003c\/td\u003e\n\u003ctd class=\"data\" data-mce-fragment=\"1\"\u003e50\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv id=\"geo_diagram\" data-mce-fragment=\"1\"\u003e\u003cimg src=\"https:\/\/www.konaworld.com\/cdn\/shop\/files\/bike_geo_diagram.png?v=3528582685429196360\" alt=\"Bike Geometry\" data-mce-fragment=\"1\" data-mce-src=\"https:\/\/www.konaworld.com\/cdn\/shop\/files\/bike_geo_diagram.png?v=3528582685429196360\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!----\u003e"}; window._RestockRocketConfig.variantsInventoryPolicy = {45664042713314 : "deny",45664042746082 : "deny",45664042778850 : "deny",}; window._RestockRocketConfig.variantsInventoryQuantity = {45664042713314 : parseInt("0"),45664042746082 : parseInt("0"),45664042778850 : parseInt("0"),}; Cockpit
nt) { return variant.id == window._RestockRocketConfig.selected_variant_id }).available;window._RestockRocketConfig.scriptUrlProduct = 'https://cdn.shopify.com/extensions/019af0d1-c518-7a22-bdbf-9ceff49063ad/restockrocket-1-402/assets/restockrocket-product.js' window._RestockRocketConfig.scriptUrlCollection = 'https://cdn.shopify.com/extensions/019af0d1-c518-7a22-bdbf-9ceff49063ad/restockrocket-1-402/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 cSee More from cache'); } // Don't return null - continue using cache even for untranslated locales } const updatedAt = new Date(settings.updated_at); if (isNaN(updatedAt.getTime())) { console.debug('STOQ - Invalid updated_at date format in settings'); return null; } const 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; } } // 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.Shopify.shop, 'ngrok-skip-browser-warning': 'skip' }; if (window.Shopify?.them
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(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 =Handlebarstegration) { createRestockRocketScript(window._RestockRocketConfig.scriptUrlCollection); } else { console.debug(`STOQ - no scripts enabled for ${window._RestockRocketConfig.pageType}`); } // Check and update cart selling plans after scripts are loaded if (settings.preorder_enabled) { updateCartSellingPlans(); } // Dispatch custom event when app is loaded const appLoadedEvent = new CustomEvent('stoq:loaded', { detail: { pageType: window._RestockRocketConfig.pageType, enabled: settings.enable_app, settings: settings } }); console.debug('STOQ - dispatching app loaded event'); window.dispatchEvent(appLoadedEvent); } } function updateCartSellingPlans() { // Wait for the API to be available with retries const maxRetries = 10; const retryDelay = 500; function attemptCartCheck(attempt = 1) { if (window._RestockRocket && window._RestockRocket.updateCartSell Stems
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:1
ocket-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 nslateX(0)}100%{transform:translateX(100%)}}@-webkit-keyframes slide-out-right{0%{-webkit-transform:translateX(0)}100%{-webkit-transform:translateX(100%)}} Headsets
See More
Tubes Stems Tubeless Grips & Bar-Tape Headsets
Seat Posts & Clamps BrakesPedals
Complete Brakes

Gears & Drivetrain

Product DetailsSkip to contentBrake RotorsSee More

#shopify-section-announcement-bar { background: #f14d38; color: #ccbebe; }
Brake Pads
Style points matter. The Coco pays homage to the classic European step-through bicycle. Internal shift cable routing helps keeps the lines clean and sleek, and puncture-resistant tires help keep the ride stress-free. This is the bike that makes neighborhood cruising more fun, so we don’t blame you if you “forgot the milk/beer/wine” and need to ride back to the store to pick it up. Don’t be surprised if you turn a few heads on this bike!This site has limited support for your browser. We recommend switching to Edge, Chrome, Safari, or Firefox.Components
Brake Spares
E-bike Batteries and chargers

Close
ForksWheels

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.Home See More

Front Suspension

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.

Hire

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

Bikes
See More

SPECIFICATIONS Finishing Kit

Essentials
Tyres See More New Bikes See MoreTubes Shop All New Bikes See More Saddles Bottles and Cages Hybrid / City Bikes Locks Pedals Mudguards Electric Bikes Gears & DrivetrainBike Packing Bags and Transportation Frames E-bike Batteries and chargers Phone Holders Shop by BrandBells LightsComplete Wheels Rider Care Trek Essentials   Maintenance Yeti Cleaners, Degreasers and LubricationAccessories Tubeless Brother Locks Tools & Maintenance SingularSee MoreBike Packing ProjektRide Merchandise Frog Phone Holders Helmets Gloves Surly Lights Clothing Socks Early Rider Maintenance Second-Hand BikesSell Your BikeCleaners, Degreasers and Lubrication Contact UsTubeless Brake Pads <li class="result"> <div class="result__image" data-aspectratio="{{ it.product.image.aspectRatio }}" data-product-image> Singular<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"> {{@if(it.product.badgeText)}} <span>{{ it.product.badgeText | safe }} > Forks > {{/if}} See MoreFrog> PAINT COLOR > > Gloss Dusky Purple w/ Charcoal & Nimbus Decals Kona<p class="result__title"> Front Suspension <> Skip to content Surly> EXTRAS#shopify-section-announcement-bar { background: #f14d38; color: #ccbebe; }Rear Suspension This site has limited support for your browser. We recommend switching to Edge, Chrome, Safari, or Firefox. <li class="result result--full"> Finishing Kit <p class="result__title">{{ it.item.text }} See MoreEarly Rider>

FRAME MATERIAL Kona 6061 Aluminum Butted TubelessAccessories
SIZESRoad / Gravel / Touring Bikes XS, S, M, L, XL Seat Posts & Clamps
REAR SHOCKMountain Bikes n/a
FORKKids Bikes ComponentsKona Project Two Aluminum Disc
CRANKARMS SamoxSee More Wheels
CHAINRINGSGloria 39t/Guard
B/BAmflowSee More Feimin 68mm
PEDALSRidgeback Bottles and CagesKona JS2
CHAINGenesis Mudguards KMC X9 Clothing and Protection
CASSETTEEnigma Bags and TransportationShimano HG200 11-32t 9spd
CHAINGUIDEKona Bellsn/a
F/DUTO (ex Eovolt) Rider Caren/a
R/D Shimano Alivio SGSSee More

a href="{{ it.product.url }}" class="result__image-link" aria-label='{{ it.product.title }}'> REAR TIREBrake Spares <div class="product__tag{{ it.product.badgeClasses }}">WTB Horizon Comp w/ Puncture Protection 650x47c Enigma<
Frames < See More< Trek See More< Yeti < Brother < Singular <StemsSee MoreTyres Genesis 705 < Open search bar744Singular Seat Posts & ClampsSee More UTO (ex Eovolt) 410 < Early Rider <span class="visually-hidden">Life Systems Pocket First Aid Kit - HIRE Essentials>
Cockpit Handlebars
Grips & Bar-Tape
Tubes
Pedals Gears & Drivetrain a class="product__media product__media--featured" href="/collections/all-products/products/life-systems-pocket-first-aid-kit-hire" title="Life Systems Pocket First Aid Kit - HIRE" aria-label="Life Systems Pocket First Aid Kit - HIRE" style="background-image: url(//projektride.co.uk/cdn/shop/files/Screenshot2022-02-24at21.18.22_5c0e6e2d-1913-4fd1-a90d-b486895960b6_600x.png?v=1691610357)"> 50Custom Builds for saleOpen cart <
KONA Geometry
  <
div class="product__media-hover-img product__media" style="background-image: url(//projektride.co.uk/cdn/shop/files/Screenshot2022-02-24at21.18.32_9d81277b-124e-4fdc-8a0f-fbfb40a9343d_600x.png?v=1691610357)">   Accessories

Services  
Search text fieldBottles and CagesLife Systems Pocket First Aid Kit - HIRE

SIZING + FIT

£0.00

GRAVEL / DROP BAR / URBAN Locks

Submit your search request
Workshop MudguardsHire Kryptolok Standard U-Lock & 4 foot Kryptoflex cable Workshop Prices < Book a Service a class="product__media product__media--featured" href="/collections/all-products/products/kryptolok-standard-u-lock-with-4-foot-kryptoflex-cable-hire" title="Hire Kryptolok Standard U-Lock & 4 foot Kryptoflex cable" aria-label="Hire Kryptolok Standard U-Lock & 4 foot Kryptoflex cable" style="background-image: url(//projektride.co.uk/cdn/shop/files/Screenshot2022-03-09at20.04.46_560e2033-8232-4bd3-a423-3ce8c9f11849_600x.png?v=1691610428)"> . Hire Kryptolok Standard U-Lock & 4 foot Kryptoflex cable Other.Bells£0.00 Custom Builds Rider Care Insure Your Bikediv 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 }}'> 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"> {{@if(it.product.badgeText)}} Maintenance div class="product__tag{{ it.product.badgeClasses }}">See More < span>{{ it.product.badgeText | safe }} div class="featured-image__bg bg-pos-center-center" style="background-image: url('//projektride.co.uk/cdn/shop/files/2571D9FF-E9AE-4004-9A55-C7FD4DD999D6_2048x.jpg?v=1640941114');"> Parts & Components  > {{/if}} > p class="result__title"> TubelessBuy Sell Ride Confident Brands> Hope> FAQ p class="result__title">{{ it.item.text }}See More > I'm looking to find out more information about a product, where can I find this? Cockpit { "@context": "http://sProjektRide Merchandise Please get in touch with a member of the team either by phone ( 01313745324 [email protected]GlovesProjektRide Bike Shop Edinburgh I'm looking to buy this product, when will it arrive and how much does postage cost?Socks Postage is free on orders over £50. Orders under £50, our postage charge is £3.99. ProjektRide Bike Shop EdinburghSell Your Bike Contact Us .site-footer { --bg: #1f2324; --text: #ffffff; --text-alpha-15: rgba(255, 255, 255, 0.15); --text-alpha-60: rgba(255, 255, 255, 0.6); --text-alpha-85: rgba(255, 255, 255, 0.85); } .footer-content__logo__image { width: 170px; } Search Cart Forks QUICK LINKSFront Suspe About UsSpend Blog to qualify for free shippingBuilding Your Bike From the BoxCongratulations! Your order qualifies for free shippingPrivacy PolicyOpen navigation menuHomeBikes  New BikesShop All New Bikes[email protected]< Hybrid / City BikesElectric BikesFrames
HEIGHT/INCHES Bike Packing Hire Kryptolok Standard U-Lock & 4 foot Kryptoflex cable INSEAM/METRIC Loading morePhone Holders ROVE . LIBRE SUTRA Lights DEWSCycle To Work Schemes COCO li class="result"> #FeaturedImage--template--15326745395426__1645734801adfd4c07 { --overlay-opacity: 0.2; }
> 147-155cm > Cleaners, Degreasers and Lubrication 24”-27” > ProjektRide61-69cm a href="{{ it.product.url }}">{{ it.product.title }} 48cm > Tools & Maintenance 50cm Questions and answers 48cmEnveli class="result result--full"> Clothing and Protection N/A > XS
Helmets) or email ( ) where on of the team will be more than happy to help. Clothing If the item is showing in stock, we aim to post the product within 24 hours. Please allow 5 working days to receive the item. We also have a physical store, if you are local please pop in - 82 Newington Road, EH91QN, Edinburgh.
Log in Create account Brake Spares img src="//projektride.co.uk/cdn/shop/files/logo_header_2048x2048.png?v=1634060673" alt="" class="logo--footer"> Close Contact Us£50Track Service Progress Insure Your Bike
Open search bar
Open cart Hire
< Mountain Bikes Kids Bikes
Shop by Brand Gloria

Wheels

.translations) { // Translations enabled but no translation data in metafield // Metafield hasn't been backfilled yet - force refresh console.debug('STOQ - multi-language enabled but no translation data in cache, fetching fresh'); return null; } // Translations object exists in metafield - cache is valid // If current locale isn't translated, applyTranslations will gracefully use default locale from base fields if (window._RestockRocketConfig.normalizedLocale && !Object.prototype.hasOwnProperty.call(settings.translations, window._RestockRocketConfig.normalizedLocale)) { console.debug('STOQ - locale not explicitly translated, will use default language from cache'); } // Don't return null - continue using cache even for untranslated locales } const updatedAt = new Date(settings.updated_at); if (isNaN(updatedAt.getTime())) { console.debug('STOQ - Invalid updated_at date format
<
!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 === 'obje
nfig.shop || window.Shopify.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');