Andrew here. First Tuesday newsletter, welcome to the show.
Today I'm teaching you a 60-second test you can run on your current Shopify agency. Most operators don't realize their codebase is held hostage until they try to leave, and by then the fix gets expensive fast. Run the test now while it's still free.
Open Slack. Find the channel with your current agency. Send these two messages right now (yes, while you're reading this, I'll wait):
Message 1: "Hey, can you add me as an admin owner on our GitHub repo today?"
Message 2: "If your agency dissolved tomorrow, what would happen to our store? Walk me through the worst case."
Sit back. Wait an hour.
Their response time and the shape of the answer tells you everything.
The healthy response looks like this: "Done. Sent the GitHub invite. Hosting is under your name already (we set it up that way at kickoff). If we dissolved tomorrow you'd have full access, here's the runbook we keep for that scenario."
That response comes back in under an hour. Nobody gets defensive, nobody mentions a process.
The cartel response looks like this: "Hey! Great question. Let me check with our ops lead, she'll get back to you next week."
Translation: they don't want to send the GitHub admin invite, they don't have a runbook, and they're stalling because giving you actual control over your own codebase is bad for their retention math.
Earlier this year we kicked off with a multi-warehouse specialty parts brand. 10-year-old codebase, stitched together by three different agencies over a decade. The first hour of the engagement wasn't engineering. It was the client's internal team having to call their previous Shopify Partner to ask if they could please restore the collaborator access they'd lost track of years ago, so we could see the code they technically owned but couldn't actually open.
Another one last spring. Bigger brand, household name in their category. The kickoff meeting ended with me saying out loud, on the call, "Wait for GitHub access before proceeding." Weeks of dev time, paused, while we waited for IT to approve a GitHub invitation and for the existing agency-of-record to sign off on adding an external developer.
Both of those brands are clients of ours now. Both found out, in the first hour of working with us, that the codebase they thought they owned wasn't theirs in any practical sense.
The first 12 hours of every 90-Day Sprint we run starts with this exact audit. GitHub access, hosting accounts, the runbook in writing. Whatever the previous vendor was sitting on, we claw it back, and we make sure the brand owns the brand and we own the website. That's the operating principle of a Digital Product Agency for Shopify, where the same 8-role pod runs the audit, the build, and the runbook handoff.
If your current agency's response to those three Slack messages takes more than 24 hours or includes the word "process," that's the signal.
20 minutes with Jeremy (The guy who was Shopify employee #4, remember?). You tell him what their response looked like, he'll tell you what to do about it.
— Andrew
P.S. Reply with the actual screenshot of your agency's response (redact whatever you need to). I want to see the wild ones. The pattern I keep seeing this year: the bigger the brand, the longer the wait. We'll talk about why that is in a future issue.