Case studies/SKNNYCHEF
Case StudyShipped3 weeks · April 2026

How we shipped SKNNYCHEF's Inner Circle — a Shopify-native paid community in three weeks

Josh Katz runs Roxanne's Taqueria in Stoughton, MA and the SKNNYCHEF YouTube channel. He wanted to turn his audience of restaurant operators into a real paying community — without paying Memberstack, Circle, or Outseta a recurring tax per seat. We shipped the entire stack on Shopify: founding-member offer, Apply page, Shopify Flow welcome, gated Member Vault, and a Wednesday Zoom iCal. Three weeks, zero monthly platform fees.

sknnychef.comSKNNYCHEFScreenshot placeholder — replace with real site capture
Who

The client

Josh Katz is the owner of Roxanne's Taqueria in Stoughton, MA and the creator behind @SKNNYCHEF — a restaurant-owner YouTube channel with a growing community of operators trying to figure out how to run the modern restaurant.

He came to us wanting a site that could actually capture leads for his coaching community instead of punting them to a Facebook group. The brief was simple: "I have traffic. It's not turning into leads."

Before

The problem

  • 1Josh had an audience of restaurant operators on YouTube but no paid community to convert them into. The brief: turn the audience into recurring revenue without standing up a Memberstack/Circle stack that charges per seat forever.
  • 2The old Shopify site sold Roxanne's merch and gift cards — there was no Inner Circle product, no member-only content surface, and no funnel that mapped video traffic to a community application.
  • 3Every comparable community he looked at relied on a third-party portal stacked on Stripe, with $99–$300/mo platform fees that compound as the community scales. For a community in its first 100 members, that math doesn't work.
  • 4He needed both a credible offer (priced, value-stacked, founding-member pitched) and the infrastructure to fulfill it: welcome email, gated content, weekly call calendar, member directory — all without a developer on retainer.
  • 5Existing community sites in the restaurant-operator space lean lifestyle/free. To compete he needed a premium aesthetic that signaled "this is for operators running real P&Ls," not "this is for foodies who want recipes."
The build

What we built

01 / 06

A founding-member offer that prices itself

We modeled the funnel after Rob Luna's Wealth Academy. The first 100 members get a lifetime free seat; everyone after pays $199/year. That single mechanic does three things at once: it manufactures urgency, it credentials the offer as premium, and it gives Josh a deadline-driven story to tell on every video. The announcement bar reads "FREE FOR THE NEXT 100 FOUNDING MEMBERS — CLAIM YOUR SEAT →" sitewide.

Screenshot · A founding-member offer
02 / 06

A six-tile value stack with hard dollar amounts

Visitors don't believe an offer is worth anything until you show them what the parts add up to. The value-stack section breaks the Inner Circle into six tiles — weekly Wednesday calls, the back-catalog vault, monthly playbooks, the operator directory, vetted vendor intros, and the Roxanne's playbook itself — each with a $X/YR VALUE tag. The math at the bottom: $12,360. The next line: "Yours for free if you're one of the first 100."

Screenshot · A six-tile value
03 / 06

Shopify-native auth instead of a third-party portal

We built the Apply page on Shopify customer accounts. First name, last name, phone, email, password — and the moment a customer is created, a Shopify Flow fires, tags them as core-member + founding-member, and emails the welcome with the Member Vault link and Wednesday Zoom button. No Memberstack. No Outseta. No Circle. No monthly per-seat fee. Josh owns the entire member graph inside his Shopify admin.

Screenshot · Shopify-native auth instead
04 / 06

A Member Vault, gated by a Liquid tag check

The /pages/member-vault template checks for the core-member tag in the customer object — anyone without it bounces to login. Inside, the primary widget is the next six Wednesday Zoom dates, rendered live from Liquid date math, each with an Add-to-Calendar link to a real .ics file with the Zoom URL baked in. Members subscribe once and get every future weekly call, plus a 15-minute pre-call alarm.

Screenshot · A Member Vault,
05 / 06

One CTA snippet, every conversion button

Every "Claim my free seat" button across the site — hero, mid-page banner, pricing block, FAQ-bottom CTA, sticky floating bar, footer — pulls from a single Liquid snippet (snippets/ic-cta.liquid). Change the text once, it changes everywhere. Change the destination once, it changes everywhere. The whole funnel is measurable as one event because every click is the same data attribute.

Screenshot · One CTA snippet,
06 / 06

A dark Robluna aesthetic, intentionally premium

The old site leaned light, food-photography-heavy, and on the word "free." The new site is dark navy + gold, sparse, editorial. The hero plays Josh's phone-shot Roxanne's video — operator-to-operator, not influencer-to-fan. We stripped "free" from the copy outside the founding-member announcement, where it earns its keep. Everywhere else the offer is framed in terms of access, time saved, and operator-to-operator proximity.

Screenshot · A dark Robluna
How

The stack

Shopify Liquid theme

Modified Shopify's theme layer directly — no headless split, no external framework. Ships as a single .zip Josh can roll back from the theme editor if needed.

Custom JavaScript

Vanilla JS for the modal (~180 lines). No jQuery, no React, no bundler. Lives in a single asset file for easy debug.

Google Apps Script

An Apps Script web app receives POSTs and writes rows to a Sheet Josh owns. Same script CCs him via MailApp on every new lead.

Google Sheets

The source of truth for leads. Filtered views for new/contacted/enrolled. Feeds into Josh's weekly outreach cadence.

Shopify Theme Editor

Deployed via the theme editor. No CI/CD needed — Josh can live-preview changes before publishing.

No third-party form builder

Explicitly avoided Typeform, HubSpot, Klaviyo forms. One less integration, one less monthly bill, one less attack surface.

Outcomes

Results

Coming soon — 30/60/90 day metrics

The rebuild went live in April 2026. We'll update this section with real numbers — lead volume, conversion rate, email-list growth, and coaching-community signups — once we have a full 30-day baseline.

Want the latest numbers before they're public? Email kadinjnest@gmail.com and we'll send them over.

Tradeoffs

Key decisions

Shopify-native membership instead of a third-party portal

Memberstack, Outseta, and Circle all wanted $99–$300/mo to do what Shopify customer accounts + Shopify Flow already do for free. The tradeoff was a slightly more rustic Apply page in exchange for zero monthly fees, no integration surface, and a member graph Josh fully owns inside his existing Shopify admin. For an early community, that's the right tradeoff every time.

Founding-member pricing manufactures urgency without a discount

We refused to run any discount or promo flow. A discount trains the audience to wait for the next one. Founding-member pricing — free for the first 100, then $199/yr — gives the same urgency mechanic with the opposite story: "the price is going up because the value is real, not because we're clearing inventory." The first 100 seats sell themselves; the next 1,000 reinforce the positioning.

Recurring Zoom built into iCal, not a dashboard button

Most communities make members re-check the dashboard for the next call. We built a real recurring .ics file with the Zoom URL baked in, served from /assets/wednesday-call.ics. Members subscribe once. Every future Wednesday at 2pm ET shows up in their calendar with a 15-minute reminder. The vault gates content; the .ics removes friction. Both compound retention.

No navigation, on purpose

The homepage and the Apply page ship with the navbar stripped down to four elements: logo, Member Vault (gated), Account, and the CTA button. For a single-offer creator funnel, exploration is leakage. Members get the vault link; prospects get a single conversion path. The page feels purpose-built rather than templated.

Liquid + Flow over a custom backend

We considered standing up a small serverless API for member state. We chose Shopify Flow because Josh already lives inside Shopify, the tag-based system handles 99% of the workflow logic (welcome email, vault gating, future paid-tier upgrades), and it costs nothing extra. The result: Josh can operate the system without a developer in the loop.

When

Timeline

1
Week 1

Offer design + theme architecture

Workshopped the founding-member offer (free for first 100, $199/yr after). Designed the six-tile value stack with line-item dollar amounts totaling $12,360. Architected the theme around an /apply page → Shopify customer creation → Flow → gated /member-vault funnel.

2
Week 2

Build the funnel and the vault

Built the Apply page (Robluna #become-a-member style), wired Shopify customer creation to a custom Flow that tags new members and fires the welcome email. Built the Member Vault with Wednesday Zoom calendar rendered live from Liquid date math + a recurring .ics file. Single CTA snippet shared across every conversion button.

3
Week 3

Copy, polish, ship

Rewrote sitewide copy in operator-to-operator voice. Stripped the existing nav. Filmed Josh's phone-video hero. Tested end-to-end with dummy customer creation flowing through Flow into the gated vault. Deployed the 3.6 MB theme via the Shopify theme editor.

Want something like this for your business?

We take on a small number of builds each month. If your site should be pulling more weight, book a call and we'll walk through what's possible.

Want to skip ahead? Book then fill the 3-min intake so we walk in prepped.