The hottest System Design Substack posts right now

And their main takeaways
Category
Top Technology Topics
The ZenMode 0 implied HN points 03 Nov 24
  1. Splitwise helps users track shared expenses easily. It lets people split costs for outings, so everyone knows what they owe.
  2. Users can create accounts, join groups, and add expenses that can be assigned to different members. The app automatically calculates what each person owes.
  3. The system is designed to handle many users securely while providing quick access to important information like balances and recent transactions.
Hasen Judi 0 implied HN points 05 Jan 25
  1. There are two similar code paths for fetching posts by hashtag and user ID, causing duplication that can complicate the codebase. Simplifying these could make the code easier to manage.
  2. Using a single index for both types of queries can reduce complexity and allow for easier future features, like querying by other criteria, without increasing code duplication.
  3. Collapsing code paths not only streamlines current processes but also makes it easier to implement new features or queries in the future, reducing overall development effort.
Squirrel Squadron Substack 0 implied HN points 14 Jan 25
  1. Avoid doing a total rewrite of your software, as it often leads to mistakes. Instead, make small, incremental changes to improve what you have.
  2. Technical debt is a common issue in tech. Learning to manage and refactor it can lead to better software over time.
  3. Just as our bodies have remnants of evolution, software can have old parts that still serve a purpose. It's important to understand their history before trying to remove them.
Bit Byte Bit 0 implied HN points 23 Dec 25
  1. Choose the right tool: build core, domain-specific messaging yourself and use SaaS like PostHog only where it clearly adds value (surveys, A/B tests).
  2. AI makes building fast and encourages scope creep, so keep your MVP narrow, put extras on an ideas list, and only implement features that solve the current problem.
  3. Don’t keep perfectly clean code you don’t need because it creates a maintenance burden. Use simple, flexible patterns (global LiveView hooks and small function-based rules) so you can extend behavior later without heavy rewrites.