Getting Started
Welcome to ThemeSync
ThemeSync is a unified theme ops platform for Shopify and WooCommerce agencies. It replaces your staging server, BrowserStack screenshots, Figma annotation workflows, and email chains — giving you one place to develop, preview, QA, and collect client sign-off on themes.
Works with Shopify and WooCommerce
ThemeSync supports both platforms. Shopify sessions use the official Shopify CLI running in the cloud. WooCommerce sessions use a lightweight WordPress plugin for zero-risk preview on live sites.
What you can do:
☁
Cloud Preview
Run your dev theme in the cloud. Clients see the preview on their live store — no code exposure.
📷
Visual QA
Automated cross-browser screenshots on 5 devices and 4 browser engines, including real Safari.
💬
Client Feedback
Share a link. Clients drop pins, leave comments, and approve pages — no login required.
👥
Team Workflow
Multi-role approval matrix. Designer, QA, PM, and client sign-offs per page and viewport.
Create a Session
A session represents one theme development project. It connects to a store, tracks your git repo, manages previews, and holds all QA and feedback data.
1
Sign in
Log in with Google, GitHub, or email. Your account is created automatically on first sign-in.
2
Choose a platform
Shopify — connects to your client's Shopify store.
WooCommerce — connects to a WordPress/WooCommerce site.
3
Configure the session
Enter your store URL and optionally connect a git repository. Choose a branch and sync interval.
4
Start developing
ThemeSync clones your repo, starts the dev environment, and gives you preview URLs and a live console.
Shopify vs WooCommerce
| Feature | Shopify | WooCommerce |
| Preview Method | Shopify's native theme preview URL | Plugin swaps active theme per visitor |
| Dev Environment | Full Shopify CLI with live terminal | Git-push deploys + CDN delivery |
| Git Sync | Clone + auto-pull | Clone + auto-pull + auto-deploy to WP site |
| Auth Mode | Browser-based or Theme Access password | WP Application Passwords |
| Templates | Liquid templates (auto-detected) | PHP templates (scanned from theme) |
| QA Screenshots | Via local dev server | Via live site + preview token |
Git Integration
Connect a git repository to keep your theme in sync with your team's workflow. ThemeSync clones the repo, pulls changes automatically, and — for WooCommerce — deploys updates to the live site.
Supported providers:
- GitHub — Use a Personal Access Token (PAT) with repo access
- GitLab — Use a Project or Personal Access Token
- Bitbucket — Use an App Password with repository read access
- Any git host — Any HTTPS git URL with credentials works
Credentials are encrypted
Git tokens and passwords are encrypted before storage. They're never visible in the dashboard after saving.
Auto-sync options:
| Interval | Best for |
| Off | Manual pull only — stable branches you want to control |
| 30 seconds | Active development — see changes almost instantly |
| 1 minute | Default. Balanced between freshness and performance |
| 5 minutes | Low-frequency check — staging or QA branches |
Dashboard Navigation
The dashboard has a sidebar listing all your sessions and a main area with tabs for each feature:
🏠 Overview — Store status, preview URLs, git status, console
📄 Templates — Map theme templates to real store pages
📷 QA — Screenshots, code scan, compatibility checks
💬 Feedback — Client feedback sessions and comments
🎥 Video Guide — AI-powered client walkthroughs
⚙ Settings — Session configuration and credentials
Each session and tab has a shareable URL — bookmark or share links directly to specific views.
Shopify
Shopify Sessions
Shopify sessions run the official Shopify CLI in the cloud. You get a persistent dev server with live-reload, preview URLs, and theme editor access — without running anything on your local machine. Sessions persist across restarts, so your work is always available.
Connecting Your Store
When you start a session for the first time, Shopify asks you to authenticate:
1
Start the session
Click "Start" on your session. ThemeSync launches the Shopify dev server in the background.
2
Authenticate
An auth link and verification code appear in the console. Click the link, confirm the code in your browser, and you're connected.
3
Preview goes live
Once authenticated, ThemeSync shows your preview URL, editor URL, and store connection status.
Skip browser auth entirely
Use a
Theme Access password to connect without any browser prompts. The session runs unattended and never expires.
Theme Access Password
A Theme Access password lets your session run without any manual authentication. This is the recommended setup for production use — your session stays running indefinitely with no re-auth prompts.
How to set it up:
- Install the Theme Access app from the Shopify App Store on your client's store
- Create a new password with the necessary permissions
- Paste it into the session settings in ThemeSync
Benefits:
- No browser prompts — runs completely unattended
- Never expires — session stays active indefinitely
- Survives restarts — session automatically reconnects after any downtime
- Best for team use — no individual auth sessions to manage
Dev Server & Preview
Once your session is running, you get three key URLs:
| URL | What it's for |
| Preview URL | The live store showing your dev theme. Share this with clients — they see the design without accessing any code. |
| Editor URL | Shopify's theme editor, pre-loaded with your dev theme. Make visual edits directly. |
| Store Status | Shows which store is connected, which theme is active, and the current dev server state. |
Multiple sessions at once
You can run multiple sessions simultaneously — one per client project. Each session is completely isolated.
Live Console
The dashboard includes a live console showing real-time output from the Shopify CLI. You can:
- Watch file change notifications and live-reload status
- See errors and warnings as they happen
- Send input to the CLI — answer prompts, select themes, type commands
- Reconnect anytime and see recent output history
Collapse the console
Click the console header to collapse it when you don't need it. Expand it again anytime to check on the session.
WooCommerce
WooCommerce / WordPress
WooCommerce sessions let you preview development themes on live client WordPress sites — without affecting production visitors. Your client's customers always see the current live theme, while you (and your client via a special link) see the dev version.
How it works:
- Install the Theme Sync plugin on your client's WordPress site
- Connect the site to your ThemeSync session
- Push theme changes via git — they automatically appear on the client's site
- Share a preview link with your client to review the dev theme
- Production visitors are completely unaffected — they see the normal live theme
Installing the Plugin
The Theme Sync plugin handles preview switching, theme delivery, and sync on the WordPress side:
⚡ Automatic Install
Provide your WP admin credentials in ThemeSync and it installs the plugin for you — no manual uploads needed.
📦 Manual Install
Download the plugin zip from your ThemeSync dashboard and upload via WP Admin → Plugins → Add New → Upload.
Multiple sessions per site
The plugin supports multiple preview sessions on the same WordPress site — useful for comparing different versions or A/B testing designs.
Connecting to Your Site
To connect ThemeSync to a WordPress site, you need:
- Site URL — e.g.,
https://client-site.com
- WordPress username — An admin account
- Application Password — Generated in WP Admin → Users → Profile → Application Passwords
Once connected, ThemeSync can:
- Install and configure the plugin remotely
- Push theme updates automatically when you commit to git
- Fetch your site's pages for template mapping
Theme Preview
Once connected, ThemeSync generates a preview link you share with clients:
Example:
https://client-site.com/?theme_preview=wtp_xxxxxxx
Only people with this link see the dev theme. Everyone else — shoppers, search engines, bots — sees the production theme. Zero risk.
Preview features:
- Full WordPress site rendering with your dev theme
- WP Admin access in preview mode (custom fields, page editor)
- Template overrides applied per page
- Secure token — cryptographically random, not guessable
Syncing Changes
When you push to your git branch, ThemeSync automatically delivers the updated theme to the client's WordPress site. The process takes seconds:
- You push to git (or ThemeSync auto-pulls on schedule)
- ThemeSync packages the theme and delivers it to the WordPress plugin
- The plugin extracts the new files — your client sees the update immediately on their preview link
With auto-sync on, changes typically appear within 30–60 seconds of pushing.
Publishing Live
When the client approves the theme and you're ready to go live, publish directly from ThemeSync:
- The preview theme becomes the active live theme
- The preview session is cleaned up automatically
- No manual file copying or FTP needed
One-way operation
Publishing makes the dev theme live for all visitors. Make sure all approvals are complete and the theme is fully tested first.
Templates
Template Mapping
Template mapping connects your theme's template files to real store pages. This tells ThemeSync which URLs to screenshot during QA and enables correct routing when clients browse the preview.
Why it matters:
- QA screenshots need real URLs — not just template file names
- Clients should browse the preview like a real store (homepage, products, collections, etc.)
- Different pages use different templates — mapping ensures the right template renders for each page
Shopify Templates
ThemeSync auto-detects template files from your theme and shows them in the Templates tab:
- Homepage —
index.json
- Product pages —
product.json
- Collections —
collection.json
- Custom pages —
page.*.json
- Blog & articles —
blog.json, article.json
For each template, assign a store URL — the real page on the client's store that uses that template. ThemeSync fetches your store's products, collections, pages, and blogs so you can pick URLs from a dropdown.
WooCommerce Templates
For WordPress themes, ThemeSync scans for PHP template files and shows them in the Templates tab:
- Custom page templates —
page-*.php
- Single post/product —
single.php, single-*.php
- Archive pages —
archive.php, archive-*.php
- Homepage —
front-page.php
ThemeSync also fetches your WordPress pages so you can assign URLs with autocomplete.
Custom URLs
Not all pages come from the CMS. Add custom URLs for anything you want included in QA:
- Landing pages created via apps
- Cart and checkout pages
- Search results
- 404 pages
- Any special URL path
Custom URLs are saved per session and persist across QA runs.
Preview Snippet (Shopify)
The preview snippet enables template-aware routing — when a client browses /products/shirt on the preview, they see it rendered with the correct product template from your dev theme.
- Inject — adds a small snippet to your theme's layout (one click)
- Remove — cleanly removes it when you're done (one click)
- Uses your template mappings to serve the right template for each URL
QA & Screenshots
QA Screenshots
Capture full-page screenshots of your theme across multiple devices and real browser engines. Automated QA that catches layout breaks, responsive issues, and cross-browser bugs before clients see them.
How it works:
- Select which pages to capture (from template mappings + custom URLs)
- Choose devices — Desktop, iPhone, iPad, Android, Wide monitor
- Pick a browser — Chrome, Firefox, Safari (WebKit), or real Safari via BrowserStack
- Click capture — ThemeSync takes full-page screenshots with smart scrolling for lazy-loaded images
- Review results in a visual grid and approve or flag issues per page
Device Presets
| Device | Resolution | Type |
| Desktop | 1280 × 800 | Standard laptop |
| Wide Desktop | 1920 × 1080 | Full HD monitor |
| iPhone 14 | 390 × 844 @2x | iOS mobile |
| iPad | 768 × 1024 @2x | Tablet |
| Android (Pixel 7) | 412 × 915 @2x | Android mobile |
Select any combination of devices per QA run. The most common combo is Desktop + iPhone for quick checks, or all 5 for a full pre-launch audit.
Browser Engines
ThemeSync uses real browser engines — not device emulators or simulators. Each engine renders CSS and JavaScript differently, which is exactly why cross-browser testing matters:
🌐
Chromium
Chrome/Edge rendering. The default and fastest engine.
🦊
Firefox
Gecko engine. Catches CSS differences vs Chrome.
🧭
Safari (WebKit)
Real WebKit engine — matches how iOS/macOS Safari renders.
📱
Real Safari
BrowserStack: actual iOS device, actual Safari. No simulation.
Real Safari Testing
For the most accurate Safari testing, ThemeSync integrates with BrowserStack to capture screenshots on real hardware:
- iPhone 16 — real Mobile Safari on iOS 18
- iPad Pro 12.9" — real tablet Safari
- macOS Sonoma — real desktop Safari (latest version)
- Samsung Galaxy S24 — real Android Chrome
How to enable: Go to Settings and add your BrowserStack credentials. BrowserStack offers a free tier with 100 minutes/month — plenty for regular QA runs.
Code Scan
The code scan checks your theme source files for cross-browser compatibility issues and common performance problems:
What it checks:
CSS issues — flexbox gap (Safari bug), missing vendor prefixes, grid fallbacks, sticky positioning
JavaScript issues — missing polyfills, Web Components, modern syntax without transpilation
Template issues — performance anti-patterns, blocked scripts, deprecated APIs
Severity levels — Critical (will break), Warning (may cause issues), Info (worth noting)
Each finding includes a description, the affected file and line, and a recommended fix. Run a code scan before QA screenshots to fix issues proactively.
Dismiss Selectors
Many sites have popups, cookie banners, or modals that obscure the page during screenshots. Add dismiss selectors to automatically close them before capture:
- Add a CSS selector for the close button (e.g.,
.cookie-banner .close)
- ThemeSync clicks it before taking the screenshot
- Saved per session — works across all future QA runs
QA Approvals
After capturing screenshots, team members can approve or reject each page at each viewport:
| Dimension | How it works |
| Per page | Each mapped page/URL is approved independently |
| Per viewport | Mobile, Tablet, Desktop — each signed off separately |
| Per role | Designer, QA, PM — each role signs off independently |
A page is fully approved only when all required roles have signed off on all viewports. Rejections include a reason and can be resolved and re-approved later.
Feedback
Client Feedback
Share a timed link with your client. They browse the theme preview and drop visual comments directly on the page — like commenting on a design file, but on a live website. No login required for clients.
Feedback Sessions
A feedback session is a timed link that gives clients access to leave comments on your preview:
- Configurable expiry — set from 1 hour to 30 days
- No client login — they just click the link and start commenting
- Secure — links are cryptographically random and not guessable
- Revocable — close the session early if needed
- Reopenable — extend expired sessions with a new deadline
Pro tip: Create separate feedback sessions for different review rounds. This keeps comments organized by phase (e.g., "Round 1 — Layout Review" vs "Round 2 — Final Polish").
Feedback Overlay
When a client opens the feedback link, a lightweight commenting tool appears on top of the preview site:
- Pin-drop mode — click anywhere on the page to place a comment
- Comment form — type feedback with full page context captured automatically
- Free navigation — browse the entire theme naturally, leave comments on any page
- Device-aware — comments are tagged by viewport (mobile/tablet/desktop)
- Name entry — optional name/email so you know who said what
Comments & Pins
Each comment captures rich context so you know exactly what the client saw:
- Precise positioning — pinned to the exact spot on the page, even if the layout shifts
- Page context — which page, what viewport size, which browser
- Threaded replies — discuss back and forth on each pin
- Resolve & reopen — mark comments as fixed, reopen if the fix doesn't land
- Numbered pins — each pin gets a sequential number for easy reference in calls or emails
Page Approvals
Feedback sessions include a multi-role approval system. Each page can be approved per viewport per role:
- Client — approves via the feedback overlay
- Designer — approves visual fidelity
- QA — approves cross-browser correctness
- PM — final sign-off on scope and requirements
A page is "done" when all required roles have approved all viewports. The dashboard shows approval progress at a glance.
Exporting Feedback
Export all feedback data as structured JSON for your project management tool, reports, or archives. The export includes:
- All comments with their page and position context
- Resolution status and timestamps
- Page approval decisions and who approved
- Client identity (if provided)
Teams
Teams & Roles
Invite team members and assign roles to create structured approval workflows. Everyone sees the same sessions but can only approve within their role's scope.
Roles & Permissions
| Role | What they can do | Typical user |
| Admin | Everything — create sessions, manage team, approve as any role | Agency owner, lead dev |
| Designer | View sessions, approve visual design, leave feedback | UI/UX designer |
| QA | Run screenshots, approve QA, manage code scans | QA engineer, tester |
| PM | Approve scope/requirements, manage feedback sessions | Project manager, account manager |
Inviting Members
Add team members in a few clicks:
- Go to the Team page
- Enter their email and choose a role
- Share the invite link (valid for 7 days)
- When they sign in, they're automatically added to your team
Auto-accept: If someone signs in with an email that has a pending invite, they're added automatically — no manual step needed.
Approval Workflow
The approval system tracks sign-offs across Page × Viewport × Role. A theme is ready to ship when:
- All required roles have approved each page at each viewport
- All feedback comments are resolved
- No critical code scan findings remain
You can see overall approval progress on the QA tab — a quick visual showing what's approved, what's pending, and what's been rejected.
Git
Git Integration
Connect your git repository to keep your theme in sync with your team's workflow. Push to git, and ThemeSync pulls the latest automatically.
Connecting a Repo
Add a git URL when creating a session (or update it in settings). ThemeSync clones the repo and checks out your specified branch:
- Supports any git host — GitHub, GitLab, Bitbucket, or self-hosted
- Private repos are supported — embed credentials in the URL or use a token
- Each session has its own isolated copy of the repo
Auto-Sync
With auto-sync enabled, ThemeSync periodically pulls the latest changes from your remote branch:
- Choose an interval: 30s, 1 min, or 5 min
- Changes are pulled in the background — you see a notification in the console
- For WooCommerce, updates are automatically deployed to the client site
- Manual pull is always available via the "Sync" button
Branches & Versions
Need to preview a different branch? Use Duplicate Session:
- Click "Duplicate" on an existing session
- Choose a different git branch
- Optionally carry over template mappings
- Both sessions run side-by-side — compare branches in real-time
This is ideal for A/B testing designs, reviewing feature branches before merge, or maintaining a "staging" and "production" preview simultaneously.
Video Guide
Video Guide
Generate AI-powered client walkthrough scripts for your theme. ThemeSync analyzes your theme's structure and produces clear, contextual documentation your clients can follow to manage their own content.
Theme Intelligence
Theme Intelligence scans your theme and builds a map of everything a client can edit:
- Templates — which pages the theme supports
- Sections — every customizable section and its options
- Settings — all theme settings (colors, fonts, layouts, toggles)
- Editability — what the client can change vs what requires a developer
This data powers the script generator and helps you build accurate handoff docs.
Script Generation
Using the theme intelligence data, ThemeSync generates client-facing walkthrough scripts that explain:
- How to edit each section of the theme
- Where to upload images and change text
- What each theme setting controls
- Tips for keeping the design consistent
Scripts can be generated as text (for documentation) or paired with AI voiceover for video walkthroughs. Supports professional-quality voice synthesis for polished client deliverables.
Account
Account & Billing
Your Account
Sign in with Google, GitHub, or email and password. Your account is created automatically on first sign-in — no separate registration step.
- Sessions stay active across tabs and browser windows
- All your sessions, team memberships, and billing info are tied to your account
- Admin access is granted to designated team leads (configured by your org)
Billing & Plans
- Free tier — 1 session with basic QA features, no card required
- Paid plans — Multiple sessions, BrowserStack integration, team features, priority support
- Self-serve portal — Upgrade, downgrade, update payment, and view invoices anytime
- Cancel anytime — Access continues until end of your billing period
14-day trial on paid plans
Try any paid plan free for 14 days. No credit card required to start.