Skip to content

Your Shopify store, written from scratch in Toronto.

One team designs the pages, writes the code and shoots the products. Our office is at 1050 King Street West.

Two open Unwrinkled gift boxes, one blush and one navy, on a grey woodgrain console against a floor-to-ceiling window. Each holds a silk sleep mask, a scrunchie, a gua sha stone and a roller. Below the window, downtown Toronto: the two curved towers and clamshell podium of Toronto City Hall, with the clock tower of Old City Hall behind them.

What you get

Your store, designed around your own products.

01

The theme

We draw every page first, then write the code by hand. You see it on a test store you can open on your own phone.

02

Payments and shipping

Your payment provider, your shipping and your tax rules, connected and tested with a real order.

03

Product photography

A full day shooting your products, editing included. The store goes live with pictures of what you actually sell.

What we write

Six pages and two connections, written by hand.

  • theme/
  • layout/
  • theme.liquid
  • templates/
  • index.jsonpage 1
  • product.jsonpage 2
  • collection.jsonpage 3
  • cart.jsonpage 4
  • page.about.jsonpage 5
  • page.contact.jsonpage 6
  • sections/
  • header.liquid
  • featured-collection.liquid
  • product-media.liquid
  • footer.liquid
  • snippets/
  • price.liquid
  • product-card.liquid
  • config/
  • settings_schema.json
  • settings_data.json
  • assets/
  • theme.css
  • theme.js
  • locales/
  • en.default.json
  • webhooks/
  • orders/createconnection 1
  • fulfillments/updateconnection 2

A Shopify Online Store 2.0 theme, file by file. The six pages and the two connections are marked in the list.

How long

From the first call to live in five to seven weeks.

Every stage goes in the written agreement. The launch date is fixed before we start.

  1. 01 The plan, in writing Which pages, which software has to connect, and how your products and their sizes and colours are organised. 2 business days
  2. 02 Theme build We write every page around your products, then connect payments, shipping and tax. 3 to 5 weeks
  3. 03 Photography, then your products go in One day of shooting. Then the pictures, the words and the sizes and colours go in. 1 week
  4. 04 Launch and training Your web address points at the new store and old links are forwarded. We place one real order and refund it, then spend an hour showing you how to run it. 3 business days

Proof

A store we run ourselves.

We sell our own merchandise online. Open it on your phone, pick a colour and go as far as the payment screen.

Our own store · open now

An order record in our own store's admin: a dark screen with a left rail of Dashboard, Orders, Discounts, Links, Analytics, Projects, Profile and Audit; tiles reading the order total, store Canada CAD, status shipped; and panels for the customer, the shipping address, one hat line item, the payment intent, the fulfilment order and a courier tracking number.
One shipped order, on the screen we use to run the store.

Payment, shipping and tracking on one screen

What a product page needs

Three stacked UnWrinkled Eye Patches cartons on a dark wood surface, lit from the left. The packaging copy is legible: Advanced microcrystal technology for ageless eyes, anti wrinkle microcrystal bionic strips, smooth fine lines, hydrate, brighten, in English and French, with 10 eye strips pair plus hyaluronic firming serum 15ml.
Shot so the writing on the box is still readable at product-page size.

The photography is the product page

A Shopify product page is mostly a frame around a photograph. See the office and the technology portfolio.

The admin behind that store

Our own store · orders

The order list in our own store's admin: a red-ruled needs attention panel naming four orders that failed at the print partner and the reason each one gave; tiles showing Canadian and United States takings side by side with an order count under each; a filter row for store, status, email address and date range; and a table of orders carrying the customer, the colourway they chose, the total, the payment status, the fulfilment state and the channel the sale came from.
Two currencies and every sales channel in one list, with anything that needs attention pinned to the top.

Our own store · the one that failed

An order record in our own store's admin: tiles reading the order total, store Canada CAD, status paid; a red-ruled alert reading This order needs attention, paid but never successfully sent to the print partner, three attempts; and panels for the customer, the shipping address and one line item, a hat.
Paid, and then refused by the print partner three times. The record says so in red rather than going quiet.

Our own store · where buyers came from

The traffic screen of our own store's admin: a range selector on seven, thirty and ninety days; tiles for pageviews, unique visitors, top source and top campaign; a bar chart of daily pageviews against unique visitors across a month; and a visitor map counting geolocated visits, countries and cities.
Which post, ad or city brought the visit, on the same screen as the orders it led to.

Our own store · the first screen

The dashboard of our own store's admin: a needs attention count above tiles for orders and revenue, pageviews today, active discount codes and live projects, over a card for each part of the admin including orders, analytics, discounts, links, projects, profile and an activity log.
What a store owner sees on opening it: what sold, what is broken, and which discount codes are live.

Storefronts we designed and built

What happens when a customer pays

Stripe PaymentIntent

created
method
attached
requires
action
processing
succeeded
card declined, retry with a new method
  1. payment_intent.created · created
  2. payment_method.attached · requires_confirmation
  3. payment_intent.requires_action · 3-D Secure
  4. payment_intent.payment_failed · card_declined
  5. payment_method.attached · retry
  6. charge.pending · processing
  7. payment_intent.succeeded · succeeded
event
payment_intent.succeeded
CAD
status
succeeded
live

In plain words: the card is offered, the bank may ask the customer to confirm it, and the payment either clears or is declined and they try another one. The two connections in the file list are what update your order record as this happens.

Questions

What people ask first.

Do you migrate an existing store?

Yes. Your products, their sizes and colours, your customers and your past orders all come across. We also forward your old web addresses to the new ones, so your Google rankings do not break on launch day.

Who owns the store?

You do. The Shopify account is opened in your name, the code and any custom app we build are yours, and your web address stays with whoever you bought it from.

What is involved in running it every month?

Shopify bills you directly for its own plan and its card processing. Anything we build outside Shopify, we host and manage month to month.

Book a call

Send us your Shopify store. We will find what is slowing it down.

Thirty minutes with the engineer who would write your store.

On the call

Ten recorded minutes on the store you have now

Which parts of your store are doing real work, which apps are slowing every page down on a phone, and your product page rewritten.

Pick a time

All times Toronto

Use the contact form

Prefer email? Write to [email protected] and we will set a time.