Portfolio piece
This isn’t a real store.
It’s a portfolio piece by Philip Rehberger — a full-stack developer with 15+ years of experience — built to demonstrate modern WordPress and WooCommerce capabilities to potential clients.
The brand is fictional. The products are real-looking placeholders. Payments run in Stripe test mode; downloads are demo files. But the build itself is production-grade.
What this demonstrates
Custom FSE block theme built from scratch
No starter theme. Hand-written theme.json with a deliberate color/type/spacing system. Block templates for every WP and WooCommerce page (home, shop, single product, cart, checkout, search, 404). Six reusable marketing patterns the editor can drop anywhere.
Three original Gutenberg blocks
- Test Card Helper — dynamic block with PHP server-render and clipboard interactivity.
InspectorControlstoggle which Stripe test cards display. - Trust Stack — count-up animation via
IntersectionObserver+requestAnimationFrame. Respectsprefers-reduced-motion. Configurable 2-4 stats. - Product Comparison — dynamic block fetching live WC product data. Editor preview uses
useEntityRecordfrom@wordpress/data. Toggle which rows display.
WooCommerce hooks, not just plugin assembly
An “Intended use” select field added at checkout via the modern woocommerce_register_additional_checkout_field API (block-checkout compatible). Saved to order meta. Displayed in admin order screens. Custom thank-you copy via woocommerce_thankyou_order_received_text.
Real infrastructure
Self-hosted on AWS EC2 alongside several other production sites. Apache 2.4 + PHP 8.3 + MySQL 8 on Ubuntu 24.04. Let’s Encrypt for TLS. Node-based deploy script with rsync + node-ssh, WSL-safe SSH key staging, idempotent server bootstrap. The deploy artifact is the theme + custom plugins only — WordPress core, WooCommerce, and uploads stay on the server.
Reproducible by design
Every piece of configuration — WC settings, payment gateways, email branding, products, pages, navigation — lives in version-controlled scripts. npm run wc:configure, npm run seed:products, npm run seed:pages. A fresh install reaches feature parity in minutes, not days.
Looking for a WordPress build?
Get in touch at philiprehberger.com.