Most portfolios tell you what someone can do. This one does it in front of you: every page here — the moving canvas, the games, the systems underneath — was designed and shipped with Claude Code as my pair engineer, running natively on Shopify. AI is not my buzzword. It is my workbench.
Every automation here followed the same development an artwork does — looked at honestly, composed deliberately, refined until it holds.
Observation
Watch the real work first: what is done by hand, how often, and what it costs — written down before anything is built.
Research
Read the terrain: the existing code, the APIs in play, and what the data really looks like.
Composition
Turn the goal into a numbered plan with named parts, and agree on it before a line is written.
Building
Build with Claude Code as a pair engineer — the system is written, connected, and made to run end to end.
Refinement
Review the work, test it against real cases, and fix what the review finds before anyone relies on it.
Delivery
Hand the schedule to the machine, watch the first runs, and leave the team with something that quietly works.
Selected work
Studies in automation
Personal builds and internal tooling — each began as a repeated manual task and ended as a system that runs itself.
2026 · Internal tool
AI Reporting Dashboard for E-commerce Teams
Every morning at 07:00 an LLM pipeline pulls Shopify sales, Meta ads, and GA4 traffic, writes the story behind the numbers, and posts a digest to Slack. What used to be a six-hour Friday ritual now takes forty seconds.
6h/wk → 40s · 14 KPIs · daily 07:00
Claude API · Node · GAQL · Slack
2026 · Internal tool
AI Reporting Dashboard for E-commerce Teams
Every morning at 07:00 an LLM pipeline pulls Shopify sales, Meta ads, and GA4 traffic, writes the story behind the numbers, and posts a digest to Slack. What used to be a six-hour Friday ritual now takes forty seconds.
Built with
Claude API · Node · GAQL · Slack
Real outcomes
6h/wk → 40s · 14 KPIs · daily 07:00
2026 · E-commerce
Shopify Product Page Automation System
Bulk-generates product copy, metafields, and alt text against a brand-voice rubric, then routes every draft through a human approval queue before anything touches the live store.
1,400 SKUs · 92% auto-approved
Shopify Admin API · Liquid · Claude
2026 · E-commerce
Shopify Product Page Automation System
Bulk-generates product copy, metafields, and alt text against a brand-voice rubric, then routes every draft through a human approval queue before anything touches the live store.
Built with
Shopify Admin API · Liquid · Claude
Real outcomes
1,400 SKUs · 92% auto-approved
2026 · Marketing ops
Meta Ads Performance Analyzer
Watches ad-set fatigue and CPA drift daily, calls out creatives that stopped earning their budget, and drafts the reallocation plan before the Monday meeting exists.
−23% wasted spend · daily scan
Meta API · Node · Sheets
2026 · Marketing ops
Meta Ads Performance Analyzer
Watches ad-set fatigue and CPA drift daily, calls out creatives that stopped earning their budget, and drafts the reallocation plan before the Monday meeting exists.
Built with
Meta API · Node · Sheets
Real outcomes
−23% wasted spend · daily scan
2026 · Operations
Inventory Sync Workflow
Reconciles 3PL counts against Shopify every hour, heals small drifts silently, and pages a human only when something is genuinely wrong. Boring by design — that is the point.
142 SKUs/run · 99.2% silent
n8n · REST · Webhooks
2026 · Operations
Inventory Sync Workflow
Reconciles 3PL counts against Shopify every hour, heals small drifts silently, and pages a human only when something is genuinely wrong. Boring by design — that is the point.
Built with
n8n · REST · Webhooks
Real outcomes
142 SKUs/run · 99.2% silent
2026 · Content
AI-Powered Product Description Generator
A generator constrained by a JSON-schema brand rubric — tone rules, banned words, sizing logic — so drafts arrive on-voice instead of AI-flavored. Humans approve; machines type.
10× faster drafts · 0 off-voice
Claude · JSON Schema · Shopify
2026 · Content
AI-Powered Product Description Generator
A generator constrained by a JSON-schema brand rubric — tone rules, banned words, sizing logic — so drafts arrive on-voice instead of AI-flavored. Humans approve; machines type.
Built with
Claude · JSON Schema · Shopify
Real outcomes
10× faster drafts · 0 off-voice
2026 · Creative ops
Creative Asset QA Checker
Validates every campaign asset before upload — dimensions, naming, weight, contrast. Rejections come back with the reason and the fix, not just a red X.
~400 assets/mo · 0 bad uploads
Node · Sharp · Drive API
2026 · Creative ops
Creative Asset QA Checker
Validates every campaign asset before upload — dimensions, naming, weight, contrast. Rejections come back with the reason and the fix, not just a red X.
Built with
Node · Sharp · Drive API
Real outcomes
~400 assets/mo · 0 bad uploads
2026 · CX
Customer Support SOP Automation
Turns resolved support threads into living SOP articles — deduped, versioned, searchable — so the answer to any question only has to be discovered once.
68 SOPs · −35% repeat tickets
Gorgias · Claude · Notion
2026 · CX
Customer Support SOP Automation
Turns resolved support threads into living SOP articles — deduped, versioned, searchable — so the answer to any question only has to be discovered once.
Built with
Gorgias · Claude · Notion
Real outcomes
68 SOPs · −35% repeat tickets
2026 · In progress
Internal Workflow Command Center
One place to watch every automation above: run history, live logs, one-click re-runs, and a health board for the whole collection.
9 workflows · 1 pane of glass
React · Node · Cron
2026 · In progress
Internal Workflow Command Center
One place to watch every automation above: run history, live logs, one-click re-runs, and a health board for the whole collection.
Built with
React · Node · Cron
Real outcomes
9 workflows · 1 pane of glass
Selected personal & internal projects · client work available on request
Experience
Three years keeping a real store alive
For three years I have looked after the storefront of Wooden Ships, a knitwear brand with a demanding, loyal audience — theme code, UX, automation, analytics, and the quiet operational work between. The figures beside this paragraph are the store’s own, stated plainly.