Hi, I’m trying to find an app that will fine me for not being at certain places at certain times (It’d use GPS). It’s for something other than working out so Pact won’t do. I want something that doesn’t rely on me using someone else.
You can do this with beeminder and If This Then That!
It may not be instantaneously responsive, but the following protocol should work:
Create a do-more beeminder goal with a slope of X, where X is the number of days you need to arrive on time per week, and an immediate charge of $5. Set the pledge cap to whatever you’d like to pay when you’re late. Uncheck “start this goal with a week of safety buffer.”
Go into settings and change the deadline to whatever your deadline is for arriving on time.
If you pay for premium, go to Commitment and check “weekends off” if you only care about arriving on time on weekdays.
Change the data source to “IFTTT.”
Create an IFTTT account and install IFTTT on your phone.
Create an applet which triggers when you enter a location (Create New Applet - > Location -> Enter a location)
Set Beeminder as the action service.
Select your lateness goal as the target.
Set the datapoint value to 1.
If you pay for custom goals, go to settings -> convert to custom, then change the aggday field to “binary”. This will ensure that you only get to add 1 to your graph once per day.
Now, when your phone enters the location you specified, beeminder will update with a “1.” If your deadline has passed before that happens, you’ll be charged. This might take a couple minutes to take effect, though, so I’m not sure if this satisfies your use case.
What you could also do is use IFTTT’s “DO button” app to create a button to immediately charge your card when you find yourself running late. That of course relies on your own willpower to press the button as soon as you find yourself late, though, and may not be ideal.
If you run Android, I find that the “connecting to a wifi network” trigger is faster and more reliable than location services, so if there’s a network whose SSID only exists at your destination that’s a good option.
Thank you.
I want to set it for specific days with different times.
For example, I’d want to be at “A” at 8pm Tuesday through Thursday, be at place “B” at 5am Monday through Friday and be at place “B” at 7am Saturday and Sunday.
One challenge that you’ll find is that Beeminder doesn’t much care about what day you do something, or what week it is.
It’s much more geared toward challenges like, say, walking 10k steps on average every day, or going to the gym twice a week on average, etc. Always ‘on average’ because the line on your goal graph is the thing to stay ahead of…
Thoughts on an alternative solution:
There’s another Beeminder action on IFTTT, one that just takes your money, which could be the ‘fine’ that you’re looking for.
But IFTTT isn’t great at combining stateful chains of logic like
I’m at this place
for the first time today
and it’s before the deadline
so don’t fine me when the deadline arrives
You might be able to jury-rig something using Zapier, which has a richer set of operators, and use something like Google Sheets to manage the state, or twitter as the message bus, or…
Good luck! If you solve this, everyone will want to know what worked for you!