No need to change core files . Just add username as route name . But like ive said .. implementint a username strategy on user register or edit username not allow names that already exist as city region or categoryY've made some tests with works well under 10 000 routes . Matching the route under 0.1 sec . With 512 mb ram.. shared hosting... But if the number of routes increases ,more memory is needed more time will be consumed ,and some changes to rewrite class to match faster . Now it used foreach routes as route {preg match } . You will have to implement a diferent strategy with static routes .