Sample applications are rarely difficult to make. I built a bot as an experiment for my team (https://m.me/PigeonCorps) and we've run into a lot of issues that fall outside of intent classification and response. The most complex issues related to non-trivial chatbots (or atypical chatbots) in my experience have been:
- session management
- horizontal scaling
- dealing with platform changes
- dealing with platform downtime/bugs
- hierarchical data presentation
- matching intents within hierarchical/nested flows
I agree, however, that most chatbots we see are not incredibly complicated, however, I think the typical points that are emphasized in these types of articles (intent classification) are not the hard parts.