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