When Shipping Can’t Wait

How we modernized an e-commerce shipping platform and reduced key page load times from 13 seconds to 2–3 seconds.

Founder jack avatar

Reviewed by: Jack Ananchenko, Co-founder, CTO

Aug 4, 20265 min read
When Shipping Can’t Wait

Netparcel

An established shipping platform that helps merchants compare carrier rates, generate shipping labels, and automate order fulfillment processes across multiple carriers

The Essentials

3 developers, 1 project manager

Over 2 years of work

Shipping app for rate comparisons, label creation, and multi-carrier fulfillment

Tech Stack

Java 8PHPJSP, JavaScriptiBatisMySQL 8AWS (EC2, CloudWatch, S3), CloudFlare

A Platform That Had Outgrown Itself

Our client had a mature shipping platform that merchants relied on for their daily operations: from comparing rates and creating shipping labels to tracking shipments and syncing orders.

However, years of continuous development had gradually accumulated technical debt. Some components were tightly coupled, implementations varied depending on the use case, and legacy workflows made it increasingly difficult to add new functionality.

At the same time, product requirements continued to grow: the platform needed to support new carriers, adapt to Shopify changes, expand international shipping capabilities, and improve speed and stability.

The challenge wasn’t simply to “update the system.” The platform was already an integral part of merchants’ daily operations. Any disruption could delay shipments, affect fulfillment, and create additional workload for the support team.

So the task was simple only in theory: modernize the product without disrupting the workflows its users depended on every day.

Three Key Results

2

~80% faster

Page load times for certain key pages dropped from around 13 seconds to 2–3 thanks to frontend, backend, database, and SQL query optimization.

1 min

10+ carriers

Refactoring the integration layer standardized carrier API handling, simplified support, and made onboarding new providers faster.

0

Accurate Landed Cost

The Zonos API integration automated duties, taxes, and landed cost calculations, helping merchants display more accurate costs before checkout.

Why Standard Maintenance Wasn’t Enough for the Platform

Modernization to keep the platform scalable and stable for active merchants faced three constraints:

Critical Shipping Flows

A disruption could delay orders or increase support requests, so every change was evaluated for its impact on existing operations.

Unified carrier API logic

Each carrier had its own APIs, rules, and error-handling logic, but the workflow had to remain consistent and predictable for merchants.

Continuous development

The client needed to add features and carriers and adapt to Shopify without a rewrite, while preserving backward compatibility and merchant workflows.

Modernization Without a Major Rewrite

Instead of a large-scale rewrite, we chose incremental modernization.

New functionality was introduced in small, validated iterations, while existing modules were gradually refactored and optimized.

This approach allowed us to:

  • reduce release risks;

  • maintain uninterrupted operations;

  • avoid breaking existing merchant workflows;

  • improve the architecture, performance, and product capabilities at the same time.

“We had to keep developing the platform without disrupting the thousands of merchants who relied on it every day. Every release had to strike a balance between innovation and stability.”

The core work focused on several areas.

A Unified Integration Layer for Carriers

We refactored the carrier API integration layer to abstract the differences between providers behind a unified platform logic.

This helped us:

  • standardize how the platform works with different APIs;

  • reduce duplication;

  • simplify support for existing integrations;

  • make onboarding new carriers less complex.

As a result, different shipping providers could operate through a more consistent architecture, while merchants received a unified experience regardless of the specific carrier.

International Shipping with Zonos

To expand cross-border shipping capabilities, we integrated the Zonos API, which automated real-time calculations of duties, taxes, and landed cost.

Merchants gained the ability to display a more accurate landed cost for international orders before checkout. This made cost calculations more transparent and reduced the risk of unexpected import charges.

Database and Performance Optimization

As part of the modernization, we upgraded the database to MySQL 8.4 and optimized inefficient SQL queries.

At the same time, the team worked on both the frontend and backend.

As a result, some of the most frequently used pages, which previously took around 13 seconds to load, began opening in just 2–3 seconds.

For merchants, this meant less waiting during everyday operations such as comparing rates, creating shipments, and generating shipping labels.

Controlled Release Process

The platform runs on AWS infrastructure, with CloudWatch for monitoring and Cloudflare for secure content delivery.

A Git-based release workflow supports regular weekly production releases and enables fast, controlled rollback scenarios.

Solutions That Required the Most Engineering Work

Why Incremental Development Was Critical

This project did not have one major architectural solution that could be implemented to solve every problem at once.

Shipping workflows were interconnected, so changing a single carrier integration, validation rule, or rating flow could affect multiple merchant configurations.

That’s why the team worked in small iterations: changes were tested, gradually rolled out to production, and technical debt was reduced along the way.

The goal was not to “rewrite everything” at once, but to gradually make a live system faster, more stable, and easier to develop further.

The Biggest Challenge - Unifying Dozens of Different APIs

One of the main engineering challenges was working with numerous carrier integrations.

Each provider had its own:

  • authentication mechanisms;

  • request/response formats;

  • shipping services;

  • validation rules;

  • error models.

At the same time, users shouldn’t have to see or deal with these differences.

That meant the integration architecture had to normalize this diverse logic within the system and provide merchants with a consistent workflow.

This layer became one of the key building blocks for the platform’s continued development.

Custom Solutions for the Shipping Platform

Most of the custom development focused on maintaining and expanding carrier REST API integrations.

For each provider, we had to account for its technical and business rules while preserving the platform’s shared logic.

We also implemented a Zonos API integration for international shipping. The system retrieves real-time data to calculate duties, taxes, and landed cost, enabling more accurate cross-border shipping costs before checkout.

We designed the integration layer architecture so that new carriers could be added without requiring major changes to the core shipping workflow.

Why We Didn’t Rewrite

A full rewrite could have resulted in a cleaner architecture, but it would have required migrating a significant amount of existing business logic and introduced risks to active merchant workflows.

For this product, a safer approach was to evolve the system gradually, validating each stage against real-world scenarios.

This allowed us to maintain production, add new functionality, and gradually remove the technical limitations that were holding back further development.

Technology Stack

Backend: Java 8, Spring Framework, Struts 2Frontend: JSP, JavaScriptDatabase: MySQL 8.4ORM / Persistence: iBatisInfrastructure & Cloud: AWS EC2, S3, CloudWatch, CloudflareReporting: iReportVersion Control: Git

Results and Impact

More than two years of collaboration delivered results not through a single major release, but through continuous improvements to performance, architecture, integrations, and merchants’ day-to-day experience.

From a Technical Perspective

Faster Performance on Key Pages

Some of the most frequently used pages saw load times drop from around 13 seconds to 2–3 seconds.

For merchants, this means faster access to rates, shipping label creation, and shipment processing.

Modular Integration Architecture

The integration layer for 10+ carriers became more consistent and easier to maintain.

Refactoring reduced technical debt and simplified the process of adding new shipping providers.

More Efficient Database

Migrating to MySQL 8.4 and optimizing SQL queries improved query performance and helped reduce bottlenecks in key workflows.

Predictable Delivery

Despite the continuous development of a live platform, the team maintains:

  • Weekly production releases

  • Lead Time for Changes: 2–4 days

  • Change Failure Rate: <5%

  • MTTR: around 1–2 hours

For the Business and Users

Faster Day-to-Day OperationsMerchants can compare rates, create shipments, and generate shipping labels faster. Reducing key page load times from 13 seconds to 2–3 seconds means less waiting during daily operations.

More Reliable Carrier OperationsA unified integration layer for 10+ carriers has made shipping workflows more consistent and simplified the process of adding new providers.

More Transparent International ShippingThe Zonos integration automated the calculation of duties, taxes, and landed cost. Merchants can display more accurate international shipping costs before checkout, reducing the risk of unexpected import charges.

Easier Future ExpansionThe modular integration layer architecture made it possible to add new carriers with minimal changes to the core shipping workflow. This allows new providers and services to be introduced without major changes to existing workflows.

  • linkedin
  • x
  • facebook
  • Clutch
  • Upwork
  • Reddit

Planning to Modernize Your Platform Without Disrupting the Business?

We’ll help you modernize the architecture step by step, speed up key workflows, and expand product capabilities without the risks of a major rewrite.


Professional man in a suit against a dark blue background.

Vladimir Gubarev

CEO and Co-founder

Portrait of a man with short hair wearing a blue button-up shirt against a dark background.

Jack Ananchenko

CТO and Co-founder

By submitting this form, you agree to our Privacy Policy and Terms Conditions.

How We Can Help You

See What Else We've Built