//  Retail Commerce

F3

A faster storefront. Automated operations. Omnichannel loyalty. Migrating a sports nutrition retailer from a SaaS platform to a headless architecture, automating product and inventory workflows, and unifying online and in-store loyalty.

  • ClientF3 | Healthy nutrition market
  • IndustryRetail & E-commerce
  • ScopeSystems migration & operations automation
  • Websitef3.in.ua
F3 — project preview

Overview

F3 is a sports nutrition and supplements retailer operating across Ukraine. The company runs physical stores and an online store with a catalog of 1,000+ products from American, European and Ukrainian brands.

Before working with IFKA, the online store ran on a SaaS e-commerce platform that suited the business early on but eventually began to hold it back: the site was unstable under load, search performed poorly, and the team handled content, stock and shipping labels manually.

IFKA migrated F3 to a new technology stack: Astro for the storefront, Medusa v2 for commerce and Strapi for content.

Product descriptions and translations are now generated automatically, and the team only reviews the result. The website and physical stores share one loyalty program, while stock, fiscal receipts and shipping labels update automatically.

IFKA continues to work with F3 on store development and SEO.

The platform became a ceiling

The team wrote product descriptions and translations by hand — 45–66 minutes per product. Stock was also entered separately.

Search was unreliable, so customers struggled to find products in a catalog of 1,000+ items. The site also lost stability under load, and every new product added more manual work. On top of that, the platform couldn't support an omnichannel loyalty program, so points earned in store couldn't be used online.

Goals

//  Growth Infrastructure

Platform that brings traffic and keeps it.

The store should generate its own visibility in search and Shopping, and stay fast and stable when that traffic peaks, so growth in reach turns into revenue, not lost sessions.

//  Customer experience

A stable site and effective search.

The site must stay stable even under peak load, and search must quickly find products by brand, category and flavor across 1,000+ products.

//  Automation

Minimize manual work wherever possible.

Content creation, translations, stock movements, delivery statuses and fiscalization should run automatically on schedule, without constant oversight from the team.

Our role

IFKA was responsible for platform development and technical architecture: we selected the technology stack, migrated the catalog from the previous platform and managed the transition to the new one.

We also automated processes the old platform had limited: content and translations, integrations with the ERP, Nova Post and a fiscal receipt service, multi-warehouse inventory management, delivery and the loyalty program.

As technical architects, we defined each system's area of responsibility and set up the data exchange between them.

Solution

We designed the new architecture so the catalog, content and merchandising rules can change without redeploying the site.

Product content became an automated workflow: descriptions and translations are generated automatically, and the team reviews and publishes them. Previously, the team wrote and translated every text and researched each product themselves. Now their role is review: checking ingredients, properties and accuracy before publishing.

Each system owns its area: the ERP handles inventory and back office, the fiscal receipt service handles fiscalization, and the storefront handles the online store. Data moves between systems through integrations only where needed. For example, an order is passed to the ERP as soon as it is placed, with no duplication or manual reconciliation.

The loyalty program is built around a single customer profile: the phone number links purchases in store and online. The points balance lives in Medusa, and the in-store POS syncs with it. Each customer has one balance regardless of where they shop.

Tech stack

//  Frontend
AstroSvelteTailwindCSSLeaflet
//  Backend
Node.jsMedusaJSTypeScript
//  CMS & Content automation
StrapiAnthropicDeepL
//  Storage / Database
PostgreSQLRedisCloudflare R2
//  Infrastructure
CloudflareGitHub ActionsDockerDedicated ServerOVHSentry
//  Integrations
BAS ERPPlata by monoVchasno KasaNova PostAlgoliaPostHogResend

Key features

//  01

AI-powered content and translations

The system prepares drafts automatically: it generates descriptions, ingredients, usage recommendations and translations, cross-checking product data against the manufacturer's label and additional sources. A content manager reviews and publishes the final text.

//  02

Event-driven ERP sync

The site and the ERP exchange data the moment something changes. Updates arrive within seconds, and each system remains the source of truth for its own data — no duplication or manual syncing.

//  03

Multi-criteria search

Search finds products by partial word, brand, category, flavor and weight across 1,000+ products.

//  04

Omnichannel loyalty

One points balance works online and in physical stores. Different customer groups get their own earning rates and discounts, plus a referral program for fitness trainers.

//  05

Multi-warehouse and delivery automation

The system picks the warehouse to ship from, generates the shipping label and sends the data to the carrier. Delivery status updates automatically, from dispatch to pickup.

//  06

Structured data and Google product feed

Products, categories, articles and store locations are marked up with structured data. The Google Merchant Center feed is generated automatically with current prices, barcodes and product segmentation for advertising.

//  07

Fiscalization

Fiscal receipts are issued automatically once the customer receives the order.

//  08

Repeat-order reminders

The system predicts when a customer is likely to run out of a product and sends a personalized reminder to reorder.

From challenges
to solutions.

//  Challenge

A slow site was losing customers.

During regular peak traffic and ad campaigns, server-side rendering took more than 6 seconds per page. Users left before pages loaded, so the bounce rate was very high and traffic didn't convert into orders.

//  Solution

Pages are served as ready-made static content:

they are built in advance rather than assembled on every request. The server doesn't need to query the database or third-party services such as Redis to render a page, so visitors get it instantly instead of waiting 6 seconds. Prices and stock update separately through Astro Islands, and the load shifts to the CDN, so the server stays almost idle even during ad campaigns.

//  Challenge

Every product description and translation was created by hand.

Each new arrival increased the workload.

//  Solution

From writing and translating to reviewing.

Descriptions and translations are generated automatically in every store language, and the team only reviews the finished content.

//  Challenge

Search couldn't handle a catalog of 1,000+ products.

Customers couldn't always find products F3 actually stocked. Out-of-stock items ranked above in-stock ones, so users often landed on unavailable products. Some products didn't show up for relevant keywords at all.

//  Solution

Unified search across products, categories and brands.

Identifies brand, product type and variant, with category filters. Barcode search included.

//  Challenge

The loyalty program didn't work online.

The loyalty program only worked in physical stores because it wasn't integrated with the previous platform. Points earned at the till couldn't be used online, so customers who shopped both in store and online didn't get the program's full value.

//  Solution

One balance online and offline.

Customers earn points in store and spend them online using the same phone number.

Results

Over the last 90 days, impressions grew 31% and clicks 15% compared with the previous 90 days. Around 88% of clicks come from non-branded queries, according to Search Console.

According to Ahrefs and Search Console, the store ranks in the top 7 nationally for «спортивне харчування» (sports nutrition) and in the top 2 locally.

Online and in-store customers are now united in a single omnichannel loyalty program. This is the foundation for customer retention: repeat-order reminders, separate earning rates for different customer groups and a referral program for fitness trainers all build on it. The previous platform had no loyalty program at all.

Stock, orders, shipping labels and fiscalization run automatically, with no manual triggering.

Creating and translating content used to take 45–66 minutes per product. Reviewing finished content now takes 3–7 minutes, or up to 10 minutes for some products.

≈60–100hrs

Estimated staff time saved per 100 products. Content generation costs $0.14 per product across all store languages.

1.2s

LCP for real mobile users. Core Web Vitals assessment passed.

+31%

Organic Google impressions over the last 90 days vs. the previous 90 days

88%

Share of non-branded organic clicks

How can we help you?

Describe your request and tell us about your project idea

This field can’t be empty.
This field can’t be empty.
Please, enter a valid email address.
This field can’t be empty.
Attachment (optional)

By sending this form I confirm that I have read and accept the Privacy Policy