Modularity Around Microservices Is the Real Product
Microservices without modularity are an expensive distributed mess. Go hard on module boundaries, domain ownership, and deploy independence, or do not bother splitting the monolith.
Leadership, mentoring, and deep notes on the commerce platforms, specialty ops systems, AWS, and delivery habits behind calm teams.
Microservices without modularity are an expensive distributed mess. Go hard on module boundaries, domain ownership, and deploy independence, or do not bother splitting the monolith.
Docker is not a buzzword layer. It is how I keep local, CI, and AWS agreeing on Node, system libs, and runtime behavior. Here is how I use it to make delivery calmer and teaching easier.
As projects grew, we stopped smearing UI, business rules, and persistence across the same files. A deliberate 3-tier shift (presentation, domain, data) cut thrash, improved testing, and made mentoring possible.
SRS documents, ERDs, and infrastructure diagrams are how teams buy back time. The complexity is keeping them honest while the system changes under you.
EventBridge schedules, SQS workers, and domain Lambdas scale side effects, while teaching hard lessons about ordering, backpressure, and figuring out what already happened.
Auth, gateway, orders, locations, users, and POS apps can be separate deployables, but only if the boundaries match real change rates and failure domains.
Turning external B2B payloads into Shopify orders looks like “call the API.” The real work is validation, enrichment, idempotency, partial failure, and telling someone what happened.
Admin blocks, checkout UI, POS tiles, and Functions look like “just UI.” The real complexity is targets, capabilities, ownership, and what must live outside the extension.
Lambdas and Remix loaders tempt you to write scripts. Complexity shows up when validation, I/O, and domain rules share one file, and nobody can test the part that matters.
Behind specialty POS sits an operating system: Next.js associate portals, an Express webhook platform, and cron jobs for exports, pending cleanup, FTP, and sync. Here is what that system actually contained.
A specialty retail POS prescription flow looks like a Shopify extension. What we built was a full embedded app: order capture on the floor, domain rules in Node, and operational paths that could not afford cashier improvisation.
POS captures specialty work. A back-office embedded admin app is what keeps those orders visible, editable, and operable after the line moves on. Here is what that companion system required.