

Show HN: Phoneify - 20 hours with Rails 3 & Twilio - sghael
http://phoneify.com
I wrote this over the last couple of weeks using Rails 3, Twilio and a variety of Gems, putting in about 2 hours per day.  I'd love any feedback from the HN community on any aspects of the site (design, API construction, documentation, marketing, pricing which is TBD).<p>On a related note:  I have to say that I'm really flying with Rails 3.  Typically I roll with Django, but have been super impressed with the Rails 3.  Feels really clean, and there are some Gems that make the more mundane parts of the webapp construction fun and agile:  Haml/Sass, blueprint, Fancy-buttons, Devise.<p>I'll probably write up a blog post soon on all the tricks &#38; shortcuts I used to get this off the ground.  Many of the shortcuts have to do with design and layout, and less so about backend coding.<p>http://phoneify.com<p>- @sghael
======
sghael
I wrote Phoneify over the last couple of weeks using Rails 3, Twilio and a
variety of Gems, putting in about 2 hours per day. I'd love any feedback from
the HN community on any aspects of the site (design, API construction,
documentation, marketing, pricing which is TBD).

On a related note: I have to say that I'm really flying with Rails 3.
Typically I roll with Django, but have been super impressed with the Rails 3.
Feels really clean, and there are some Gems that make the more mundane parts
of the webapp construction fun and agile: Haml/Sass, blueprint, Fancy-buttons,
Devise.

I'll probably write up a blog post soon on all the tricks & shortcuts I used
to get this off the ground. Many of the shortcuts have to do with design and
layout, and less so about backend coding.

~~~
Dornkirk
> Typically I roll with Django, but have been super impressed with the Rails
> 3.

Can you explain what specifically you like more about Rails? I've been using
Django because my initial exposure to Rails confused me - after running the
basic "start project" command there were _dozens_ of files generated -
compared to the 4 that get generated with Django (and the 3 or 4 more when you
start a Django "app").

I'm also curious if you're planning on turning this site into a money-maker,
just because it says joining will get you "50 free", but I don't see any
pricing anywhere else?

~~~
sghael
I can't go as far as saying that I prefer one more than the other. They're
both pretty awesome in their own way.

I'm actually way more comfortable with Django, but the Gem eco-system with
Rails is amazingly mature, and the Rack based approach of Rails 3 seems to
have positioned the framework really well, architecturally. I found Ruby/Rails
idioms pretty confusing when beginning. But most of the learning curve w/
simple projects is really about "where stuff lives", and that's the same
effort to learn in any framework.

Django pros: Admin, Python, Explicit model definitions (not via introspection
like Active Record), South > Rails migrations (IMO), easier to create
relational models, query syntax rocks.

Rails pros: Gem ecosystem, Passenger, Capistrano, Haml/Sass, Mailers

re: Pricing - TBD :)

~~~
mathrawka
Fabric is turning out to be really nice.

There are some new features that are should be merged into the project
provided from here: [http://tav.espians.com/fabric-python-with-cleaner-api-
and-pa...](http://tav.espians.com/fabric-python-with-cleaner-api-and-parallel-
deployment-support.html)

------
minouye
Amazing--I've worked on projects before where if the barriers to integrating
with existing solutions were lower, phone verification would have really
helped. This is an awesome example of a niche problem, with an elegantly
simple solution. If only you made this a couple of years ago...

------
wittjeff
+1 for great execution. Nice visuals. Did you do them yourself? If not, a
reference would be great.

+1 for needing pricing details upfront. I'll suggest $.10/call or SMS but I
might pay up to $.50 for my application. I could be using this within a couple
of weeks for a project I'm building.

But... You must have noticed that there's another company using Phonify.com
(no e). You're going to get in trouble with trademark infringement if you
launch with this. Seriously, it's an easy call, and I wouldn't say that your
space in the commerce realm is too far apart to matter. [insert flashing red
light] Now maybe the other company won't have a trademark, in which case maybe
you could use this, but then you can't trademark it yourself. Given the
potential name confusion (I just typed their URL when I wanted yours a minute
ago), I'd think hard about this before charging anyone for anything.

Some PHP sample code wouldn't hurt.

There are several Wordpress plugins for signing up for an email mailing list.
Adding your service to that would be compelling. Note that the Wordpress
people have a strong interpretation of the GPL (that is they assert that all
plugins are covered under GPL and must be $free) though. But maybe that
doesn't matter if you're charging per call.

Going further down that train of thought, I'm thinking someone might duplicate
this functionality for Wordpress and just require the user to have Twilio
account (as some folks require an Amazon storage account, or whatever). Twilio
signup is a low bar to jump, so I'm thinking this is a reason to keep your
fees low.

------
justinxreese
I like it. The only thing that bothered me was that I couldn't find the
prices. But it looks like that is because the prices don't exist yet.

I would definitely look at using this, but only for a pretty serious
application. Nothing I've worked on so far has required that level of
authenticity, or verification of a working phone.

------
mikecarlton
Nice job on the layout, very clean. I too would be quite interested in your
notes about design and layout.

------
sammville
Nice App! I would love to hear your thoughts on why i should use phoneify over
traditional email verification.

~~~
sghael
Phone numbers are less disposable than email addresses (generally speaking),
and thus you are less likely to have fraudulent/shady transactions occur on
your site if the user is phone verified.

This may not be super important if all you want to do is prevent lowly Forum
spam (ReCaptcha may be all you need in this case). But phone verification can
be particularly useful when the cost of fraudulent transaction is high (like
user purchasing goods on your site with a stolen credit card, etc).

As an aside, I saw Amazon and Craigslist now use phone verification for more
critical parts of workflow. Which inspired me to build Phoneify as a JS widget
than anyone could use.

------
dr_
I tried your demo but it didn't work for me. I opted to verify by phone, got
the phone call, entered the verification code but it said verification code
incorrect (i typed it correctly - did it twice).

------
valjavec
Sweet & simple.

2 questions: \- works world-wide or US only? \- how much do you charge per
verification (SMS / voice)... can't find on a website, but I see I have $20
balance

~~~
sghael
You account balance is purely stubbed out. Right now there is no balance
tracking (so it's basically free until I bake that in).

I probably should have put some thought into pricing before posting on HN, but
pricing is one of those eternally difficult things so I punted for now.

International SMS verifications should work, but some people are currently
reporting issues with that. No voice verification for International planned
(for cost reasons).

------
zmmmmm
Curious what your hosting / reliability / scalability strategy is, if any at
this point?

If my web site sign ups would rely on your service I'd be looking to be
reassured about how robust it is going to be. Of course, after 20 hours it's
amazing you have a front page, let alone a scalability plan so this is just a
suggestion really rather than a question, but if you do have this designed in
I'd be curious to hear it.

~~~
sghael
I'll soon be running on multiple (2 min) servers in different locations, for
availability. Will probably stick to Linode. I use Webmin to monitor all
processes and get realtime alerts if something amiss occurs.

Performance wise, there aren't many bottlenecks right now. Switching in Resque
for my job queue (replacing Delayed Job) will make everything a little faster.
If the queue ever starts to get large, I can quickly fire up another server as
a dedicated worker.

I am leveraging AWS Cloudfront as a CDN for the widget JS, so the widget will
load super fast for everyone. I offload all static assets when I can. Google
CDN for JQuery.

The only immediate point of concern is the real-time API. That will soon have
some throttling/limits on it to prevent abuse. I highly prefer people use the
Post-back method to get notified of verifications (push is always better than
poll).

As for proving reliability, I'm thinking of putting up public Pingdom reports
for transparency.

------
lurchpop
Beautiful execution. Gorgeous really.

Would like to see pricing. Don't be shy about it, dude. This is valuable
service you're offering with a barrier of entry about as high as placing a
LIKE button on one's page.

I experienced a bug with the demo. When I entered the first letter of the
verification code it said "message recording". Subsequent tries didn't work
either.

------
Sujan
What made you design it that the user has to give the passcode to the calling
server and not the other way around like with TXT?

~~~
sghael
I think its a better user experience to always show the number on a screen.
Otherwise the user has to listen to the computerized voice recite the
passcode, and they have to memorize it before punching it in.

This way, temporary memorization of passcode is avoided in both cases. The
passcode is always rendered to pixels (computer screen or phone screen).

~~~
Sujan
Good point.

------
djg38
I have the very same app 80% complete. I haven't launched it because of all
the caveats with international numbers. It's hard to try to sell this to web
stores and the like that take orders from around the world if I can't support
half their customers' numbers.

------
jarin
Looks very nice. Do you support international numbers or just US only for now?

~~~
listic
Seconded. When I press "Verify w/Call" it says "international phone numbers
can only verify by TXT message. Please use the TXT messaging option." But
Verify by TXT doesn't seem to do anything. Is it supposed to work?

~~~
sghael
It should work, although I have only nominally tested international numbers.
What country are you in?

~~~
listic
Looks like Twilio doesn't (yet) do international SMS either:

<http://www.twilio.com/international-sms>

~~~
danielzarick
Listic is correct. We (Twilio) do not support international SMS on accounts by
default. We are currently offering it in beta. However, after a quick email to
Sandeep just now, I turned it on for his account and you should be able to
test International SMS on Phoneify now. Reminder: it is currently in beta, so
there may be some deliverability issues in countries that don't have great
coverage. Let us know so we can make it better.

~~~
sp4rki
For what it's worth it worked amazingly fast for me in Panama. It generally
takes around 6 to 10 seconds for the sms to arrive from people a meter from
myself. Twilio's sms arrived a two or three seconds after I pressed send.

~~~
danielzarick
Wow. That's awesome. Thanks for letting us know.

------
iuguy
Wow. That's an amazing idea and gorgeously executed. You should be really
proud of that, put some prices in - you're in a great position to make a
killing from this service.

------
jcblitz
It's clean, concise, and to the point. Great layout and everyone looks really
polished. I look forward to your tricks and shortcuts write up.

------
phatbyte
I love it, easy to use, and it seems very simple to integrate. Much more cool
than captcha. congrats

------
JohnTitus
Awesome idea, slick & complete implementation. I look forward to pricing
details!

------
buchin
+1 for pricing details

