I could do that in a weekend (2016)
To OP's point of "features are more complicated than they appear" I always like to point to the flowchart of Slack's notification logic.https://pbs.twimg.com/media/C6ROe0mU0AEmpzz?format=jpg