Things that are hard about building an SPA:
- Managing the back button yourself
- Managing scroll state yourself
- Managing focus state yourself
A lot of the nuts-and-bolts stuff that the browser is supposed to do automatically now becomes your responsibility. I think a lot of people underestimate this when building an SPA.