Skip to content
all projects

03 · GOLANG / POSTGRESQL / AWS

Logistics Backend Modernization

Migrating 250+ APIs across 19 logistics domains from .NET to Go — without clients noticing. At Justlog.

GoPostgreSQL RLSRedisAWSSigNoz
250+
REST APIs
19
logistics domains
400+
queries optimized
0
client changes required

01 Context

A logistics platform serving 100+ customers, originally on .NET.

02 Engineering challenge

Rewrite the backend onto Go/PostgreSQL/AWS while keeping API parity, closing security gaps and making the database do less work.

03 My responsibilities

  • Ownership of 250+ REST APIs
  • The .NET → Go migration
  • Tenant isolation and auth fixes
  • Query and runtime performance

04 Architecture overview

Go services on AWS over PostgreSQL with row-level security and tenant-scoped policies, Redis caching, and OpenTelemetry/SigNoz tracing. Integrations for courier APIs, PDF/Excel generation and Textract validation for proof-of-delivery workflows.

05 Key technical decisions

  • →API parity as a hard constraint so no client had to change.
  • →PostgreSQL RLS for tenant isolation instead of trusting application filters.
  • →pgxpool, keyset pagination, batched writes and composite indexes.
  • →ARM64 CI, race-detector checks and tests against real PostgreSQL/Redis.

06 Measurable outcomes

  • 250+ REST APIs
  • 19 logistics domains
  • 400+ queries optimized
  • 0 client changes required

07 What I learned

Migrations succeed when compatibility is treated as a feature, and tests run against the real database tell you things mocks never will.

next project

Ed-Tech Backend & Content Delivery