I'm literally doing this same idea currently but I pay a friend instead. They are under no obligation to give me my money back at a later date and I'm not expecting them to. The key is that I have to give them cash, so every time I check in with them and have not completed my goal, I have to take out my wallet, grab the money, and hand it to them.
My first check in for the year is coming up this weekend and I'm not looking forward to even going to the ATM, much less paying them if I didn't meet my goal!