✅ Sprint 1 → bold name
✅ Sprint 2 → optional title
✅ Sprint 3 → role tag
✅ Sprint 4 → uppercase badge
😱 Suddenly → 5 props, messy ternaries!
💥 Solution → functional composition:

  • joinName → withBold → withTitle → withRole → withShouting

⚙ Tip: