This website has been optimized for viewing in a modern web browser. For the best experience, switch to the latest version of Firefox, Safari, or Chrome.


Why I built a theme for the Shopify Theme Store

About a month ago, I launched a Shopify theme for sale in the Shopify Theme Store. Whisk was a years worth of work alongside client work, and it was my main work focus for 2022. Why did I decide to go all in with Shopify?

The opportunity #

When I first started working with Shopify in 2018, I immediately loved it. It all just clicked for me. It was the first platform I ever worked on where I felt like I could accomplish anything using the tools I already have in my designer/front-end toolbelt. And I loved how approachable it was as an e-commerce solution for the non-technical and for small businesses. At the time, I was still working at thoughtbot and we were helping Lola with a migration over to Shopify. I inquired then to our contacts within Shopify about becoming a theme partner, and was told that the theme store was currently closed to new submissions and it was notoriously difficult to get a theme approved.

Fast forward to Summer of 2021. Erin Zobitz and I had just wrapped up a full custom Shopify theme build for Hive Brands and Shopify announced their upgraded Online Store 2.0. And even more exciting, they are seeking new themes for the theme store! After working in this industry as a designer/developer since 2009 and doing mostly client work, I was tired. I thought I had found a stable product company to grow with in 2019, but then the world turned upside down in March 2020 and unfortunately, that product company was in the travel industry. The whole tech team was let go.

The timing was right for me to try something different. I was longing for more control over my work life. Not that working for yourself doesn't have its own instabilities, but I really liked the idea of being able to make my own decisions, and take my own risks, including taking a step back from client work and focusing on a project that would create a new and different revenue stream. The pandemic also had been emotionally draining on me personally (as I know it was for many of us). It seemed like a good time spend a few months working on my own thing. Time estimation is hard and yeah, I FOR SURE underestimated the effort. It took a year with some breaks and bumps along the way. I talk about that in a little more detail in my New Year's post.

The stack #

I was drawn to the approach that Shopify took with their new 2.0 default free theme, Dawn.

Dawn represents a HTML-first, JavaScript-only-as-needed approach to theme development.

Shopify goes into their principles further on the Dawn Github repo. “Progressive enhancement over polyfills, server-rendered, functional and not pixel perfect in every browser, no frameworks, libraries, or dependencies”. Themes for sale in their store have to follow strict requirements around performance and accessibility. These are all the principles I believed in already, but I hadn't developed without some sort of build process in over a decade. How would that be in 2022?

Dear reader, it has been awesome. If you haven't been paying close attention, the browser powers that be (Google, Apple, Mozilla, and Microsoft) now work more collaboratively on web standards so there are much fewer browser specific bugs. JavaScript and CSS have been taking cues from the community and bringing in some of the best features from libraries and pre/post-processors like Sass and jQuery. Dawn uses JavaScript Custom Elements, which was a new approach for me but it was easy to adapt to after spending the past few years in Vue.js and React. CSS Custom Properties take care of most of the benefits I used to get from Sass. The one major downside to not using a build process is that I do not have a test suite. It's something I definitely want to look into and am interested in how I can do it without adding too much overhead, but for now, I'm the only developer on this project so it's not as urgent of a need.

Shopify does offer one tool that makes it easier to create modern interactive experiences with JavaScript without the benefit of state management that you get from libraries like Vue.js or React. It's their Section Rendering API which uses AJAX to rerender updated pieces of the page asynchronously without you having to rewrite the HTML/Liquid in JavaScript.

I've built a non-traditional tech career by following what interests me most. I didn't expect it to take me to this place where I work for myself and am building my own company. Upon reflection though, it makes a lot of sense. Shopify enables developers and merchants to create their own destinies, and ultimately I think that's what attracted me to this opportunity.

Now that Whisk is launched I'm not sure where exactly I'm going next, and that's feeling exciting. It was a fun challenge to build my own MVP after preaching the need to “start lean” to clients for a decade. I definitely don't think I did it perfectly (that journey is another blog post, in progress). I have a million ideas about how to grow the theme, and how to grow my theme agency Coquelicot but I also have a lot more time and mental energy to take on client work again and I miss the company and collaboration from working with others. Getting this blog going and sharing more is definitely part of the plan.

Drop me a line and let me know if there's anything you'd be interested in hearing more about related to Shopify, themes, solopreneurship, CSS, soap making, etc.

The top featured photo is a collage of screenshots from the Whisk demo store, "Frulla".

Say hi!