Tobias Lütke: The Programmer Who Built a Snowboard Shop and Changed Commerce Snowboard Shop
He wasn't trying to reinvent retail. He was trying to sell snowboards online — and the e-commerce software was so bad he wrote his own. That piece of side code became Shopify.

The fifteen-minute product upload
In 2004, in a shared apartment in Ottawa, a twenty-four-year-old German programmer named Tobias Lütke was trying to do something boring. He wanted to sell snowboards online with two friends, Scott Lake and Daniel Weinand. The three had picked a name — Snowdevil — ordered some inventory, and sat down to pick an e-commerce platform.
Lütke later described what he found as a "click, click, click, 'Are you sure?', click interface, which took 15 minutes to add a product and drove me completely crazy." He was a professional developer. He'd done a programming apprenticeship in Koblenz. He'd been writing code since he was six, when his parents handed him a Schneider CPC. Fifteen minutes to upload a single SKU wasn't a user experience problem to him. It was an insult.
So he did the thing programmers do when they're offended by software: he opened a terminal.
Two months, Ruby on Rails, one storefront
Ruby on Rails had been released publicly the year before. Lütke was an early convert — early enough that he later became a core contributor and shipped one of its first real production applications. He spent roughly two months building Snowdevil's storefront from scratch rather than paying for off-the-shelf software he found insulting.
The snowboard shop launched. It did fine. It didn't do remarkable.
What was remarkable was the thing underneath it. Other small merchants — people who'd stumbled onto Snowdevil, people in Rails forums, friends-of-friends — kept asking the same question: What are you using to run that store? The answer was always the same awkward sentence: nothing you can buy, I wrote it.
By 2006, Lütke, Lake, and Weinand had done the math most founders fail at. The side project was more interesting than the main project. The snowboards could wait. In June 2006 they relaunched the platform under a new name — Shopify — and started charging merchants to use it.
The accidental founder, in detail
It's worth pausing on how little of this was a plan. Lütke hadn't moved to Canada for a startup. He'd moved for love — he met his future wife on a snowboarding trip and relocated from Koblenz to Ottawa around 2002. He hadn't apprenticed as a programmer because he'd read Zero to One. He'd done it because he was sixteen, done with school, and good at computers. He hadn't built Snowdevil's software to found a company. He'd built it because the alternatives offended him.
Almost every piece of the Shopify origin story is the opposite of the standard founder myth. There's no college dorm. There's no venture round at twenty-two. There's no "we saw a $100 billion market and attacked it." There is a guy who wanted to sell snowboards, hated the available software, wrote better software, and then noticed other people wanted that software more than they wanted his snowboards.
This is what the industry would later romanticize as "scratching your own itch." But phrased that way, it sounds like a slogan. The specific version is sharper: honest, lived frustration is a better filter for what to build than any amount of customer research. You can't fake what fifteen minutes of clicking does to a programmer's day.
The long middle
If you only look at the headlines — Snowdevil 2004, Shopify 2006, IPO 2015 — the arc looks tidy. The middle wasn't.
Between 2006 and the IPO, Shopify had to convince small merchants that paying a monthly subscription for a storefront was better than cobbling together free shopping-cart scripts. It had to hire engineers in Ottawa — a town known for government work and Nortel's ghost, not for building the next AWS of commerce. It had to survive the long stretch where you have real revenue and a real product but no one outside your category has heard of you.
Lütke stayed CEO through all of it. He didn't do the thing where the technical cofounder gets quietly moved to CTO and a "business guy" is brought in. Shopify remained a product company run by its lead developer. When the company went public on the TSX and NYSE in May 2015, it did so with Lütke still writing code and still, by many accounts, approving pull requests.
The pandemic arrives
And then the thing nobody could have planned for happened.
In March 2020, every small business on earth suddenly needed a website. Shopify was ready. Merchant count jumped from roughly 1.7 million in 2020 to 4.8 million in 2021. 2020 revenue grew 86% year-over-year. By mid-2020, Shopify had briefly become the most valuable publicly traded company in Canada, surpassing Royal Bank of Canada on the TSX — a fact that still, as a sentence, feels wrong. A company that started as snowboard-shop plumbing had outrun a 150-year-old bank.
In May 2020, with the pandemic only a few months old, Lütke made a decision that most CEOs would have waited on. He announced Shopify was going "digital by default" — permanently. He terminated office leases in Ottawa and six other cities. The 7,000-person workforce would stay distributed. He wasn't experimenting. He was ending the office.
The trust battery
Lütke's most-cited leadership idea is a mental model he calls the trust battery. When you meet someone new at work, the battery sits at 50%. Every interaction either charges it or drains it. It can be charged slowly, through reliability and follow-through. It can be drained quickly, through letting people down.
At Shopify they use the metaphor in performance reviews. It gives people a way to say your trust battery with me is at 20% without turning the conversation into a character attack. It externalizes the thing most teams never talk about until it's too late.
The trust battery is a programmer's framing of a human problem — trust as a mutable integer, not a boolean. It matches the rest of Lütke's instincts. Hire for trajectory, not résumé. Treat relationships as state that changes with every event. Treat your own frustration as useful signal, not noise.
What the story is actually about
It's tempting to read the Shopify origin story as a Silicon Valley fable in Canadian dress — plucky founder, clever pivot, enormous outcome. That reading misses what's actually interesting.
The interesting part is how little of it was intentional. Lütke didn't set out to build e-commerce infrastructure. He set out to not click fifteen times to upload a product. He didn't pivot in the modern sense — he just paid attention to what people kept asking him for. He didn't optimize for growth. He optimized, for a very long time, for the specific experience of a small merchant setting up their first store.
And that's the quiet lesson under the loud one. "Scratch your own itch" works, but only if you keep scratching. Shopify's edge in year ten wasn't that Lütke once hated bad e-commerce software. It was that he was still, a decade later, grading the product by whether it felt insulting to use. The founder who was annoyed enough to spend two months writing better software in 2004 is still the founder running the company.
That's not an accident. That's the whole thing.
Continue reading
The Entrepreneur Story
Is your story worth telling?
We feature founders who are building something real. Apply and we'll be in touch.
Apply to be featured →Stay sharp.
Ideas that move.
Founder stories, emerging ventures, and essays on what's next — straight to your inbox.
Unsubscribe any time.



