en
  • EN
  • UA

Academy of Advanced Aesthetics

Client:
Academy of Advanced Aesthetics
Solution:
Mobile app
Country:
Ukraine
support:
April 2025 – Present

A mobile app for selling cosmetic and pharmaceutical products (brands Rejuran, Retix.C, ASCE+) with role-based pricing for different types of users (buyer, cosmetologist, doctor), a flexible promotion builder, LiqPay integration, and full synchronization with BAF.

Missions we accomplished

Develop a mobile app for a full-fledged B2C platform for selling cosmetic and pharmaceutical products, with differentiated access and pricing depending on the user type (regular buyer, cosmetologist, doctor) and full two-way integration with the BAF accounting system.

Tasks:

  • Development of a product catalog with filtering, sorting, and search
  • Implementation of role-based pricing and product access restrictions depending on user status (buyer / cosmetologist / doctor)
  • Implementation of a professional status verification mechanism via diploma upload
  • Development of a flexible promotion builder with multiple mechanics (discounts, gifts, personalized offers) and logic for determining the primary promotion
  • Implementation of a "Frequently bought with this product" recommendation mechanism based on brand and product category
  • Automatic order splitting into multiple shipments depending on product availability across warehouses
  • Implementation of a product review module with a dashboard widget for operators
  • Two-way synchronization with BAF: stock, users, reference data, addresses, prices
  • Integration with the LiqPay payment system and Nova Poshta address directories

Our results

We implemented a flexible role-based pricing system that automatically detects user status and applies the corresponding prices and catalog access restrictions without manual intervention from operators.

We built a promotion builder that supports multiple mechanics simultaneously, from classic discounts to "3+1" offers and personalized deals, with automatic determination of the primary promotion when conditions overlap.

We implemented automatic order splitting across warehouses, enabling complex orders to be processed correctly without manual operator involvement.

Implemented solutions

The project's functionality covers complex business logic related to user roles, pricing, and accounting. Below are the most interesting solutions from a technical standpoint.

  • Role-based pricing by user status : Each user automatically receives one of three statuses (buyer, cosmetologist, doctor) based on data from BAF, or is assigned one manually by an operator. The status determines catalog accessibility and pricing specific to each user group.
  • Verification of professional status via diploma : Users can upgrade their status (for example, to confirm their qualification as a cosmetologist or doctor) by uploading a scan of their diploma. The system automatically generates a request for operators to review.
  • Automatic order splitting across warehouses : When placing an order, the system checks product availability across warehouses, prioritizing the main warehouses, and splits the order into multiple shipments if needed.
  • Flexible promotion builder : Several types of promotion mechanics are implemented within a single system: discounts on products, "3+1" with cyclical repetition in the cart, fixed unit price, and personalized discounts for a set period after order completion. The logic automatically determines the "primary" promotion when multiple promotions overlap in the same cart.
  • "Frequently bought together" recommendation mechanism : On the product page, the system selects related products based on brand and category, generating a consistent list of recommendations for each product without operator involvement.
  • Product review module : Guests can leave reviews on the product page; operators track new reviews through a dedicated auto-updating widget on the Spiro dashboard and moderate them.
  • Two-way synchronization with BAF : Stock, users, reference data, addresses, and prices are synchronized between Spiro and the client's BAF accounting system, both on a schedule and via triggers (order creation, user registration, etc.).

Technologies applied

Yii2
Redis
PHP
Flutter
Argocd
Gitlab-CI/CD
Kubernetes
Loki
promtail
s3

Let's streamline
your operations

Our manager will contact you.
contact-image
Serhii Kutyr, CEO

[email protected]

Choose a service
Max
Bring your ideas to life with FreshTech
Hi! I'm Max Rybalko, Head of Business Solutions. Choose a convenient time, and we'll discuss how to turn your project
into reality
We value your privacy
To provide our visitors with the best user experience, our site uses cookies. By continuing to browse our site, you confirm that you agree to our Privacy Policy