• Hungry Minds
  • Posts
  • ๐Ÿ”๐Ÿง  How Reddit Sends 10M+ Notifications/Month (Deep Dive)

๐Ÿ”๐Ÿง  How Reddit Sends 10M+ Notifications/Month (Deep Dive)

PLUS: Claude AI Best Practices ๐Ÿ“‹, LLD Interview Blueprint ๐Ÿ“˜, CDN Explained ๐ŸŒ

Happy Monday! โ˜€๏ธ

Welcome to the 175 new hungry minds who have joined us since last Monday!

If you aren't subscribed yet, join smart, curious, and hungry folks by subscribing here.

๐Ÿ“š Software Engineering Articles

๐Ÿ—ž๏ธ Tech and AI Trends

๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป Coding Tip

  • Use awk with custom field separators to extract data from logs

Time-to-digest: 5 minutes

Big thanks to our partners for keeping this newsletter free.

If you have a second, clicking the ad below helps us a tonโ€”and who knows, you might find something you love. ๐Ÿ’š

Phoenix.new: The fastest way to build Elixir apps in-browser

No more tedious setup.

Phoenix.new builds full-stack, real-time Elixir apps with an AI agent, right in your browser.

Spin up a full dev environment, test with a headless browser, see live previews, and deploy to Fly.

GitHub included.
Local optional.

Reddit built a sophisticated notification system that processes millions of posts daily to deliver personalized push notifications at scale. The system combines causal modeling, real-time retrieval, and deep learning to ensure users receive relevant content without notification fatigue.

The challenge: Balance user engagement with notification fatigue while processing millions of posts in real-time and maintaining high personalization accuracy.

Implementation highlights:

  1. Smart budgeting: Uses causal modeling to determine optimal daily notification limits per user

  2. Two-tower retrieval: Implements fast candidate selection using embedding-based similarity matching

  3. Multi-task learning: Employs deep neural networks to predict multiple engagement signals simultaneously

  4. Dynamic reranking: Applies product-driven adjustments to maintain content diversity and freshness

  5. Queue-based architecture: Ensures reliable delivery through asynchronous processing pipeline

Results and learnings:

  • Achieved real-time processing of millions of daily posts

  • Maintained high user engagement while minimizing notification fatigue

  • Successfully scaled to tens of millions of users with personalized delivery

Reddit's approach shows that building effective notification systems requires more than just technical prowess - it needs deep understanding of user behavior and engagement patterns. Their multi-stage pipeline demonstrates how to balance ML sophistication with practical product needs.

ESSENTIAL (http-drama-queen)
HTTP is not simple

ARTICLE (retro-magic)
How to Run Great Retrospectives

Want to reach 190,000+ engineers?

Letโ€™s work together! Whether itโ€™s your product, service, or event, weโ€™d love to help you connect with this awesome community.

Brief: AWS CEO Matt Garman calls replacing junior employees with AI "the dumbest thing," arguing theyโ€™re cost-effective and key to future skill development, while advocating for AI as a tool for learning, not replacement.

Brief: AWS CEO Matt Garman slams the idea of replacing junior employees with AI, arguing theyโ€™re cost-effective and critical for long-term skill development, while advocating for AI as a training tool instead.

Brief: AGENTS.md is emerging as the standardized Markdown file for AI coding agents, providing project-specific instructions to complement traditional READMEs and streamline collaboration between developers and AI helpers.

Brief: Meta halts AI hiring after market turmoil and concerns over overinvestment, reversing its aggressive talent acquisition strategy that included $1B offers to top researchers.

Brief: Waymo secures critical permits to launch commercial autonomous rides in New York City, marking Alphabet's first robotaxi expansion to a dense urban environment.

This weekโ€™s coding challenge:

This weekโ€™s tip:

Use awk pattern matching with custom field separators to extract structured data from messy logs using Extended Regular Expressions (ERE). The -F flag sets field separators, while pattern blocks like /pattern/{action} filter lines before processing.

Wen?

  • Legacy system analysis: Parse inconsistent log formats without writing custom parsers.

  • Quick data extraction: Pull specific fields from JSON-like logs without full parsing overhead.

  • Real-time monitoring: Filter and transform log streams on-the-fly in monitoring pipelines.

โ€œWe cannot change anything unless we accept it.โ€
Carl Jung

Thatโ€™s it for today! โ˜€๏ธ

Enjoyed this issue? Send it to your friends here to sign up, or share it on Twitter!

If you want to submit a section to the newsletter or tell us what you think about todayโ€™s issue, reply to this email or DM me on Twitter! ๐Ÿฆ

Thanks for spending part of your Monday morning with Hungry Minds.
See you in a week โ€” Alex.

Icons by Icons8.

*I may earn a commission if you get a subscription through the links marked with โ€œaff.โ€ (at no extra cost to you).