Decisions - Architectural & Technical Choices
June 2024 Transitioning to Remote-First Team Structure Post-pandemic, our team was split between office and remote workers. The hybrid model created two classes of employees and made collaboration inconsistent. We needed to decide on a...
teamremote-workcultureprocess
Read decision
March 2024 Adopting Event-Driven Architecture for Order Processing Our synchronous order processing pipeline was becoming a bottleneck. Long-running operations blocked the checkout flow, and failures in downstream services caused cascading issues.
architectureevent-drivenkafkascalability
Read decision
January 2024 Choosing TypeScript Over JavaScript for New Services Our team was starting development on a new set of microservices. We needed to decide whether to use TypeScript or JavaScript for the codebase.
architecturetypescriptdeveloper-experience
Read decision
November 2023 Implementing Feature Flags for Safer Deployments Our deployment process was all-or-nothing. New features went live to all users immediately upon deployment, making rollbacks disruptive and limiting our ability to test in producti...
deploymentfeature-flagsrisk-managementtooling
Read decision
September 2023 Monorepo vs Polyrepo for Microservices Our microservices architecture had grown to 30+ services spread across separate repositories. Coordinating changes across services was becoming increasingly difficult.
architecturemonorepodeveloper-experiencetooling
Read decision
June 2023 Choosing PostgreSQL Over MongoDB for New Services We were designing a new service for managing customer subscriptions with complex billing logic. The team debated between PostgreSQL and MongoDB, which we had used for other service...
databasepostgresqlarchitecture
Read decision