1. Don’t. Seriously. If your goal is to homebrew a whole world and you’ve never done it before, you’re going to get lost in the weeds. That’s a guarantee. Start only with the area your players will be starting in. By limiting the scope of what you’re working on, you’ll be able to get a firmer grasp on what you need/want out of your world.
2. You don’t need to know every NPC. By trying to have each shopkeep, peasant, mayor, guard captain, blacksmith, and soldier written out, you’re going to have a lot of useless information. Spend your time on the stuff you need.
3. Have an outline for cities and settlements, but don’t limit yourself. It’s a good idea to know what resources/shops are available in your city, town, or whatever, so make a list. However, if a player asks for something specific that you hadn’t even thought of, give it some thought. Could they possibly have one? Where would it be nearby, if not? Only handicap your players if you have a solid reason for doing so.
4. Names are bullshit. Don’t stress about naming things. Grammatical/linguistic consistency is nice, but not required. (Your players are going to make fun of your names anyway. On that note, don’t have super long names for things. Your players won’t remember them.