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.
- Prediction markets, trading systems, financial exchanges, and market data infrastructure
- Coinbase-adjacent platform concepts: reliability, scale, ledgers, matching/settlement, risk systems, observability
- Real Coinbase incidents as concrete examples when useful, especially the short opening series on the 2026-05-07 outage case study
- Technical leadership in established systems: what questions to ask, what risks to look for, how to evaluate runbooks, how to prioritize follow-ups
- Social apps and apps at scale: feeds, graphs, notifications, ranking, abuse prevention, media, realtime systems
- Kubernetes as one sequenced learning path, starting from zero
- Observability/Datadog/monitoring as one sequenced learning path, starting from zero
- Kafka/streams/queues/event-driven systems as one sequenced learning path, starting from zero
- Redis/caching/fast data access as one sequenced learning path, starting from zero
- Classic system design topics from large-company engineering blogs and popular system design books
- Concepts explained for a novice, with concrete examples and practical takeaways
Files
tracks/learning-track.md— ordered curriculum; daily entries should build on previous entries and preview the next onecase-studies/— real incidents and architecture examples to weave into lessonsdigests/— one Markdown file per sent lesson, namedYYYY-MM-DD-topic-slug.mdpublic/— generated local static site; openpublic/index.htmlin a browserscripts/build_site.py— dependency-free static site buildersent-index.md— chronological ledger of sent topics and source linkstopic-backlog.md— suggested topic pool; the cron job may add to or draw from this
Cron job behavior
Each run should:
- Read
sent-index.md,tracks/learning-track.md, relevantcase-studies/.md, and existingdigests/.mdto avoid repeating topics. - 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.
- Pick the next useful concept relevant to the focus areas and current learning sequence.
- Keep lessons beginner-first, then add practical Coinbase technical-leader relevance.
- Use reputable sources where possible: large-company engineering blogs, architecture writeups, classic papers, official docs, or system design books.
- 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.
- Write a novice-friendly Markdown lesson locally before sending.
- Send the lesson body by email to
nick@nickbytes.comusing local mail tooling, but verify local mail queue status after sending. On 2026-05-09,/usr/bin/mailexited 0 while Postfix still held the message in the queue, so exit code 0 alone is not proof of delivery. - Append a short entry to
sent-index.mdonly after the email command succeeds andmailq/sendmail -bpno longer shows the message queued fornick@nickbytes.com. - Rebuild the local site with
python3 scripts/build_site.py, then Nick can openpublic/index.htmlin 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.