Frameworks? really? how about a list of positive words, string concatenation, a random number generator, and a hashtable to store the URLs and their short versions, possibly with persistence. Common Lisp hashtables are transparently persisted with Rucksack, Prevalence, BKNR, Elephant, cl-store, etc.
I use 'frameworks' as a handwavy term to encompass 'anything that means you don't need to spend days reinventing the wheel'. If the aforementioned Lisp utilities mean you can do that, then so be it.
Sorry, didn't mean to jump at it like that. It's just URL-shorteners have been annoying me lately. Just because they're easy to make doesn't mean you should; there is no hack value in them, as nothing new is there to be discovered and no new ground to break; and they have no business value, aside from being, potentially worth BILLIONS as an integral twitter utility for the next generation of enterprise web grids and semantic net appliances ..meh.
It's all good. Please keep in mind that Hapylink is not a url-shortener, but a url-happifier. Like you say, url-shortening is over crowded, so Hapylink focuses on more of a niche audience of users with unhappy links.
Did you miss Cornify on April 1st? Ahhhhh, kittens everywhere. One of them was constantly batting at a floating butterfly. You should be really sad you missed it. This will cheer you up:
So here is my take on it, 10 minutes!
http://paste.lisp.org/display/78367
P.S. how does one post code in HN?