Routes can have wildcards at any position. So userca/password and usercb/password and usercd/password could all be one route with different users. What you do with the portion of the route that fills the wildcard is up to you. You could, for example, let your program logic deal with wildcards at the /forgotten and /reset level, or you could let routes send them to different models. In other words, you do have control over whether the routes lead to a destination or to logic. I'm sure I'm not being clear (have a cold that seems to put my head in a fog), but look at Mojolicious::Guides::Routing for examples.