Viewing
Internal — Ergomotion Engineering

IOR Automation — Build Plan

10 tickets across 6 weeks. Two engineers, parallel tracks, zero idle time.

Tech Lead — Nayan
Full-Stack Engineer
6 Weeks • March 2026

How 6 Weeks Works

Team

Tech Lead — Nayan

Architecture, VPC/IAM/security, core business logic (processor, ETL, comparison engine), SAP coordination, code review, cutover. ~40% of total work.

❮/❯

Full-Stack Engineer

CDK stacks (S3, DynamoDB, ECS, CF), CI/CD, Lambda replication, React frontend, Docker, validation scripts, monitoring, tests. ~60% of total work.

External Dependency: 6 of 8 SAP APIs must be built by the SAP team. Only ZFMIOR002 and ZFMIOR003 are live. This does NOT block the 6-week timeline — all Lambdas are built against mocks. Swap URL when APIs ship.
System Architecture — 8 Layers
Ergomotion IOR — AWS Architecture
SAP-integrated, event-driven pipeline. Each layer maps to specific tickets below.
SAP China
ZFMIOR002 — Product WeightsLIVE
ZFMIOR003 — PackagingLIVE
ZEMM005 — HTS/TariffTO BUILD
ZEMM004 — Customs LinesTO BUILD
ZEMM07 — VerificationTO BUILD
ZSDR002 — InvoiceTO BUILD
MIGO — Goods ReceiptTO BUILD
Ingestion
EventBridge SchedulerT3
7 Ingestion LambdasT3
SQS Dead Letter QueueT3
S3 Raw Landing Zone (JSON)T2
ETL
etl-product-master (weights + HTS join)T4
etl-hts-reference (rates, sequencing)T4
etl-transactions (ZSDR002/ZEMM004)T4
etl-packaging (normalize)T4
Schema Validation FrameworkT4
SNS Quality AlertsT4
Storage
DynamoDB: ProductMasterT2
DynamoDB: HTSReferenceT2
DynamoDB: TariffSequencingT2
DynamoDB: TransactionDataT2
S3 Processed (Parquet)T2
S3 Customs OutputT2
Application
ECS Fargate — FastAPI (1 vCPU / 2GB)T6
Application Load Balancer + WAFT6
S3 + CloudFront — React SPAT7
JWT Auth + DynamoDB UsersT8
Auto-Gen
generate-customs-lines LambdaT9
EventBridge Daily TriggerT9
S3: customs-output/YYYY-MM-DD/T9
Compare
Comparison Lambda (field-by-field)T9
S3: Comparison ReportsT9
SNS Discrepancy AlertsT9
Audit
S3 Audit Bucket (Object Lock COMPLIANCE)T2
S3 Glacier — 7-Year ArchiveT2
CloudTrail (all S3 + DynamoDB ops)T10
Security
AWS Secrets Manager (SAP creds, JWT)T1
VPC — Private/Public SubnetsT1
IAM Roles (least-privilege per service)T2
WAF on ALB + CloudFrontT6
S3 SSE-KMS EncryptionT2
Monitoring
CloudWatch DashboardsT10
CloudWatch AlarmsT10
SNS → Email/Slack AlertsT10
GitHub Actions CI/CD (4 pipelines)T1
10 Tickets
Week-by-Week Parallel Tracks
Wk 1
Tech Lead
T1 + T2
VPC design, IAM roles, Secrets, audit S3 lock, cross-account policy
Full-Stack
T1 + T2
CDK scaffold, 4 CI/CD pipelines, S3 buckets, DynamoDB tables, ECR
Wk 2
Tech Lead
T3
Template Lambda, SQS/DLQ pattern, retry logic
Full-Stack
T3
Replicate 6 Lambdas from template, EventBridge, unit tests
Wk 3
Tech Lead
T4
3 ETL jobs (product-master, hts-reference, transactions), schema framework
Full-Stack
T4 + T5
etl-packaging, SNS alerts, then 4 validation scripts (shadow mode)
Wk 4
Tech Lead
T6 + T8
data_loader.py refactor, auth fix (main.py, user_storage.py, DynamoDB users)
Full-Stack
T6 + T8
Dockerfile, ECS/ALB/WAF CDK, new API endpoints, frontend auth cleanup
Wk 5
Tech Lead
T9
comparison.py engine, generate-customs-lines Lambda, orchestration
Full-Stack
T7 + T9
CloudFront CDK, React dashboards (customs lines + comparison), SNS alerts
Wk 6
Tech Lead
T10
Parallel run validation, output parity check, cutover decision
Full-Stack
T10
CloudWatch dashboards + alarms, SNS routing, runbook, fallback test
Workload Split
TicketTech LeadFull-StackWeek
T1 Infra + CI/CD30%70%1
T2 Storage Layer30%70%1
T3 Ingestion Lambdas35%65%2
T4 ETL Processing70%30%3
T5 Shadow Validation20%80%3
T6 Backend → ECS40%60%4
T7 Frontend → CF15%85%5
T8 Auth Fix65%35%4
T9 Auto-Gen + Compare70%30%5
T10 Monitor + Cutover35%65%6
Tech Lead ~40% Full-Stack ~60%
Open Decisions (Resolve End of Week 1)

ETL Technology

Recommended: Lambda

Tiny data volume (~73 products, ~67 packaging, ~21 HTS). Lambda + pandas is 35x cheaper than Glue.

Authentication

Recommended: JWT + DynamoDB

Lowest risk. Move users.json to DynamoDB. Defer Cognito/Entra ID until M365 decision is final.

Risk Mitigations
RiskMitigation
SAP team delays on 6 APIsBuild against mocks from day 1. Swap URLs when APIs ship.
6 weeks is tightParallel tracks every week. No idle time. Daily standups.
Cross-account S3 complexityAgreed Mar 26 meeting. Test in Week 1.
Auth migration breaks thingsT8 isolated in Week 4. Test in staging first.
Processor output differsShadow mode (T5 Week 3) catches before cutover.
Scope creepDocument Distribution Pipeline is OUT. No exceptions.