He used to be homeless. Now he's a mayor. And he's only 28.