Hacker News new | past | comments | ask | show | jobs | submit login
My Weekend Project: Mr. Goal -- simple goal reminders by Email and SMS. (mrgoal.net)
60 points by omarish on Oct 23, 2010 | hide | past | favorite | 50 comments

what are the advantages over having your yahoo or gmail calendar text you?

will remembering my goals better actually help me reach them, as is stated? why might that be?

do you vary the frequency of the reminders at all?

Would this be enhanced if you had human mentors that saw the interactions? I find messages computers are dismissed pretty easily, while people a need to respond or show progress to humans.

I think the advantage over yahoo or gmail is that this app texts you at random times throughout the day. If you know that you set a reminder at a certain time during the day, you'll instantly know that you're being reminded when your mobile gets notified. To get around this, I put in some randomization where the app messages you at random points throughout your working day, that way when your mobile buzzes, you don't know right away that it's from Mr. Goal.

You can change the SMS frequency in your profile page under "SMS Frequency". It's a dropdown for now, but I've been doing some testing with a jQuery slider bar.

As for actually achieving your goals, I think that one is more likely to get something done if they are consistently conscious about it. That's the rationale I have for now -- you'll make small adjustments to accomodate your goals. Speaking personally, most of my goals are not things that take years of effort to do; they simply require that I remain consistent and think + act about them often.

There's definitely a lot to be said about the psychology behind reminders. For now, my strategy is to make the service seem as personal as possible without making it seem like it's artificially trying to grab your attention, like a real person would. I think that this blog post does a good job explaining some of the considerations: http://www.codinghorror.com/blog/2008/12/avoiding-the-uncann...

will remembering my goals better actually help me reach them

I think quite the opposite. What makes you reach goals is never forgetting them to begin with.

I can't speak for others, but I have very few goals, and they haunt me, awake or asleep. The rest of the "self dev" stuff I off-load to my fiancee :-P

I think what really would be helpful is breaking down goals into concrete tasks, which only a human can do or push you to do.

I think technology can facilitate mentors as they ask the questions one needs to answer if one is to translate goals into the actions required to achieve them.

> breaking down goals into concrete tasks, which only a human can do or push you to do.

If it's a goal a lot of people have, and which follows a general formula, then once someone has written it down, the software can store it in a central database and let everyone else make use of it. Imagine entering "write book" into your to-do list app, hitting TAB, and watching it expand into "write proposal chapter, find writing group, show chapter to group, modify chapter using feedback, write outline for draft, [...], submit to publisher."

Then, if you immediately know how to "write proposal chapter," you can just stick with that and check it off when it's done—but if you're unsure, you can select that sub-task and hit TAB again, and it will expand into "select writing tool, find environment suitable to writing, schedule writing time, create new document"—and then there would be a placeholder step with a question in it, "what are you writing: {prose fiction, technical guide, biography, etc.}" You'd select, say, prose fiction, and it would replace the placeholder with more steps: "think of name and other physical details for main protagonist, think of conflict, write first paragraph introducing both character and conflict, [...]"

And there's already a collection of such lists available online to get your database off the ground: the eHow/Wikihow/etc. type sites. You could also parse the StackExchange-driven sites for answers that look like ordered lists.

Feel free to integrate Notifo for push notifications. Dirt cheap. :)


That's awesome, I'll be checking it out for my project. I thought I was going to have to write my own iPhone app, but I see you've already done that.

Nice, I'll definitely try this out soon. Thanks.

Congrats omarish. I had this exact same idea rattling around in my head a week or two ago. I have recently been thinking that I needed someone to work with as an accountability partner, someone that would keep me on point. Not wanting to burden anyone with that I began thinking of a way to automate it. Your new service looks like it fits that bill. Thanks for executing.

You're welcome. I hope you find it useful :).

On the payment page, I was confused by two things: - "Regime Length" - HOW MUCH I'D ACTUALLY PAY

It actually seems that they might be tied together? Is "regime" in your context referring to the months of subscription that I can sign up for, the max length ahead of time I can set a goal...? I did not recognize its meaning in this context.

Also, it was not clear how much I'd actually pay you if I signed up for a paid plan. The sub-heading of the "Cost per Month" shows that I can cancel, but am I paying monthly or per year? Anyway, that's what I thought reactively. It seems that cost per month multiplied by regime length is the sub-heading cost amount for each subscription.

That makes no sense to me.

And as someone trying it out, I'm not sure if I'd sign up for a free plan that I'd be afraid of upgrading.

Cool idea. But I am afraid to sign up for anything besides the free plan based on the payment matrix.


Regime Length -- how long the plan with Mr. Goal will last. I think of it as a personal trainer, so a 1-month regime will be 1-month of help with you goals.

The actual amount you pay is in the cost per month row -- $3.06, $2.70, $2.96. If you multiply the cost per month by the number of months in each regime and then scale by the discount, ($2.70 / month * 6 months) / .82 (as it's 18% off), you get $19.74.

It's pretty confusing, so I think at this point I'll figure out how to simplify the process as a whole.

At the moment, the table moves on 2 degrees of freedom: 1. feature set, 2. plan length. I'll try holding plan length constant -- so I'll make every plan 3 months. I suspect that it's hard to understand a 2-d table when the featureset itself is moving both on features and plan length.

I'm going to re-work the pricing table today. Could you please shoot me an email: omar.bohsali@gmail.com if you're interested in providing some feedback on a new pricing plan? I'll get you setup with whatever plan I come up with, for free, of course.


It neither logs me in with my password (just registered and a) I didnt forget the password I typed and b) it was saved to LastPass) nor restores it to my email (I checked Spam, yes)

And, something like a random time (like, some random moment from 17pm to 20pm) will be a cool option

That's a bit weird. Could you please email me at omar.bohsali@gmail.com ? I'll debug this one with you, sorry for the inconvenience.

As for random times, it actually does that a little bit. I pushed most of the timezone code to behind the scenes so that it will automatically figure out your timezone through javascript and then push it server side via ajax. I also put in a random checker in the views that will decide if the user should have their timezone checked.

Given the timezone, it tries to guess your "working hours", i.e. 8am to 6pm your time. It'll send you a set number of random texts throughout each day, that number is set by the message frequency in your profile.

That was one of my biggest concerns. Google calendar sends me a daily email at 5:15am with my calendar in it. That's nice, but I have a hunch that the texts will be less effective if people know that they will come at a set point throughout the day. So that's my rationale for randomizing the delivery time throughout the day.

I have been thinking about dropping in a slider bar to set both the text message frequency, as well as the texting window throughout the day, so I'll definitely be implementing your feature in the near future.


my problem is I can't keep a schedule due to serious sleep problems (it just not worth it). I think randomizing my timetable will help to distribute my tasks so getting them done will be simpler. I'm not sure, but experimenting with such idea sounds great for me

Great thing you are using Django, by the way!

Nice project! It'd be nice to have a link to who you are (an about page) on the site. Makes things a bit more friendly :-) You also might want to put a dedicated page for your privacy policy up (even if it's just a very simple one) since you ask for contact info.

Good call. I will do both right now. Thanks.

Nice! This is exactly what I've been looking for to keep track of my goals. Feedback page?

Going for a run and I'll have one up. For now, you can contact me directly: omar.bohsali@gmail.com. Thanks.

Really well made. Here are a few things that i wanted to share

1. I signed up for the free plan and i am not seeing an option to upgrade to the paid plans. 2. A better word choice for 'Introspections' would be nice 3. Making the 'forgot password' page consistent with the site design would be good. I guess you will be having it on your list. 4. Notifo push notifications would be really awesome!

I use Todoist, and love it. But the one feature I desperately want added is the ability to have start dates so that Gantt charts can be created for my week/month/year.

If you had this, I would give Mr. Goal a try and if it was any good, I'd probably pay for it. It'd be nice to have a service that told me how hellish some school weeks would be in advance.

Hi, I made a similar service www.randomremind.me, but it is not so serious as yours. I use it for rotting goals in my to-do list.

Also I tested your app a bit and it tells me to 'choose a password that's at least 5 characters' even when I am putting in 5-character password. But otherwise seems OK. Good luck.

Ability to delete my goals would be nice.

implemented :)

On your home page, 'every-day' should be 'every day'. (You only use the hyphen when it's a compound adjective, e.g. 'every-day event'.)

And actually, re the sentence 'Doing something, every-day, until you achieve it', you could remove all the commas and it would mean the same but read better.

Good point. Fixed.

Looks like it could be useful. One comment, the tag line: "do everything you'd like" doesn't seem quite snappy enough, might be to do with the use of the apostrophe. Maybe something shorter might be more memorable, such as "achieve anything".

Very nice stuff! If you don't mind me asking, what do you use as an SMS gateway?

I'm using twilio -- I compared a couple of the gateways and twilio's seemed really simple for python. Here's its github: http://github.com/twilio/twilio-python.

I'd like to know too. I'm building an SMS project and the best I can get is around $0.03 per SMS (moonshado through heroku) and I'm not sure how I'll be able to make any profit at that price.

Beware of moonshado unless you're sending marketing messages - their support pages state that all texts sent from them have this footer: "Msg&Data rate may apply txt STOP to opt-out". Not something I'd want if your users are paying to be sent messages (like with this service).

I'm looking at using CDYNE for texts. At volume they also charge 3c, but there's no distinction between networks with their price so you pay the same to text Nepal as you do San Francisco.

Thanks for the tip. So far the texts have been 'clean' - no extra stuff, but I'll keep an eye out for that. The reason I went with them is that you pay $20 for 20000 credits and I thought it was a credit per SMS, but it's actually around 29 credits per message. Another person mentioned twilio- it's the same price but looks like it has some other nice features.

Yeah their credits are a bit sneaky :) Twilio only supports US numbers which is a problem. If you're looking at telephony companies, Tropo (https://www.tropo.com/) is only 2c per message and sorta supports international numbers. Their 'support' is basically "if it works, awesome, if it doesn't, well we never said it definitely would". It's worked well to Australia for me so far. International support is coming at some point, though I don't know if it will still be at 2c per message.

At my previous job we were using msgme.com Not sure what their rates are.

If you know the carrier (you could obtain this info from the user) you can just use SMTP (ie email). So 913 933 3333 carried by Verizon would be 9139333333@vtext.com (or something)

Generally you can look up numbers and figure out what carrier they are. Perhaps someone should build a library to check a number for carrier, and then that could be used to act accordingly. SMTP has to be cheaper than SMS gateways.

That doesn't scale to the rest of the world though. At least here in Australia you're free to port your number to any carrier at any time (I'm on my third carrier with the same number I've had since I was in high school), so you can't use the number on its own to know what network you're sending to. I'm sure this is the same in other countries as well.

I tried this, but my carrier (Fido, Canada) wanted to charge me money for that.

Having the app send random texts makes it much better imho. If you set it up like yahoo and google calendars it just-another-reminder-app. Btw, liked the Ataturk background.

good eye :)

excellent idea. For weekend projects like these...where do you get the pre made de facto buttons like login, signup, forgot pwd among others..

I found this tutorial that did a great job explaining it:


The icons are from FAMFAM: http://famfamfam.com/

I love it. Simple and to the point - will definitely try it out. What are you using as your payment processor?

I just plugged in Chargify a few days ago and it's working out well so far. Glad you like -- feel free to pass any feedback to omar.bohsali@gmail.com. Thanks!

My project: Mr Gaol -- parole reminders by email, SMS and uniform

as a beginner to programming - what programming languages / platform you used for it

I wrote the site using Django [1]. Here's a great tutorial I used to learn the ins and outs of django a few years ago [2]. Feel free to ping me if you have any questions if you decide to give python/django a try. I'm omarish on freenode.

I also keep this page updated with the technologies we're using: [3] (see the section on technologies).

[1] http://www.djangoproject.com/ [2] http://docs.djangoproject.com/en/dev/intro/tutorial01/ [3] https://mrgoal.net/about/

this works

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact