At least 2 Shopify stores will be needed so that payments can be accepted in CAD and USD.
Sinatra + ActiveRecord
If having French content for the Canadian store is important, we may need to look into the Langify app for Shopify.
Shopify Sinatra App
This may not be necessary if we use subdomains for the Shopify stores.
Canadian visitors should be linked to the Canadian store. Everyone else should default to the US store.