winged victory

Bike Parts Compatibility - Quick Database

Year: 2010
Type: site development, programming, decision tools
Keywords: ruby, javascript, decision tools, database, affiliate marketing, linux

The Challenge

The sports site owner posed an interesting set of requirements, including: standards compliance, accessible to a least common denominator of browsers, high performance.

The objective was to take a group of charts already displayed on the site, distill them into database relations, and create a decision tool for site users to search for compatible parts and link to parts info and a shopping affiliate where they can order the parts.

The Solution

The decision tool was implemented in javascript, with the "data" really just embedded into the javascript. On the client side, there's never any query to the server for results - so the search results are better than "blazing fast", they are Instant. (zero latency).

To do this, since javascript does not support hashes or complex data structures, a back-end preprocessor was created in Ruby. Updates such as new parts data to be added go into the ruby preprocessor. It runs, spitting out the HTML and javascript bits. These can just be embedded into the HTML which serves essentially statically to users.


The leading site on the Internet for this parts compatibility niche, it continues to grow in traffic and affiliate revenues. It's been nearly a triple-digit annual growth rate in recent months.

The tool can be found here at the Shimano Compatibility site - Chart Monkey tool.

Because of the standards compliance, the site has pretty seamlessly been adopted by smartphone and other new device users, without modification. The charts and javascript still work perfectly on the smaller screens.


To help our customers succeed in international technology projects and decisions. We retain focus on the long-term view and believe that if you succeed, we succeed.