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.

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
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.
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.
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
Key features
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.
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.
Multi-criteria search
Search finds products by partial word, brand, category, flavor and weight across 1,000+ products.
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.
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.
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.
Fiscalization
Fiscal receipts are issued automatically once the customer receives the order.
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.
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.
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.
Every product description and translation was created by hand.
Each new arrival increased the workload.
From writing and translating to reviewing.
Descriptions and translations are generated automatically in every store language, and the team only reviews the finished content.
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.
Unified search across products, categories and brands.
Identifies brand, product type and variant, with category filters. Barcode search included.
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.
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