Install
This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/vercet999/stryd-assistant/archive/refs/heads/main.zipRequires WordPress: 6.0+ Requires PHP: 8.0+ Requires WooCommerce: 7.0+
What is STRYD Assistant?
STRYD Assistant is a custom WordPress plugin built exclusively for the STRYD GH storefront. It turns the WooCommerce product management workflow into a fully AI-powered system — generating product names, SEO descriptions, tags, and pricing suggestions from a single product image, while also handling Telegram order notifications, stock alerts, performance tracking, and headless frontend routing.
Features
| Feature | Description |
|---|---|
| AI Product Generation | Upload a product image → get name suggestions, SEO description, short description, product tags, and category assignment — all in one click |
| Bulk Mode | Upload up to 20 images at once. AI processes each in parallel. |
| Naming History Log | Every applied name is logged. The AI reads this log and never repeats a name. |
| Category Auto-Assign | AI picks the correct category (Street Core / Daily Comfort / Signature) from your WooCommerce categories |
| SEO Audit | Scans all published products and flags missing descriptions, images, prices, tags, and placeholder text |
| Pricing Suggester | Upload a product image → AI returns a GHS price range and STRYD tier based on brand, material, and style |
| Restock Alert | Shows products below your stock threshold. One button sends a formatted Telegram alert with your shopping list |
| Telegram Notifications | Sends a Telegram message to your chat ID(s) every time a new order is placed |
| Performance Tracker | Revenue by day (14-day chart), revenue by category, and top products — all pulled live from WooCommerce |
| Headless Redirect | Redirects all public WordPress frontend requests to your Vercel/headless frontend (strydgh.com) |
| Login Page Customizer | Brands the wp-login.php page with STRYD's dark theme, logo, and green button |
| Dark Mode | Site-wide dark mode toggle for the entire plugin dashboard |
| Dismissable Cards | Guide and tips cards can be hidden per user and restored any time |
Installation
- Download the plugin zip file
- Go to WordPress Admin → Plugins → Add New → Upload Plugin
- Upload the zip → click Install Now → click Activate
- The STRYD menu item appears in the left sidebar
Setup Checklist
1. Claude API Key (required for all AI features)
- Go to console.anthropic.com/api-keys
- Create a new API key
- In WordPress: STRYD → AI Settings → Claude API Key → paste your key → Save
- Add credits at console.anthropic.com/billing — $5 lasts ~2,500 sessions
2. Telegram Notifications
- Open Telegram → search @BotFather → send
/newbot→ follow prompts - Copy the bot token BotFather gives you
- Message your new bot (so it can message you back)
- Get your Chat ID: visit
https://api.telegram.org/bot<YOUR_TOKEN>/getUpdatesafter messaging the bot - In WordPress: STRYD → Telegram → paste token + chat ID → enable → Save → Send Test Message
3. Headless Redirect
- Go to STRYD → AI Settings → Frontend Redirect
- Set your frontend URL (e.g.
https://strydgh.com) - Save — all public visitor requests to the WordPress backend are now silently redirected
4. Login Page Customizer (optional)
- Go to STRYD → AI Settings → Login Page Customizer
- Toggle on → Save
- Visit
yoursite.com/wp-login.phpto see the branded login page
Usage
Single Product Generation
- Open any product in WooCommerce (Products → Add New or Edit)
- Upload the product image as the Featured Image (top right panel)
- Click ✦ Generate with STRYD AI below the product title
- Wait 3–5 seconds
- Click a name suggestion to apply it to the title
- Click Apply buttons to push descriptions to their fields
- Click Fill Tag Field to populate tags — then press the WooCommerce Add button
Bulk Mode
- Go to STRYD → Bulk Mode
- Drag and drop up to 20 product images into the upload zone
- Click ✦ Generate for All
- Each image is processed in parallel — results appear as they complete
- Click any name or text block to copy it
SEO Audit
- Go to STRYD → SEO Audit
- Click 🔍 Run SEO Audit Now
- Red = error (blocks visibility) — fix these first
- Amber = warning (improvements worth making)
- Click Edit → on any product to fix it directly
Restock Alert
- Set your threshold in STRYD → AI Settings → Restock Alert Threshold (e.g. 3 units)
- Go to STRYD → Restock Alert
- Low stock products load automatically
- Click 📲 Send Telegram Restock Alert to message yourself a shopping list
Pricing Suggester
- Go to STRYD → Pricing
- Drop a product image into the upload zone
- Click ✦ Suggest Price
- AI returns a GHS price range, recommended price, STRYD tier, and reasoning
STRYD Naming System
The AI follows STRYD's naming convention for all suggestions.
Tier 1 — Resold brands (Nike, Adidas, Gucci, etc.)
The [Name]
The [Name] — [Colourway]
- Name: One capitalised word naming the feeling or energy, never the feature
- Colourway: Evocative single word (Onyx not Black, Terrain not Green, Chalk not White)
- Example:
The Shadow — Onyx,The Luxe — Ocean,The Classic
Tier 2 — STRYD Originals (future)
STRYD Model [Number] — [Colourway]
- Example:
STRYD Model 01 — Forest,STRYD Model 02 — Chalk
The golden rule: Name the feeling, not the feature.
File Structure
stryd-assistant/
├── stryd-naming-assistant.php ← Main plugin file (admin UI, AJAX handlers)
├── includes/
│ ├── naming-history.php ← Name history storage and retrieval
│ ├── whatsapp.php ← Telegram notification logic (kept as whatsapp.php for compatibility)
│ ├── performance.php ← WooCommerce sales data queries
│ ├── headless.php ← Frontend redirect / headless mode
│ └── login-customizer.php ← wp-login.php branding
├── assets/
│ ├── admin.css ← Dashboard styles (light + dark mode)
│ ├── admin.js ← Dashboard interactivity
│ ├── product.css ← Product page button styles
│ ├── product-assistant.js ← Product page AI generation logic
│ ├── stryd.svg ← STRYD wordmark logo
│ ├── stryd-favicon.svg ← Admin menu icon
│ └── stryd-loader.svg ← Animated loading spinner (pulsing S)
└── README.md ← This file
Database / Storage
The plugin stores everything in the WordPress database using standard options and user meta — no custom tables.
| Key | Type | What it stores |
|---|---|---|
stryd_claude_api_key |
wp_options |
Claude API key |
stryd_v3_settings |
wp_options |
All plugin settings (serialised array) |
stryd_wa_enabled |
wp_options |
Telegram notifications on/off |
stryd_wa_number |
wp_options |
Telegram chat ID(s) |
stryd_wa_apikey |
wp_options |
Telegram bot token |
stryd_dark_mode |
wp_options |
Dark mode on/off |
stryd_usage_count |
wp_options |
AI session counters |
stryd_name_history |
wp_options |
Array of applied product names |
stryd_dismissed_cards |
wp_usermeta |
Per-user dismissed card IDs |
_stryd_telegram_sent |
wp_postmeta |
Duplicate notification guard per order |
AI Models
| Model | Input | Output | Speed | Best For |
|---|---|---|---|---|
| Claude Haiku 4.5 (recommended) | $1.00/MTok | $5.00/MTok | Fast | Naming, descriptions, all standard sessions |
| Claude Sonnet 4.6 | $3.00/MTok | $15.00/MTok | Moderate | Richer, more creative output |
Switch model in STRYD → AI Settings → AI Model.
Cost Reference
At Haiku 4.5 pricing:
| Usage | Monthly cost |
|---|---|
| 50 products | ~$0.10 |
| 200 products | ~$0.40 |
| 20-image bulk batch | ~$0.04 |
| $5 credit | ~2,500 sessions |
WooCommerce Order Number Format
STRYD uses custom order numbers configured separately via functions.php:
add_filter('woocommerce_order_number', function($order_id) {
return 'STRYD-' . str_pad($order_id, 3, '0', STR_PAD_LEFT);
}, 1, 1);
This is not part of the plugin — it lives in the theme's functions.php.
Headless Mode Notes
The plugin redirects all public WordPress requests to your Vercel frontend using a 307 temporary redirect. The following are never redirected (bypassed automatically):
/wp-admin/— admin panel/wp-json/— REST API (used by the Vercel frontend to fetch products)/wp-login.php— login page/wc-api/— WooCommerce webhooks/?wc-ajax=— WooCommerce AJAX (cart, checkout)- WordPress cron and REST requests
Telegram Integration Notes
- The
includes/whatsapp.phpfilename is kept for code compatibility — it handles Telegram, not WhatsApp - Supports multiple chat IDs (comma-separated) in the Chat ID field
- Notifications fire on
woocommerce_order_status_processingandwoocommerce_order_status_completed - Duplicate notification protection: once sent per order, stored in order meta as
_stryd_telegram_sent - Debug logging active when
WP_DEBUGistrue
Changelog
v3.2.0
- Login page customizer (STRYD-branded wp-login.php)
- All "WhatsApp" labels updated to "Telegram" across dashboard
- Fixed
dismiss_cardAJAX storing empty strings in user meta - README added
v3.1.0
- Bulk Mode (up to 20 images in parallel)
- SEO Audit (scans all products, flags errors and warnings)
- Pricing Suggester (GHS price range from product image)
- Restock Alert (Telegram shopping list)
- Animated STRYD spinner replacing CSS spinners
- Font sizes bumped +2px across dashboard
- Dismissable cards (per-user, restorable)
- Dynamic cost card (updates when model is changed)
v3.0.0
- Category Auto-Assignment
- Naming History Log (anti-repetition fed into AI prompt)
- Telegram notifications (replaced CallMeBot/WhatsApp)
- Performance Tracker (revenue chart, category breakdown, top products)
- Dark mode switcher (site-wide, persisted)
- Full STRYD-branded admin dashboard with navigation
v2.3.0
- Improved AI prompt (anti-repetition, creativity rules)
- Accra namedrop reduced in descriptions
- Tags expanded to 8–10 per product
v2.2.0
- Tag field population fix (comma-separated, manual Add)
v2.1.0 / v2.0.0
- Feature toggles (names, descriptions, short desc, tags)
- SEO description generation
- Short description generation
- Usage stats tracker
- Dark/light admin dashboard
v1.0.0
- Initial release: AI product naming from image
- Claude Haiku integration
- WooCommerce product page button