Case study - Tank Container Washing Reporting System: Bitrix + Next.js + Mobile App

Rebuilt a B2B tank container washing reporting system: headless Next.js over Bitrix backend, React Native mobile app published to RuStore. +30% portal requests, +40% report processing speed.

Client
Year
Service

About the Client: Specialized Logistics for the Chemical Industry

LENHIMSINTEZ is a Saint Petersburg company specializing in professional washing and degassing of tank containers. A tank container is a specialized vessel for transporting liquid chemical cargo — acids, alkalis, solvents, and food-grade products. After each transportation cycle, the container must be thoroughly cleaned to international standards: SQAS, EFTCO, and ADR. That is precisely what LENHIMSINTEZ does.

The business operates as a three-sided platform: clients (transport and logistics companies) submit washing requests, washers (station staff) carry out the work and record the results, and terminal operator partners oversee quality and manage documentation. Each of the three parties interacts with the system differently — and this defined the entire complexity of the project.

Where We Started: A Bitrix Site and the First Reporting System

When LENHIMSINTEZ first approached us, they already had a working site built on 1C-Bitrix and a homegrown reporting system that had grown out of standard CMS modules. The first version handled the minimum: a client logged into their B2B client portal, submitted a request, a washer manually updated the status, and the final report was sent by email.

The system worked — until volumes stayed small. As the number of clients and partners grew, systemic problems accumulated that could no longer be ignored. The company faced a choice: extend the monolith or build something fundamentally new.

The Problem: When a 1C-Bitrix Monolith Can No Longer Keep Up with Growth

An audit revealed a picture typical of a mature B2B business that had outgrown a standard CMS solution:

  • Slow interface. Bitrix's standard PHP rendering produced client portal load times of 4–6 seconds. Clients working from tablets on production floors regularly lost their session — and abandoned the portal in favor of calling a manager.
  • No mobile tool for washers. Staff could not upload a photo report directly during the washing process — only from a PC in the office. Email reports were lost, mixed up, and required double data entry.
  • No real-time notifications. Clients had no way of knowing what stage their request was at. Push notifications did not exist at all — only email, checked every few hours.
  • Expensive to scale. Adding a new request status, a new report type, or a new partner scenario required editing PHP templates and Bitrix modules — every change was slow and risky.
  • Analytics blind spots. Management had no real-time visibility: how many requests were in progress, average processing times, or where bottlenecks were by terminal.

We proposed a headless architecture migration without losing existing business logic: keep 1C-Bitrix as a reliable backend and business-process engine, but completely replace the frontend and add a native mobile application.

Our Solution: Headless Architecture Plus a Mobile App for Washers

The concept: a headless B2B client portal — 1C-Bitrix stays as the system's "brain," managing business logic, storing data, and integrating with 1C — while the frontend is moved entirely to Next.js. This approach is our specialty; you can read more about how we build headless solutions on a Bitrix backend on the FrontBox — headless Next.js + Elasticsearch product page.

In parallel, we developed a React Native mobile application for washers and field staff. Why React Native rather than a PWA? We needed native push notifications via FCM, camera access for high-quality photo reports, an offline mode for unstable connectivity on production floors — and publication in RuStore for corporate distribution without reliance on foreign app stores.

Three-Role System: A Unified Portal for Clients, Washers, and Partners

The main challenge was three categories of users with fundamentally different workflows, all of which needed to function within a single ecosystem:

  • Clients (transport companies) — submit tank container washing requests, attach accompanying documents, track status in real time, and receive completed PDF acts with an electronic signature.
  • Washers — receive requests in the mobile app, photograph the container before and after washing, complete an EFTCO-standard checklist, and sign the completion act directly in the app.
  • Terminal operator partners — see a consolidated view of all requests at their terminal, manage the washing schedule, and export analytics and summary reports for any period.

Solution Architecture: From Bitrix Monolith to Headless Platform

Backend: 1C-Bitrix as an API Server

We did not discard the existing Bitrix — that would have meant losing years of accumulated business logic. Instead, we turned it into a REST API server: we wrote a PHP module that exposes all the necessary methods — creating and updating requests, file uploads, status changes, report generation — through a secured API with JWT authorization. Business logic was fully preserved, and development took half the time it would have required writing a backend from scratch.

This is our standard pattern when working with mature Bitrix projects. More on our approach to integrations — on the Integrations service page.

Frontend: Next.js App Router with Hybrid SSR/SSG Rendering

Next.js with App Router allowed flexible rendering control for each page type: public pages use static generation (SSG for instant load times and better SEO), while the B2B client portal uses server-side rendering (SSR) with hydration for correct handling of authentication and personal data. The result: load times dropped from 4–6 seconds to 800 ms–1.2 seconds — four to five times faster.

The entire UI was built as a component library tailored to the client's tasks: tabular request lists with filters and pagination, a kanban board for dispatchers, a request submission form with validation and drag-and-drop document uploads, and a photo report viewer with zoom. No heavy UI frameworks — only what is needed for the specific tasks at hand.

Mobile App: React Native + Expo + RuStore

The mobile application was built primarily for washers — people working hands-on in industrial conditions. Key technical decisions:

  • React Native + Expo — a single codebase for both iOS and Android. For LENHIMSINTEZ, the priority was publication in RuStore (Android), which Expo supports without additional effort or external dependencies.
  • Push notifications via Expo Notifications + FCM. A washer receives an instant notification about a new request. The client is notified when a request moves to "Completed" status and the report is ready to download.
  • Photo report uploads. The app uses the native camera (via expo-camera) with on-device image compression — saving bandwidth on sites with poor connectivity while maintaining quality sufficient for documentation.
  • Offline buffer. If the connection drops while filling out the checklist, data is saved locally and synchronized once connectivity is restored — the washer does not lose a partially completed form.
  • Biometric authentication. Login via Face ID or fingerprint — critical in a production environment where entering a password while wearing work gloves is impractical.

Integrations and a Unified Data Layer

The Bitrix backend, Next.js frontend, and React Native app communicate through a single API — any status change is immediately reflected across all platforms. PDF report generation (washing acts, EFTCO-standard cleanliness certificates) is handled on the PHP side, with the finished document transferred to file storage. Notifications: email via the Bitrix SMTP gateway, push via Expo Push Service → FCM. This integration approach maintains data consistency without duplicating logic.

Results: Measurable Impact in 2.5 Months of Development

In 2.5 months, we delivered a working system that transformed LENHIMSINTEZ's operational process:

  • +30% requests through the B2B client portal. Clients became significantly more willing to use the online channel instead of phone and email: the interface became fast, intuitive, and fully functional on mobile.
  • +40% report processing speed. Washers fill out the checklist on-site in the app, the photo report is automatically attached to the request, and the PDF is generated without administrator involvement.
  • Full Web + Android coverage. All three user types work within a single ecosystem through their preferred interface — web or mobile app.
  • Significant reduction in support load. The volume of "what stage is my request at?" calls dropped substantially thanks to real-time statuses and push notifications.
  • Published on RuStore. The app passed moderation and is available for corporate download without relying on foreign app stores or VPN.

Need a Similar System for Your B2B Business?

If you have a B2B platform or client portal on 1C-Bitrix that is hitting its limits — slow interface, hard to scale, no mobile access — we know how to solve this without losing accumulated business logic and with a predictable budget.

  • Web Development — corporate portals, B2B client portals, custom web systems
  • FrontBox — headless Next.js — our product for headless migration while preserving the Bitrix backend
  • Integrations — connecting Bitrix to any external system via REST API
  • E-commerce — when your project grows into a full catalog with transactions

More case studies

Headless migration with cart UX preserved for price-on-request catalog

Split the monolithic Bitrix into a headless architecture: backend stayed on Bitrix, frontend moved to Frontbox. Cart and checkout UX preserved without any public pricing.

Read more

Own Store Over Marketplace: Watch Triumph Launches Independent E-com on Frontbox

Watch Triumph watch brand escaped high marketplace fees by launching their own store on Frontbox. 1C-Bitrix manages products and orders; an OZON integration module migrated the full catalog automatically.

Read more

Next step

Working on something similar?

Share your spec or just describe the task — we'll figure out if our approach fits your situation.

Tell us about your project

Our offices

  • Russia
    Saint Petersburg, Rizhskaya st. 5, bldg. 1, office 402
    +7 (967) 555-90-32
  • Kazakhstan
    Almaty
    +7 (707) 340-29-12