
Hey Aaron! Start with a friendly heads up that sets the consequence in advance. For example, "I really want to see you and my time is tight. For our meetups I can wait 10 minutes, then I'll head out if you're not there." On the day, text when you arrive: "I'm at the cafe now. I can stay until 6:10, then I need to go." Keep the tone warm and matter of fact & then actually leave at the time you set. If they push back, repeat the boundary once and skip the debate.
Make plans that protect your time and budget. Pick spots near you or with a built in plan B, like a park where you can walk a lap or a cafe where you can answer two emails while you wait. If it is dinner, you can say, "If you are not here by 6:10 I'm going to order, because I need to head out by 7." A concrete move that helps is to ask them to text when they leave and to set your own alarm for five minutes before your hard stop. If the pattern keeps going, have a short non dramatic check in: "I notice we often start 30 to 40 minutes late. Is there a start time that works better for you, or should we plan shorter windows so I can still leave on time?" You are not punishing them, you are just designing plans you can afford in time and money.