Goodsize — a three-language WooCommerce store for FABI and Barracuda shoes
A shoe store built end to end: a custom theme from the Figma design, filters and sizes, three languages, NovaPay and Nova Poshta, parcel tracking and abandoned-cart emails.
Goodsize (goodsize.com.ua) is a Ukrainian online store for FABI and Barracuda shoes, bags and clothing. We built it end to end: from an empty hosting account and a Figma design to a working three-language store with online payment, Nova Poshta delivery, parcel tracking and emails for shoppers who left without paying. Then we moved the site from a staging subdomain to the main domain, and we keep maintaining it as the client sends changes.
Technology stack
WordPress + WooCommerce with a custom theme built from the Figma design, with no page builders and no ACF: every block of the home page, header and footer is edited through our own fields engine in familiar admin tabs. Languages run on Polylang (Ukrainian, English, Russian) plus our own code that brings WooCommerce up to three languages. Search is FiboSearch, SEO is Yoast, forms are Contact Form 7, and images are served as WebP. Card payments go through NovaPay, alongside cash on delivery and bank transfer; delivery is Nova Poshta (branch, parcel locker, courier) plus a Kyiv courier.

The home page
The home page is short and works as a shop window: a banner with a link to the catalogue, a product selection and four large category tiles — loafers and mules, boots, accessories, clothing. Every block can be edited or switched off in the admin, and the brand tabs in the header lead straight into the filtered catalogue.

Catalogue and filters
The filters are written for this store rather than taken from a plugin: colour, gender, material, type, season, size and price. They work without reloading the page, and the selection is kept in the URL, so a filtered page can be shared as a link. On a phone the filters open as a separate panel. An empty result gets its own state instead of a blank grid.

The product page
Sizes are picked from tiles, and sizes that are out of stock are greyed out and struck through, so a shopper never meets “unavailable” in the cart. Each size is a separate WooCommerce variation with its own price. A gallery with thumbnails, then specifications and accordions for delivery and returns.

Cart and checkout
The cart, checkout and customer account are built to the design rather than left as stock WooCommerce templates. Checkout is split into steps — customer details, delivery and payment — with the order summary and a promo code field on the right. We set up NovaPay online payment and tested it end to end: from the redirect to the payment page to the order status changing automatically after payment.

Three languages
Polylang translates posts, but not everything a store keeps in its settings. So we added the rest: delivery and payment method names in three languages, a cart that switches along with the site language, a “You may also like” block that doesn’t mix languages, translated filters and attribute labels, separate menus and theme translation files, and a separate sitemap for each language. We also wrote the service pages from scratch (about the brand, delivery and payment, returns, policies, FAQ, gift cards) in place of template placeholders.
Tracking, emails and newsletter
The order admin has a “Shipped” status, a carrier and a tracking number with ready links for Nova Poshta, Ukrposhta and Meest; the shopper sees tracking in their account and gets an email. Abandoned carts are handled by our own plugin, CatCode Abandoned Cart Recovery: an email that restores the cart in one click, in the language the person was shopping in. The footer signup stores consent, the emails carry an unsubscribe link, and a Brevo, Mailchimp or Klaviyo connection is ready in the admin. We moved the store’s mail to the client’s domain and set up SPF and DKIM so emails don’t land in spam.
Inner pages


The mobile version
The layout adapts from 1440 down to 360 px: a burger menu with the language switcher, products in two columns, filters in a separate panel and a single-column checkout.
Summary
We handled the whole technical side of the store: a custom theme from the Figma design, a catalogue with filters and sizes, three languages, payment and delivery, tracking, abandoned-cart emails and the newsletter, the service page texts and the move to the main domain. The client manages banners, products and texts from the admin on their own.
