Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Show and Tell YC: Built a webapp in ~14 hours (tweetsnap.com)
39 points by aupajo on July 6, 2008 | hide | past | favorite | 29 comments


Woke up on Friday morning (read: lunchtime) after a to-4am code-a-thon with a startup project I'm working on, refreshed and ready to take a well-deservered early weekend of rest and relaxation.

:) Right.

Needless to say, the first thought I had when I woke up was "wouldn't it be cool if..." and the rest, as they say, is two days of pure hackery. I give you the end result: TweetSnap.

It's a really simple premise: enter your Twitter username, get an image back which you can put on your site to show your latest tweet.

It's designed for people who uses websites/etc which don't allow the typical "insert javascript snippet for AJAXy awesomeness" but does allow you to hotlink images (great example: forum signatures).

I haven't looked to see if anyone else has done this yet, mainly because I just did this for fun and I don't really care :) But try it out, give me your feedback. Temperamental results to be expected while on shared hosting :)

For the techies:

- Rails 2.1 w/ a minimalist MySQL DB

- Image generation done with RMagick 2.5

- XML parsing with Hpricot

- Message parsing a combo of htmlentities and a custom lib (supports characters like ø™¡)


Very very cool, what did you program in? Have you had any previous experience with Twitter API/RSS feeds? Reason being if you are pretty versed in rss feed pulling/image generation the backend is done pretty quickly, as most of it is just knowing how to do it. I'd imagine you spent more time on making it look pretty. Does it automatically filter out replies and such?


Rails 2.1. No previous experience with the Twitter API, but I'm used to building RESTfully designed applications (which Twitter is). I chose to pull the XML version of your timeline as opposed to the RSS version, because the information is purer.

First day was getting it to work, second day was design. Replies aren't filtered (although I'd like to do that at some point, for the moment I'm happy to keep it simple).

Biggest effort went into RMagick, which was incredibly frustrating. On the second day I rewrote the majority of the stuff I wrote on the first day so that it was better organised and less of a mess.


Nice app dude, I just sent it to some of the social media powerusers I know, so lets see if we can get you some users :)

EDIT - I dont know if this is a bug or not, but under the "generate html" part, you dont have the <IMG> tags?

One person I sent it too messed it up as a result :)


Yikes, thanks. All fixed now.


This is actually kind of neat. The image is updated upon request right? Are you caching at all?


Sorta :) The biggest slowdowns are the generation of the image and the Twitter request. When an image is (successfully) generated, it's written to a file.

The next time you query that user, it'll return that file unless it's been longer than a certain amount of time (currently set to 15 minutes). If it has been, a request is made to Twitter. If they've updated their message, a new image is generated, otherwise the stored file is used.

The time between updates is stored in a single handy constant that I can alter to adjust for bandwidth.


really cool... what is your definition of a minimalist mysql db?

oh yeah any memory problems with the rmagick? just curious.


Simple. One table simple :)

I have no idea. It's all on shared hosting atm. More of an experiment than anything else. If it needs more grunt, I'll get some proper hosting.


Thanks, just never seen it put that way before.


The link you generate shoots back tweetsnap. People might want it to point to their twitter stream. This is an interesting tradeoff between what people would want and what will make this spread.

I think the solution is to make the tweetsnap link have a link to the user's twitter stream. For example:

  <a href="http://tweetsnap/twitter/tipjoy">
  <img alt="Tipjoy" src="http://tweetsnap.com/twitter/show/tipjoy.png" />
  </a>
The href leads to a page that shows the same form to make your own tweetsnap widget, but the page could have a side bar that grabs the last few tweets from @tipjoy and a link to http://twitter.com/tipjoy


Thanks, that's a great suggestion!


Edit: Now made.


Hmm. That is nice, but I would put back the form to make your own. Make the link to the twitter user's stream an afterthought. Probably not that big of a deal either way.


I love the Show and Tell idea, we should have more of them!


Further expanding on what you've done there, what about doing "mood avatars" based off tweets? Essentially a mashup of Twistori/Tweetsnap?

What I'm thinking basically is, people can upload their normal avatars to your site, which you use as the backdrop for your image.. and based off emotions that they tweet (love, hate etc) it can overlay a translucent colour on it?

So in effect, changing the mood of someone's avatar, based off their Tweets?

Just a thought :)


Yeah, I thought about letting people upload their own backdrops, or providing more than one. But I'm keeping it simple for now; it's much easier to add a feature than to remove it later.


This is a cool idea.

We had our fun with image hackery with featurelist. A lot of users discuss things on forums, etc, where they can't post javascript/flash, so we created little banners like this so users can get other people to vote for their feature requests:

http://featurelist.org/widgets/feature_badge/513/banner.png


Nice! What technologies did you use?


Pretty much just relying on the PHP/GD image manipulation functions and some TrueType fonts.


This is the most impressive app I've seen in weeks. Very cool.


The design is beautifully minimalist. I love it!


Once again... Perfect opportunity for TIPJOY!


Added, it'll appear soon.


Nice widget! You're featured on Tipjoy :) http://tipjoy.com/featured

Make a slightly narrower version, and I'll put tweetsnap in my sidebar here: http://tipjoys2cents.blogspot.com/


I've got a list of features I'm toying with. You'll likely see this in the next week.


nice work. not sure where but something like this was around when people thought Virb was cool and people needed images of their tweets as it didnt allow JS etc


Twitter, tweitter, twitter. Is there nothing else?


By the way, if anyone's curious, my Twitter name is Aupajo.




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

Search: