ChesterStudio Open the live store

WordPress · WooCommerce · PHP

WordPress,
built like software.

Custom themes, WooCommerce stores and plugins, written by hand. No page builder and no pile of plugins: a fast site your team edits in the normal WordPress editor, and checkout code you can actually read.

The whole store, checkout and wp-admin run in your browser. Nothing to install.

  • 1custom block theme
  • 2custom plugins
  • 13products · 27 variations
  • 3local payment methods
  • 0automated checks, PHP 7.4 and 8.3

Case study

Ulap Coffee Roasters

A complete WooCommerce store for a Philippine specialty roaster, built from an empty folder: the theme, two plugins, the product art and the store setup. Ulap is a concept brand I made to show the whole stack. Every line of code is real, and you can open the running store yourself.

Ulap Coffee RoastersThe Ulap homepage: this week's roasts in a four-column product grid

01 · Theme

A storefront the owner can edit.

A block theme with its design in theme.json: colours, type scale, spacing and fonts in one file. Every homepage section is a block pattern, so the owner changes words, products and photos in the WordPress editor and the design holds.

  • Full Site Editing: templates, parts and 10 patterns
  • Self-hosted fonts, the headline face preloaded
  • WooCommerce block templates for shop, product, cart, checkout and confirmation
/shopThe shop page with category, roast, process and origin filters beside the product grid

02 · Catalogue

Filters shoppers actually use.

Origin, roast and process are real WooCommerce attributes, so the shop filters, counts and sorts them with WooCommerce’s own blocks. No filter plugin. Each coffee has one variation per bag size; grind is a free choice, so it never touches the price.

  • Attribute filters with live counts
  • Variable products: 250 g, 500 g, 1 kg
  • Out-of-stock sizes shown, not hidden
/product/sagada-heirloomSagada Heirloom product page with tasting notes, a roast meter, farm facts and the size and grind options

03 · Custom block

A product page that sells the coffee.

A server-rendered block reads each coffee’s attributes and draws the tasting notes, a roast meter and the farm facts. The owner fills in normal product fields; the page lays itself out. Brew gear has no roast, so the block quietly steps aside.

  • block.json + render.php, no build step
  • Accessible roast meter with a spoken label
  • Product art drawn as vector, one file per bag

Plugin · Transfer Pay for WooCommerce

GCash, Maya and bank transfer, without the chasing.

Most Philippine shops already sell by transfer. The hard part is matching screenshots to orders in Messenger. This plugin turns it into a checkout: the shopper sees exactly what to send, uploads the receipt on the order page, and the shop verifies it in one click.

Emails

Every step tells someone.

Three branded emails, built as real WooCommerce email classes, so the shop edits them under WooCommerce → Settings → Emails like any other.

Strict where it counts

Uploads check the nonce, the order key, the file’s real type and size. Receipts live in a private folder and only reach shop staff through a permission check.

Emails sent exactly once

Each order claims its “how to pay” email before sending; a failed send gives the claim back. All three emails are editable in WooCommerce → Settings → Emails.

Unpaid orders clean up

Action Scheduler cancels orders nobody paid for after 48 hours and puts the stock back. Orders with a receipt waiting are never touched.

Ulap Coffee RoastersThe brew calculator: pick a method and servings to get coffee, water, ratio, grind and time

04 · Interactivity API

A brew calculator with no JavaScript bundle.

Built on WordPress’s own reactive layer. The server renders the full recipe, so it reads right before any script loads; then every tap updates the dose, water, grind and time instantly. Most WordPress developers haven’t touched this API yet.

  • viewScriptModule with derived state
  • Works with JavaScript off
  • Keyboard and screen-reader friendly
Ulap homepage on a phone
Batangas Barako product page on a phone with the roast meter

05 · Phone first

Most of your shoppers are on a phone.

Every template is designed at phone width first: tap targets, the filter drawer, a sticky header that stays out of the way, and no sideways scroll anywhere.

Read the code

The part page builders hide.

Short excerpts from the build. The full source for the theme and both plugins comes with every project, commented and yours to keep.

  • HPOS (custom order tables) compatible
  • Cart and Checkout blocks compatible
  • Order CRUD only, no direct post meta
  • Escaped output, sanitized input, nonces, capability checks
  • Every string translatable
  • PHP 7.4 to 8.3, WordPress 6.6+, WooCommerce 8.5+

Why not a page builder?

Same WordPress. Different foundation.

Typical page-builder siteBuilt by Chester Studio
EditingA second editor on top of WordPressThe normal WordPress editor, with your own patterns
PluginsA builder, add-ons and a plugin per featureWooCommerce plus code written for your shop
SpeedBuilder CSS and JavaScript on every pageOnly what the page uses; fonts self-hosted
Local paymentsScreenshots chased in MessengerReceipts uploaded to the order, verified in one click
UpdatesA builder update can break layoutsCore blocks and WooCommerce APIs, tested
The codeLocked inside a builder’s formatReadable PHP and JavaScript you own

Already on WordPress?

I’ll look after it.

Most WordPress sites break slowly: a plugin falls behind, a backup quietly stops, the checkout gets slower every month. A care plan catches all of it before your customers do, on sites I built and on sites I didn’t.

Ask about a care plan
  1. Every dayOff-site backups and uptime checks, with an alert the moment the site goes down.
  2. Every weekWordPress, theme and plugin updates, tested on a staging copy before they touch the live site.
  3. Every monthSecurity scan, speed and Core Web Vitals check, a test restore of the backup, and a short report.
  4. Whenever you needSmall fixes, content changes and a person to message when something looks wrong.

For WordPress clients

What I build on WordPress.

01

Custom themes

From your Figma or Photoshop files to a block theme your team edits without breaking it.

02

WooCommerce stores

Products and variations, shipping zones, GCash, Maya and bank transfer, branded order emails.

03

Plugins and integrations

Payment flows, custom blocks, REST endpoints, webhooks, CRM and n8n automations.

04

Speed and fixes

Slow pages, broken checkouts, plugin clean-ups and PHP upgrades on an existing site.

05

Hosting and launch

Staging, SSL, DNS, backups and email that lands, on cPanel or managed hosting.

06

Care after launch

Updates, backups and uptime checks every month, so the site keeps running.

  1. BriefYou tell me what the site has to do.
  2. PlanI send back the pages, features and a fixed quote.
  3. Build on stagingYou watch it come together on a private link.
  4. Launch and hand overIt goes live, and your team gets a walkthrough.
  • PHP 8
  • WordPress 7
  • WooCommerce 11
  • Gutenberg blocks
  • Interactivity API
  • theme.json
  • REST API
  • WP-CLI
  • MySQL
  • Action Scheduler
  • JavaScript
  • HTML & CSS
  • Git
  • Figma
  • n8n

Try it

Open the store. Check out. Pay by GCash.

The live store runs WordPress, WooCommerce and wp-admin inside your browser through WordPress Playground. Place an order, upload a receipt, then switch to wp-admin and verify it yourself. Nothing you do there touches a real shop.

First load takes about 30 seconds while WordPress boots in your browser.