Commerce Kickstart was chosen as a stepping off point, as I knew I wanted to work off the Omega theme, and there were enough supporting Commerce modules in place before I began to ensure that the project's basic needs were met (including a Moneris Payment Gateway and UPS/Canada Post Shipping Service).
The Omega Kickstart theme was the natural choice as it was designed to work specifically with Drupal Commerce, and offered the power of Omega for creating a responsive version of the site, which is now a necessity with any e-commerce website. The theme visible on the site is not a sub-theme, but rather the Omega Kickstart base theme, with a significant amount of custom CSS used to allow for the fulfillment of the design. Although, not sub-theming is sometimes frowned upon as it can make updating the site a bit tricky, I've found no real problems with any of the Kickstart theme updates.
In regards to the responsive design - which can be quite intimidating to anyone new to this wild web development process, I have to say that working with the Omega platform for the first time has been really enjoyable. Specifically with the customizable content zones and media query break points which were easily configured and made the mobile development fairly easy. The concepts required a tutorial or two to wrap my head around, but, once there, it was easy to manipulate the layout.
Views were used for all the product teaser displays, providing a simple, uniform style (image, title, price - all linked to node) throughout the site to guide shoppers to product nodes. Not only are views used on the front page for automatically updated teaser displays (i.e. new products added to the store, etc.), but also provided a handy way to make product recommendations to shoppers on any given product display page, in addition to collecting and presenting all products tagged as being "Clearance", "Sale" or produced by a specific manufacturer.
In addition to front-end presentation, I used the admin views to provide important sources of information regarding the products. By creating custom fields for both Margin Amount and Margin Percentage in the product displays, I was able to use these as sorts on my back-end product lists, which has proved valuable when deciding which new ad materials to create, or which new products to promote within the store, etc. (allowing me to know which products are most financially beneficial to advertise). As well, these new fields allow for front-end displays to be sorted by Margin $, so that certain views provide teasers of the store's most profitable products to the shopper first, while those products with less margin are found deeper within the views grids (and generally several pages in).
Block Class is a small, simple module that makes it easy to assign a CSS class to any block you're creating. When you're as heavily reliant on CSS customizations for layout and design as I have been, this module is a great little tool that saves time. I often find that these small, little helper modules, when combined together, make the entire framework much more efficient (at least in terms of the development time) and make the entire Drupal platform more robust and desirable to work with when you're someone who lacks the knowledge to custom-code a site from scratch.
Search API - again, as the Commerce Guys have suggested with their Kickstart approach, the Search API module not only provided search functionality, but also worked in conjunction with Views to provide search facets and sorts for the lists of products. With the combination of these two modules, shoppers can easily and quickly focus in on the products they're looking for, and sort them based on price, title, etc. When your goal is to create an interface that is easy to navigate (especially with a wide variety of products), the importance of this type of functionality cannot be underestimated.
Rules are not only a part of the Commerce package, but they quickly became the go-to solution for problems including setting up shipping parameters for free shipping within North America on orders over $150, creating new email messages (using Message Notify) and providing add-to-cart messages for products which can't be shipped because of dealer agreements. This is the deep-end of the Drupal pool, and I've pulled my hair out more than a few times trying to make finicky rules work, but the more you learn it, the smarter your e-commerce automation is - and that means that knowing rules isn't just an option, it's a requirement (but it's really cool when you figure it out!)
As this project is housed on a shared host through it's start-up and initial marketing phases, the use of the Boost module was pretty much a necessity - especially when considering the number of style sheets, image assets, etc. that are required for the majority of pages. As expected, Boost, running with the Boost Crawler, has resulted in a significant increase in page-load speeds - which when you're presenting an online store, is crucial.
Also of note is the use of the Field Group module, which allowed for the tabbed elements within each product display. This proved to be a valuable tool as the goal was to create simple, clean product pages that were easy to read and uncluttered by loads of product information. Many of the products sold have 10-15 important specs (technical specifications) which need to be presented to shoppers who are often knowledgeable cyclists looking for certain technical info. I made the decision to tab three categories of information - 1. basic description; 2. specs for each product variation type; 3. videos (when the manufacturer had created a quality video presentation to help sell their product). The result was on target, with shoppers quickly having the info they want, but when the product page opens, it's not visually overwhelming.
On the product display pages, CKEditor and IMCE were used as the WYSIWYG solution, which was particularly important, as the design plan called for the use of "badges" that would visually indicate important information such as warranty length, staff's favorite products, etc. In addition, small manufacturer's logos were placed in the bottom of each description area which link back to view displays of all of the products within the store produced by that specific manufacturer. As our core cycling demographic tends to be quite loyal to individual brands, this taxonomy based display (handled by Views) and its logo-image linking was considered an important sales element in the node display design.