Webskyne
Webskyne
LOGIN
← Back to journal

1 June 202610 min read

How Webskyne Helped Sudip Logistics Scale Their Freight Tracking Platform to 3.2M Daily API Calls

Sudip Logistics’ quarterly board review showed fuel costs were surging, customs clearance delays had climbed 34% year over year, and their freight tracking platform was struggling under a 12,000 concurrent-user load. In nine months, Webskyne rebuilt their backend, migrated their mobile interface to Flutter, and consolidated four legacy databases into a single unified system. The result: customs clearance delays dropped 40%, manual data-entry errors fell 60%, platform throughput tripled, and the platform now handles 3.2 million API calls per day with sub-200ms response times. This case study traces every phase—from discovery workshops to production rollout—pulling out the architectural and operational decisions that made the transformation possible.

Case Studylogisticsdigital transformationmicroservicesFluttercloud migrationAWSNestJScase study
How Webskyne Helped Sudip Logistics Scale Their Freight Tracking Platform to 3.2M Daily API Calls
# Overview In early 2025, Sudip Logistics faced a critical inflection point. A third-generation freight-and-customs-clearance company based in Southeast Asia, they had grown revenue 4.8x over five years—but their underlying technology platform had not kept pace. Freight-forwarders, customs brokers, and operations teams were all relying on a fragmented system built over a decade on legacy frameworks, siloed databases, and manual data-entry workflows. Board-level metrics were slipping: clearance delays rising, fuel surcharges opaque, and customer churn ticking upward in a competitive logistics market. Sudip Logistics engaged Webskyne to design and deliver a full digital-transformation program: rebuild the frontend experience, re-platform the backend, and migrate their entire data layer to a modern cloud-native architecture. The engagement covered nine months, four engineering squads, and two intensive relocation sprints for onboarding and post-launch hypercare. --- # The Client Sudip Logistics operates across Bangladesh, India, and Myanmar, managing freight movement, customs documentation, warehousing coordination, and last-mile delivery tracking for more than 200 enterprise clients. Their existing platform had grown organically since 2016, accumulating technical debt faster than the team could refactor it. By 2025, the platform was logging 3.2 million API calls per day, and the monolithic codebase was becoming a constant blocker to product velocity. --- # The Challenge The engagement began with a two-week discovery phase conducted jointly by Webskyne’s principal architect and Sudip’s CTO. Five pain areas dominated the findings: **1. Fragmented Data Architecture** Four separate MySQL instances ran in parallel—inventory, customs, tracking, and HR. No single source of truth existed. A shipment’s status could differ between the tracking and customs databases by up to 90 minutes, forcing operations staff to reconcile conflicting data manually before resolving client escalations. **2. Monolithic Backend** The legacy backend was a 320,000-line Node.js monolith deployed as a single Docker container. A single bug in the notifications module could bring down the entire tracking API. Zero horizontal scaling was possible, and the documented API response time for complex queries averaged 1.83 seconds—well above the 500ms threshold their clients had begun to demand. **3. Underperforming Mobile Experience** Field staff and warehouse coordinators relied on an older hybrid mobile app with inconsistent touch targets, slow map rendering, and no offline-first support. The app crashed on 18% of field interactions in Bangladesh’s lower-bandwidth regions. Field agents often resorted to WhatsApp and paper forms, defeating the purpose of digitization. **4. Slow and Risky Deployments** Deployments were manual, gated by a two-day QA cycle, and required the entire platform to be taken offline for approximately three hours. Given that Sudip’s system ticked over at midnight every night for next-day freight planning, even a failed deployment meant lost operational data and frustrated clients. **5. Security and Compliance Gaps** Auditors had issued a critical finding around OAuth token storage. Tokens were persisted in plain text in a shared session table, shared across all services. With customs data falling under regulatory review in the region, the risk of a data breach was material and growing. --- # Goals Webskyne and Sudip’s leadership co-defined six measurable goals for the nine-month transformation: 1. **Reduce customs clearance delays by 35%** through real-time documentation status tracking and automated alerting. 2. **Cut manual data-entry errors by 55%** by eliminating parallel database writes and introducing enforced field validation. 3. **Triple platform throughput** from 3.2M to 9.6M daily API calls while maintaining sub-500ms average response times. 4. **Launch a stable Flutter mobile application** with offline-first capabilities and <2% crash rate. 5. **Reduce deployment downtime to under 15 minutes** via blue-green deployments and automated CI/CD pipelines. 6. **Achieve full OAuth2 and end-to-end encryption compliance** before the regulatory audit scheduled for Q3 2025. --- # Approach Webskyne ran the program using a scaled agile model: three cross-functional squads (Platform, Mobile, Data) operating in two-week sprints, with a bi-weekly steering-committee sync involving Sudip’s CTO and CISO. **Phase 1 — Architecture & Discovery (Weeks 1–3)** Webskyne’s architects produced a target-state design document covering API gateway topology, microservice decomposition strategy, event-driven messaging adoption, and Flutter app information architecture. Design reviews with Sudip’s engineering leads locked the approach before any code was written. **Phase 2 — Data Platform Migration (Weeks 4–10)** Rather than a risky big-bang cut-over, Webskyne adopted a dual-write strategy: a change-data-capture (CDC) pipeline streamed changes from legacy MySQL to a new cloud-hosted PostgreSQL instance. Meanwhile, a reconciliation service continuously compared counts and flagged discrepancies. After four weeks of zero-drift validation, the new data store became the system of record. The original databases were decommissioned by week 10. **Phase 3 — Backend Microservices (Weeks 11–20)** The monolith was decomposed into seven bounded contexts: Freight, Customs, Tracking, Notifications, Reporting, User, and Audit. Each service was containerized, deployed independently, and connected via an internal API gateway with circuit-breaker patterns. This isolation meant that a failure in the Notifications service could no longer cascade into the Tracking API. **Phase 4 — Mobile Replatforming (Weeks 15–25)** Webskyne’s mobile squad built a Flutter application with a shared Dart business-logic layer, offline-first local SQLite persistence, and background sync. The app targeted iOS 14+ and Android 10+ and was optimized for lower-bandwidth field networks using compressed payloads and server-side pagination. **Phase 5 — CI/CD, Security & Observability (Weeks 21–27)** GitHub Actions pipelines were configured for each microservice, running lint, unit tests, integration tests, and deployment steps in under 12 minutes. Prometheus and Grafana dashboards surfaced latency, error rate, and queue-depth metrics across all services. Security hardening included end-to-end encryption at rest and in transit, OAuth2 token rotation with short-lived JWTs, and audit logging written to an immutable write-only log store. **Phase 6 — Go-Live & Hypercare (Weeks 28–36)** A blue-green deployment strategy kept the legacy platform running while the new system absorbed production traffic. Daily war-room calls with Sudip’s ops team resolved any issues within SLA. Webskyne embedded two on-call engineers in Sudip’s office for the first three weeks post-launch, then ran remote hypercare through week 36. --- # Implementation Details ### Technology Stack - **Frontend:** Next.js (React 19) for the web portal, Flutter 3.24 for the cross-platform mobile application. - **Backend:** NestJS microservices written in TypeScript, communicating via gRPC and REST endpoints. - **Data Layer:** Amazon RDS PostgreSQL (multi-AZ), Amazon ElastiCache Redis for session and job caching, Amazon S3 for bulk historical storage. - **Messaging:** Amazon SNS/SQS for event-driven communication between bounded contexts. - **Infrastructure:** Terraform-managed AWS deployments; EC2 Auto Scaling groups, Application Load Balancers, CloudFront CDN. - **Observability:** Prometheus, Grafana, OpenTelemetry distributed tracing. - **CI/CD:** GitHub Actions pipelines triggered per service, with automated rollback on error-rate threshold breach. ### Dual-Write Migration Strategy The CDC migration was planned with guardrails. A custom reconciliation service compared row counts every 60 seconds across the legacy and new PostgreSQL databases. Any divergence greater than 0.1% triggered a PagerDuty alert to the data squad. After 28 days of continuous zero-drift validation, Sudip’s operators began routing live reads to the new data layer while writes continued to both systems. A second validation phase confirmed write-path consistency before write traffic was cut over exclusively to PostgreSQL. ### Microservice Decomposition The seven bounded contexts were designed to match Sudip’s actual organizational teams—Freight, Customs, Tracking, Notifications, Reporting, User, and Audit. Each service owns its data domain, enforces its own authorization rules via OAuth2 scopes, and publishes domain events to SNS for other services to consume. The API gateway (AWS API Gateway with HTTP APIs) routes external traffic to the appropriate service, enforcing rate limiting and JWT validation. ### Flutter Mobile Architecture The mobile application was built with three layers: presentation (Flutter widgets with Riverpod state management), domain (business logic exported as a shared Dart package also used by the Next.js web portal), and data (repository pattern with offline-first SQLite persistence via Moor/Drift). Background sync runs every 60 seconds when connectivity is detected, using exponential backoff for failed operations. Compressed JSON payloads and server-side pagination kept mobile data usage 42% lower than the legacy app on average sessions. --- # Results ### Operational Metrics Sudip Logistics reached and exceeded every goal defined at the project outset: - **Customs clearance delays reduced by 41%** (from 4.2 days average to 2.5 days), driven by real-time documentation alerts and automated status transitions. - **Manual data-entry errors down 62%**, through enforced field validation, single-write data paths, and field-level audit logging that flags anomalous before the data propagates. - **Platform throughput reached 3.2M and then 9.6M daily API calls** by month six, with the new architecture horizontally scalable to 30M calls per day using auto-scaling rules. - **Average API response time of 187ms**, well below the 500ms target—a 90% improvement from the legacy monolith’s 1.83-second average. - **Mobile app crash rate at 1.4%**, below the 2% target. Field agents now complete 87% of their workflows in the Flutter app instead of falling back to WhatsApp or paper. - **Deployment downtime reduced to under 8 minutes**, achieved through blue-green deployments and automated rollback policies. ### Financial Impact Sudip’s finance team attributed $420,000 in annual operational savings to reduced clearance delays, lower appeal and fine costs from fewer documentation errors, and eliminated re-keying labor across 180+ operators. The platform’s reliability improvements also prevented an estimated six annual service outages that had historically cost between $60,000 and $90,000 each. ### Team Velocity Sudip’s engineering team went from shipping updates on a quarterly cadence to bi-weekly feature releases. Developer onboarding time dropped from three weeks to five days, enabled by clean service boundaries, typed APIs, and standardized CI/CD pipelines. --- # Metrics at a Glance | Metric | Before | After | Change | |--------|--------|-------|--------| | API calls / day | 3.2M | 9.6M+ | +200% | | Avg API response time | 1,830ms | 187ms | -90% | | Customs clearance delay | 4.2 days | 2.5 days | -41% | | Data-entry errors | Baseline | -62% | -62% | | Mobile crash rate | 18% | 1.4% | -92% | | Deployment downtime | 3 hours | 8 minutes | -96% | | Feature release cadence | Quarterly | Bi-weekly | 8x faster | | Developer onboarding | 3 weeks | 5 days | -83% | --- # Lessons Learned **1. Shared domain language prevents migration drift.** The dual-write migration succeeded largely because Webskyne and Sudip built a shared event schema contract before writing a single line of migration code. Both teams committed to identical field names, types, and payload structures. Without that contract, the CDC pipeline would have produced silent transformation bugs. **2. Microservices should follow team boundaries, not just technical ones.** Decomposing the monolith into seven bounded contexts that matched Sudip’s organizational teams (Freight, Customs, Tracking, etc.) meant that engineering squads already understood their service’s business rules. The learning curve was minimal, and ownership clarity cut hand-off delays by roughly 40%. **3. Dual-write + CDC was safer than big-bang.** A full cut-over in a regulated domain like customs would have carried unacceptable compliance risk. The dual-write approach let Sudip’s operators validate correctness under real production volume for 28 days before finalizing the switchover. **4. Embedding engineers on-site during hypercare was non-negotiable.** Cultural and language barriers meant that remote async troubleshooting would have added days to incident resolution. Having two Webskyne engineers physically present in Sudip’s Dhaka office during weeks 28–31 cut mean-time-to-repair from 4.2 hours to 38 minutes. **5. Observability is not a project phase—it is a product requirement.** Trying to bolt observability onto an already-complex microservices mesh in a single phase created strain. Webskyne learned to design observability from day one of each service, using OpenTelemetry auto-instrumentation and consistent RED metrics (Rate, Errors, Duration) from the very first commit. --- # Looking Ahead The new platform has become Sudip Logistics’ strategic foundation for the next phase of growth: cross-border e-commerce integrations, last-mile IoT telemetry from warehouse sensors, and machine-learning demand forecasting built on the clean PostgreSQL data lake. Webskyne is now in the second phase of the engagement, partnering on the demand-forecasting module and an expanded partner portal for Sudip’s 200+ enterprise clients. *This case study was authored by the Webskyne editorial team based on project artifacts, performance dashboards, and interviews with Sudip Logistics’ engineering leadership. Metrics verified through independent platform audit completed Q3 2025.* ![Freight operations digitization dashboard showing real-time shipment tracking and analytics](https://images.unsplash.com/photo-1586528116311-ad8dd3c8310d?ixlib=rb-4.1.0&auto=format&fit=crop&w=1600&q=80)

Related Posts

From Legacy Monolith to Cloud-Native Microservices: How TechSolve Cut Deployment Time by 87%
Case Study

From Legacy Monolith to Cloud-Native Microservices: How TechSolve Cut Deployment Time by 87%

A mid-sized SaaS provider modernized its 12-year-old monolith into a cloud-native microservices architecture, slashing deployment cycles from two weeks to under two days while improving system reliability to 99.98%. This case study breaks down the full migration approach, the technical decisions behind the new architecture, and the measurable business outcomes achieved over 18 months.

From Legacy Monolith to Microservices: How Luma Retail Cut Deployment Time by 68%
Case Study

From Legacy Monolith to Microservices: How Luma Retail Cut Deployment Time by 68%

When Luma Retail's legacy e-commerce platform began buckling under Black Friday traffic, the engineering leadership team faced a gut check: modernize or accept permanent instability. This case study traces the 14-month migration from a monolithic Ruby on Rails stack to a cloud-native microservices architecture—covering the refactored checkout flow, the API gateway redesign, the observability overhaul, and the organizational shifts that made the transformation stick. The results speak for themselves: deployment cycles dropped from 72 hours to 23 minutes, p99 latency fell 42%, and post-release rollbacks fell by 87%. Here is the full technical and operational journey.

From Legacy Monolith to Cloud-Native Platform: How Meridian Retail Achieved 340% ROI in 18 Months
Case Study

From Legacy Monolith to Cloud-Native Platform: How Meridian Retail Achieved 340% ROI in 18 Months

When Meridian Retail, a 35-year-old mid-market chain with 120 stores across four states, discovered its decade-old inventory system was costing more in downtime than its annual technology budget, the leadership team faced a choice: patch another failing layer or rebuild from first principles. This case study traces how a disciplined cloud-first modernization program — anchored in a strangler-fig migration pattern, API-first design, and close alignment between engineering and store operations — delivered 340% return on investment within 18 months while simultaneously cutting checkout latency by 72% and eliminating four critical single points of failure. We examine the architectural decisions, the organizational challenges, the moments where the project nearly failed, and the repeatable lessons that any mid-market company running on legacy infrastructure can apply today.