I wish I had started this 10 years ago! I get paid twice monthly. I have a spreadsheet and prior to each payday fill in everything I plan to spend during that next two weeks-all my regular bills are on autopay and divided pretty evenly which is SUPER helpful.
Using the spreadsheet allows me to tweak changes as things come up-it's like a (serious) game to try and end up with zero before the next pay. I do not deprive myself and am getting better at saying, without explanation, "I can't make it" to certain invitations if the money isn't there. I also created an awesome Sinking Funds tab, transfer a certain amount on payday to a separate account and on the SF sheet divide the allotted money to each category. Then for instance on the day of my hair appointment I transfer the total from the sinking funds to my checking account and pay for my beautification!!
And finally, on payday ANYTHING that is left from this pay period's total gets moved to my "Fun Fund" where it builds up and allows me some travel, concert tickets, etc.!