README.md

Infrastructure / Platform / System Design Daily Digests

Daily learning project for novice-friendly infrastructure, platform engineering, distributed systems, and system design concepts.

The Hermes cron job sends one email digest per day to nick@nickbytes.com and records each sent digest locally as Markdown.

Focus areas

Primary orientation: keep the course beginner-friendly while also making it useful for Nick as a manager and technical leader at Coinbase working inside established systems. Do not over-correct into only engineering-leadership advice. Each lesson should first teach the underlying infrastructure/platform concept clearly from first principles, then add a practical lens for understanding existing architectures, incident reports, reliability risks, operational tradeoffs, and cross-team technical decisions.

Files

Cron job behavior

Each run should:

  1. Read sent-index.md, tracks/learning-track.md, relevant case-studies/.md, and existing digests/.md to avoid repeating topics.
  2. Follow the learning-track order. Start with Track A, the short Coinbase outage concept series, before the general topic tracks. After Track A, move on; do not make every future email about this one incident.
  3. Pick the next useful concept relevant to the focus areas and current learning sequence.
  4. Keep lessons beginner-first, then add practical Coinbase technical-leader relevance.
  5. Use reputable sources where possible: large-company engineering blogs, architecture writeups, classic papers, official docs, or system design books.
  6. Weave in local case studies only when they genuinely clarify the topic. The Coinbase 2026-05-07 incident is especially useful for Kubernetes draining, Kafka partition recovery, observability/Sev1 response, matching-engine quorum, market reopening, failure isolation, and disaster recovery tradeoffs, but it should not dominate unrelated lessons.
  7. Write a novice-friendly Markdown lesson locally before sending.
  8. Send the lesson body by email to nick@nickbytes.com using local mail tooling, but verify local mail queue status after sending. On 2026-05-09, /usr/bin/mail exited 0 while Postfix still held the message in the queue, so exit code 0 alone is not proof of delivery.
  9. Append a short entry to sent-index.md only after the email command succeeds and mailq/sendmail -bp no longer shows the message queued for nick@nickbytes.com.
  10. Rebuild the local site with python3 scripts/build_site.py, then Nick can open public/index.html in a browser.

Cloudflare Pages delivery option

Local mail delivery has proven unreliable on macOS/Postfix. Cloudflare Pages setup notes live in CLOUDFLARE_SETUP.md. A Pages project named infra-platform-system-design-digests exists in the Nickbytes Cloudflare account, and npm run deploy:pages can deploy the generated public/ directory. Do not switch the scheduled cron to automatic Cloudflare publishing until the target URL is protected by Cloudflare Access or another explicit privacy decision is made.