Skip to content
Code by Pawpu

Architecture

Software Engineering / System Design

Tradeoffs, interviews, and the design notes that keep teams aligned.

System Design · Software Engineering · 8 published · 19 in the review queue. Written by Al Beltran.

  1. Two identical brass keys on a dark slate, one catching a thin blue highlight
    Architecture

    Idempotency Keys Are the Real API Contract

    Retries are not an edge case. If a client can double-submit a payment, a reward, or a provision call, the header that names the attempt is the interface.

    #apis#idempotency#reliability#fintech
  2. A dark rail switch with one track lit blue and the other in shadow
    Workflow

    Feature Flags Beat Long-Lived Branches

    A flag in production is a smaller, reversible risk than a branch that only exists on one laptop. Trunk-based delivery is an operations choice, not a Git fashion.

    #feature-flags#delivery#git#release
  3. Two notebooks overlapping on a dark desk, one page catching a blue edge light
    Architecture

    Local-First Sync Is a Product Problem

    CRDTs and sync engines are impressive. Users still need a story for conflict, offline writes, and what happens when two cashiers sell the last seat.

    #local-first#sync#offline#product
  4. A narrow dark corridor with a measured blue light bar like a capacity gauge
    Architecture

    Rate Limits Are Product Design

    429s are not just a WAF rule. They encode who gets capacity, what a client should do next, and whether your API is a partner or a trap.

    #apis#rate-limiting#product#reliability
  5. A long dark film strip of sequential frames with one frame lit blue
    Architecture

    Event Sourcing Without the Religion

    An event log is a tool for audit and replay. It is not a requirement for every domain object. Most systems need durable facts and a projection, not a conference architecture.

    #event-sourcing#architecture#audit#messaging

Review queue

Planned notes stay unpublished until they are written and reviewed. Titles are listed so the topic map is complete. They are not pages.

  1. Senior Software Engineer Interview Questions

    Ownership, tradeoffs, incidents, and mentoring — the loop beyond leetcode.

    interview · senior · high priority

  2. Designing for Idempotency Across HTTP and Queues

    Name the attempt. Store the outcome. Assume every client retries.

    architecture · intermediate · medium priority

  3. Rate Limiting Strategies: Token, Window, and Product

    Who degrades first, what Retry-After means, and why a global bucket punishes health checks.

    architecture · intermediate · medium priority

  4. Caching: Put It Where the Invalidation Story Exists

    Browser, CDN, app, database. A cache without a death story is a bug factory.

    architecture · intermediate · medium priority

  5. Consistency vs Availability Is a Product Sentence

    Write the user-visible lie you are willing to tell. Then pick the database topology.

    architecture · senior · medium priority

  6. Event-Driven vs Request/Response: Who Is Allowed to Wait

    If the caller must know now, do not hide the work in a topic. If they must not wait, do not do it inline.

    comparison · intermediate · medium priority

  7. API Gateway vs BFF: Aggregation Is a Product Surface

    A BFF is allowed to be ugly if it matches one client. A public gateway should not be.

    comparison · intermediate · medium priority

  8. Multi-Tenant Isolation: Row, Schema, or Cluster

    The query you forgot to scope is a security incident. Design the default filter first.

    architecture · senior · medium priority

  9. Observability as a Design Requirement

    If you cannot name the SLI, you are not done designing the path.

    architecture · intermediate · medium priority

  10. Feature Flags as Architecture, Not Leftover Ifs

    Cohorts, kill switches, and the flag that became a second routing table.

    architecture · intermediate · medium priority

  11. Backpressure in Data Pipelines

    What happens when the consumer is slower than the producer. Drop, buffer, or refuse.

    architecture · intermediate · medium priority

  12. Authentication vs Authorization Boundaries

    Who you are is not what you may do. Put the check next to the resource.

    educational · intermediate · medium priority

  13. Search Indexes vs OLTP: Two Jobs, Two Systems

    Do not ask Postgres to be your product search forever. Do not ask Elasticsearch to be your ledger.

    comparison · intermediate · medium priority

  14. Queues and Poison Messages

    A message that always fails must leave the main queue. DLQ is a process, not a folder.

    troubleshooting · intermediate · medium priority

  15. Outbound Webhooks as a Product

    Signing, retries, and a dashboard for the partner whose endpoint is down.

    architecture · intermediate · medium priority

  16. Capacity and SLOs: The Number Before the Diagram

    Write p95 and error budget first. The boxes come second.

    architecture · senior · medium priority

  17. Strangler Migrations That Ship Weekly

    Route a slice, keep the old path, delete when the metrics agree.

    architecture · senior · medium priority

  18. Documentation as a Design Artifact

    The contract, the sequence, the failure. If it is only in Slack, it is not designed.

    informational · intermediate · medium priority

  19. Write the Tradeoff Log, Not Just the Diagram

    What you rejected, and why. Future you will need it in an incident.

    informational · senior · medium priority