9 ms·
Show HN: Go Freaking Do It – Smart contract for reaching your goals
- NwmG 9y agowhy can you put in negative numbers as the amount?
- superkarolis 9y agoGood question, that's my oversight, got that sorted now.
- mcny 9y agoHi, I think the link to Firefox metamask should be https://addons.mozilla.org/en-US/firefox/addon/ether-metamask/ https://addons.mozilla.org/en-US/firefox/addon/ether-metamas... Thank you for mentioning and supporting Mozilla Firefox!
- superkarolis 9y agoDone!
- netsec_burn 9y agoHahhahaha my procrastination could have finally paid off!
- superkarolis 9y agoIt only allowed you to put negative number in UI box but that would have not made a valid Ethereum smart contract so it still wouldn't have worked. It made me scared for a second though!
- supermdguy 9y agoOh, good. That could have been really bad.
- CrossWired 9y ago>> and will keep the funds otherwise. If I'm possibly going to give my money away, why would I want to do this to some random contract, instead maybe a Charity or somewhere other than directly to the contract?
- supermdguy 9y agoIt is kind of awkward that a business that exists to help you get things done is paid whenever you fail.
- falcolas 9y agoThis is effectively the business model of every health club out there. They lock you into a 1 year contract, knowing most people will not continue past the first or second month.
- dpatrick86 9y agoIn that case, the only incentive they have for you to fail is to pack more gym memberships in the same square footage. Still, I think as a perverse incentive it's a lot more indirect.
- mrisoli 9y agoExactly, while they can benefit from having fewer people go regularly to offer a better experience to those who do, churn is still a gym's biggest problem, it's why they lock up longer contracts and why gyms have trainers available and regular progress reports, to enhance customer LTV.
- jstanley 9y agoThat's also the business model of most dating websites.
- kbutler 9y agoDoctors and pharmaceutical companies are supposed to help you be healthy, but make more if you're ill long-term. Banks, credit card companies, and brokerages all make more money if you make poor financial decisions (fees, interest, and active trading, respectively). Auto mechanics and car companies make money if your car doesn't work or doesn't last past the warranty period. Even piano teachers only make money if you continue needing lessons, rather than becoming able to learn on your own. Hopefully enlightened businesses will follow the model that customer referrals are more scalable than bleeding the money out of any one individual.
- supermdguy 9y agoThis is a great idea!
- pjam14 9y agoLike the one from Pieter Levels? https://gofuckingdoit.com/ https://gofuckingdoit.com/ https://levels.io/debriefing-go-fucking-do-it/ https://levels.io/debriefing-go-fucking-do-it/
- superkarolis 9y agoExactly, "Go Fucking Do It" is the original concept and inspiration for this side-project. I informed him about what I am building. The only difference is that "Go Freaking Do It" is built on top of Ethereum blockchain and the funds are verifiably safe.
- underyx 9y agoThe same concept, but with credit cards: https://www.beeminder.com https://www.beeminder.com
- cantrip 9y agoI don't like kill functions. If you have to trust that the owner won't just kill the contract in the middle of your goal it's not actually trustless.
- shazow 9y ago+1, kill functions only make sense in contracts which are expected to operate within a specific narrow time window that is governed outside of the contract. For example, a fundraising period. Kill functions work well when you can effectively say "oops we screwed up the event window, we're going to relaunch with a fresh event window." For something that is intended to exist permanently, the kill function is strictly harmful as it creates risk for anyone depending on the contract (unless your intention is to avoid having people depend on it, I suppose).
- jstanley 9y agoI don't like the concept of a smart contract having an "owner". Why should anybody have any more power than anybody else? A true trustless smart contract would have no owner.
- mapleoin 9y ago> get an email emailed I think this could be rewritten as "send an email".
- NwmG 9y agoYou might want to note that you can test it on the testnet. It looks like it works, i did it using ropsten testnet but the verbiage in the posting says mainnet regardless of if it is actually the mainnet.
- crispyambulance 9y agoThis is a neat idea. But it makes wonder that there's perhaps more to consider about "your goals" if you need "a supervisor" to verify that you met your goals and a monetary penalty for failing to meet your goals. More importantly, one's _choice_ of goals and the process by which they strive to achieve them (the journey) is every bit as important as the "verifiable" success/failure rate if we're talking about personal goals.
- sharemywin 9y agoThis might be a better model: https://www.fitnessmagazine.com/weight-loss/tips/motivation/weight-loss-apps-bet-money/ https://www.fitnessmagazine.com/weight-loss/tips/motivation/...
- jhiska 9y agoUsing technology and money to blackmail yourself isn't an effective way to make you do something you don't actually want to do; shady.
- frisby 9y agoI had been discussing almost exactly this idea with a friend over the last couple weeks, wholly unaware of the similar services listed elsewhere in the comments (although I realise there is a chance I heard about one of them in the past but forgot about it). Good job on getting this up and running, looks great so far! The way we had proposed to deal with funds that were not returned to the user because of failing a goal was to add them to a reward pool of sorts. We would take a percentage of any failed goal funds, but the majority would be given as rewards to others who had completed their goals in a similar area or time period. The details of this hadn't been fleshed out but one potential way to do it we discussed would be to distribute the reward pool at the end of every month to those who had completed gals in that month (proportional to the amount of money staked). This would potentially remove some people's concerns listed in the comments about the money not being handled well in case of goal failure. Also it might drive more usage of the service if people would maybe even profit.
- tonyarkles 9y agoSomething to think about with that, wearing my black hat: What's to stop me from putting up a stake, using a second email address as my "supervisor", and just confirming at the end of the month that I've reached my goal? Without doing anything, that makes me eligible for a chunk of the reward pool.
- monokh 9y agoExactly. The difficult part of creating these kind of value systems isn't just providing more beneficial incentives. It's also about providing the right combination of incentives that remove (as much as possible) any malicious intentions.
- frisby 9y agoNothing, you make a good point. We were going to use github commits as a trusted oracle in our first prototype of this idea so that a supervisor would not be needed (i.e. you would pledge to commit to a certain project a given amount within the month) but this would still be easy to game in the way you described. Maybe there isn't a great way to implement this.
- amelius 9y agoThey didn't implement the most difficult part of the idea: the supervisor. Seems like a half-baked solution. Interesting, but incomplete.
- wuliwong 9y agoIt asks for a supervisor's email. I'm not aware of how these smart contracts work. What else needs to be done?
- jcousins 9y agoSimilar on the bitcoin blockchain - https://www.realitykeys.com/ https://www.realitykeys.com/
- mpeg 9y agoSince setGoalFailed is public (because you want it to be callable by the person trying to achieve the goal, and the contract owner is the supervisor) and does no checks, seems like anyone can mark a goal as failed and the money held in the smart contract will go to the contract owner? Shouldn't that check that msg.sender is either goals[_hash].owner or owner ?
- superkarolis 9y agoYou are right, thank you for spotting this! I will have to make a new contract, this one is flawed. If someone decides to call this function and I get the funds, I will give a manual refund. It will have to do until v2 release of the contract. Right now at least it's not holding any major funds.
- mpeg 9y agoNo worries! Still much better code than Parity Multisig and their fake constructors :)
- deleted 9y ago[deleted]
- heptathorp 9y agoIt also doesn't appear to be checking if a goal has already been set as failed, so someone could fail their goal repeatedly and drain the contract of all its funds.
- ghostly_s 9y agoInteresting idea, but it seems ultimately like a high-tech implementation of a low-tech process-- really I'm just relying on the 'supervisor' to hold me accountable, and if I get to the point of asking someone else to hold me accountable to a deadline I've already accomplished the hard part, anyway. Sharing goals is a proven strong motivator in itself, I think. It did bring to mind an interesting related idea, though, specifically for software side projects: instead of relying on a human to validate your success, create a smart contract around a test suite; funds are released by passing your tests by the deadline.
- danpalmer 9y agoI don't really understand the trend of solving all problems with "smart contracts". This just seems to limit the potential market to people who care about smart contracts, and complicate an otherwise simple arrangement, without providing any benefits. You still have to find a supervisor your trust, why not just give money to a friend instead?
- darepublic 9y agoThis app reminds me of the cartoons where a character says 'lock me in here and don't let me out no matter what say'
- sincerely 9y agoThe app is basically the exact plot of one of the schemes from Nathan for You s2e6
- chaostheory 9y agoIt's probably mainly a way to learn how to implement something / anything with smart contracts. I don't see anything wrong with that.
- danpalmer 9y agoYeah quite possibly, and a very valid reason, although not how the product is pitched.
- gnicholas 9y agoAgree. This seems like Stickk [1], but with "smart contract" branding. There may be other differences (and I'd be interested to know more about them), but I had the same initial reaction as you. 1: www.stickk.com
- dreeves 9y agoHere are all the other similar such apps we know of: http://blog.beeminder.com/competitors http://blog.beeminder.com/competitors
- demoonkevin 9y agoSeems like an exact copy of gofuckingdoit.com
- superkarolis 9y agoYes, it's inspired by "Go Fucking Do It" and Pieter, the creator of the original concept, is aware of this re-implementation :)
- jesperht 9y agoAwesome job building your idea! Took at a look at the source code an found a few bugs and put them here in a post: https://medium.com/@jesperht/dont-go-freaking-do-it-5da4df4d4b44 https://medium.com/@jesperht/dont-go-freaking-do-it-5da4df4d... Feel free to get in touch with me if you need a hand fixing any of this!
- superkarolis 9y agoHey, thanks for the thorough inspection. I now realize there are several flaws in the implementation that will need fixing. V2 release of the contract will come soon!
- jesperht 9y agoThat's great! Looking forward to seeing the next version :-)
- XR0CSWV3h3kZWg 9y agoWhy did you say that it was verified safe?
- cyberpunk0 9y agoYou could have written that here rather than push more self-promotional blog content...
- sh4z 9y agoBut then he wouldn't have any self-promotional blog content, silly!
- MichaelScarn69 9y agowhat a jerk
- masukomi 9y agoignoring the tech, i think many folks here are missing the point. Assume you really want to quit smoking right now, and you are also pro choice. With a system like this you can say "I will quit smoking in 2 months or this $5000 will go to an anti-abortion charity." now THIS system doesn't do that BUT the core point remains, if you can attach "significant" loss to NOT achieving a goal it can help motivate people (not all people, but you get teh point). this system is limited in that it can only do "money" for significance. it can't also tie it to something you loathe. I don't think any of the available things ( https://www.beeminder.com/ https://www.beeminder.com/ was mentioned by someone ) can do this, but you can do it with a friend you trust. to those who suggested having the money go to charity: Having the money go to a charity you LIKE is a terrible idea because then if you fail in your task "well at least my favorite charity is getting money" You actually have incentive to fail.
- rmaus 9y agoDid something similar to this at a previous employer. We had a problem with a particular weekly meeting starting on time, so we all agreed on a $1 late fee, per minute. At year's end, the collected fees were gifted to one of the firm's wealthy executives whom we all disliked. The meeting's on-time rate skyrocketed.
- mulmen 9y agoDid you send a card along with the money explaining this to the executive?
- suanmeiguo 9y agoI had the exact same idea years ago. Eventually I found there are some shortage about it so I ditched the idea: - How to verify people achieved their goal (this website introduces "supervisor" but I'm not sure that's gonna work well) - You gain nothing from achieving goals, v.s. you lose money if you didn't - The gain (goal achieved, which can be done without losing money) is much less than lose (lose real money), so no incentive for people to use this service. This website will face the same challenge. I'm happy to see there are someone out there having the exact same idea, I hope they can do well sincerely.
- supermdguy 9y agoI had the same idea too!
- onion2k 9y agoYou gain nothing from achieving goals, v.s. you lose money if you didn't One solution to that would be having the app share the money from the losers between all the winners (less a fee for running the app if you wanted to monetize it).
- dreeves 9y agoYou know how the customers who pay the least are the most work? Well this idea creates customers who literally pay a negative amount. My sense from the erstwhile GymPact -- https://blog.beeminder.com/gympact/ https://blog.beeminder.com/gympact/ -- is that those "customers" tended to be a nightmare. Hence Beeminder rationalizing just keeping all the money! :)
- cableshaft 9y agoThen every customer would have a financial incentive to always lie and say they completed their goals. It's already iffy with the 'lose money if you don't meet them' approach, but if you could actually get a piece of all the users moneys, yeah, you might as well say you're a winner (or only create goals where you can easily win) and game the system.
- 9y ago
- codingdave 9y agoSo if your supervisor flakes out, you lose the money? There is definitely a flaw in that...
- supermdguy 9y agoOr goes on vacation for a week. I wonder if there's a time limit for their response?
- alexee 9y agoSuggestion to make it with lesser scope, but with verifiable contracts, so you can automatically verify that it was done. I'd actually use that service myself :) For example: 1) Run 10K on Strava. 2) Solve programming challenge on Codeforces/TopCoder. 3) Pass coursera class. 4) Have X bitcoins on your wallet 5) Check-in in some specific location.
- joshschreuder 9y agoI think there is an Oracle problem here with trying to bring in data from external services https://www.slideshare.net/mobile/InfoQ/blockchain-the-oracle-problems https://www.slideshare.net/mobile/InfoQ/blockchain-the-oracl...
- deleted 9y ago[deleted]
- everdev 9y agoI've seen these financial penalty systems promoted as change motivators, but does anyone have a success story using them?
- dreeves 9y agoAt risk of meta-overload, our startup wouldn't exist but for doing this! http://messymatters.com/uvi/ http://messymatters.com/uvi/
- jister 9y agocome on you can do this without tech, it's called discipline.
- aqsheehy 9y agoThis seems like a great way to have your money stolen