

Ask HN: Review My (Common Lisp backed) Startup - smanek
http://postabon.com/

======
smanek
Hey guys, I've been working on Postabon for the last few months (full time for
approximately the last 2). We've been beta testing in NYC for the last few
weeks - and feel we have enough content there to launch now. Any feedback
(especially criticism) you have would be greatly appreciated.

The basic idea is that we want to help you find and share discounts near you.
The video (click 'Watch a Video' on the left) will help explain the
concept/history if you're interested.

Our iPhone app's release is pending Apple approval (hopefully just a few more
days ...).

HN contributed to this in a very real way. Two years ago when I started
visiting HN I had no intention of ever trying my hand at a startup. But being
surrounded (at least online ...) by the entrepreneurial spirit here really
inspired me.

The Lisp thing isn't actually a selling point - I just thought that the crowd
here might find it interesting. If there is demand, I'd be happy to write some
blog posts on the how/why of some of our architectural decisions. We're using
a 'NoSQL' key-value (with btree indexing) persistence layer too :-D

~~~
mahmud
Come'on you tease! Which NoSQL? Elephant with BDB backend? we left that ages
ago for cl-redis, get with the times! ;-)

~~~
smanek
You're a sharp one ;-)

The lack of real persistence in Redis (up until recently, of course) prevented
me from using it. If I were to go with something else - Cassandra seems really
interesting (I think I saw a cl-thrift somewhere ...). But, elephant/bdb for
now ...

~~~
mahmud
BDB has good recovery utilities, but just to be sure, try to keep a journal of
all database updates to a flat text file, just in case, even if you push stuff
to message queue (beanstalkd is my favorite and I will push my Lisp client for
it when I have time to clean it up.)

Nothing like having a flat text file on a remote box, good for your sleep at
night.

~~~
smanek
Hmm, do you mean saving more than the BDB .log files? Basically, I'm backing
those up initially - then running a 'catastrophic recovery' (and some sanity
chceks) on the data I've backed up. Once the backup checks out, I delete old
.log files.

I wasn't familiar with beanstalkd, but it seems interesting. I already have an
asynchronous thread-pool based job queue built on the back end that could work
well for something like that ...

------
gruseom
Your About page has waaaay too much text on it. Pare it down to less than half
that. It's hard, but you'll be forced to clarify. (Also, typo: "good dead" =>
"good deed".)

If I were you, I'd be thinking a lot about how to take advantage of game
dynamics. If Foursquare can do that about going places, surely you can do it
about finding great deals, which is inherently competitive to begin with. I'm
not fond of shopping, but even I will boast about great deals when I find
them. If you can get that right... wow.

How do you prevent people from posting fake deals? Is there a way for others
to validate? Would it be useful for people to post not just new deals, but
confirmation of deals they benefited from? That would have two advantages: 1.
you'd get people participating both ways; 2. you'd get validating information
about what the really good deals are. If I post something lots of people
benefit from, that should earn me status.

You need to have a blog. Tell stories. True stories about deals users have
found would be good. Also, a personal touch can be a big deal: consider taking
the "Team" thing off the bottom of the About page and put it in its own place
where you introduce yourselves. As a user, if I feel a personal connection to
the people behind a site, I'm automatically more sympathetic.

The Community page doesn't draw me in. It looks like a database report right
now. That page is a chance to get people to participate, so you want it to be
warm and inviting. Also, it's hard to react positively to something one
doesn't understand, so getting the key information across in the first 10
seconds is critical.

Don't bother putting up messages like "nothing in your location, redirecting
to New York". It's obvious that you're redirecting me to NYC anyway, and a
message box just irritates the pig. (Maybe put this information in some text
on the actual page?) Also, when I load the page in FF I'm getting a status box
overlay that says "Detecting your location" that takes a long time to go away
and blocks my use of the site (plus is ugly). Drop that. You don't want _any_
barrier to entry at that moment. People can bail on you in less than a second.

If I were you I would pay super-close attention to the psychology of how
people are using the site. If you find a dynamic that works, this could be
killer. It's not obvious that appealing to people's altruism ("good deed",
"karma", etc.) is the right approach. Competitive shopping can be vicious!
Think about that question, "What's your deadly sin?" It may not be so much
greed (saving money) as vanity (winning status).

I'm afraid I don't like the name. First, it reminds me of Cinnabon. Second,
American names with French roots are good for a fancy, specialty vibe (e.g.
gourmet, luxury), or conveying effete sophistication, but that may not be what
you want.

Summary: you guys could be on to something. Best of luck and keep us all
posted about how it goes!

~~~
smanek
Thanks gruesom - that's some useful feedback. I've removed the 'alert' about
the redirect, per your suggestion (still have a message on screen though).

Firefox does this cool wifi scanning thing to get the most accurate location.
It's really accurate (and I cache it, so I only have to do it once), but I
don't think there's any way around taking a few seconds to determine your
location.

Good point about the psychology. I was worried that playing up the competitive
aspect could annoy users ("You want me to compete for your benefit?!") and was
trying to walk a bit of a fine line ... I think I'll be a bit more comfortable
with that approach after we get some regular users and see how they use the
site.

~~~
gruseom
FF doesn't seem to cache it for me (I'm running 3.5.5), as I saw it more than
once.

Agreed that you definitely want to be careful about acting on any
psychological theories up front. Observation of real users is the ticket.

~~~
smanek
Hmm, I'll look into that. Perhaps cookies would be better than GET parameters
after all ..

------
ovi256
Abandon the 'bon' word ASAP. Nobody really likes cutesy made-up words. I know
that in French it means coupon, but use common language.

It's like the recommendation to not use custom UI. Same reason, nobody likes
to learn something just to be able to use your site. It raises the cost of
entry for new users, and hardly provides any benefit, not even for you (Brand
? Stop kidding).

~~~
pg
The name's good enough. It's no worse than Xynga.

~~~
shawndrost
Not sure if you took a close look at the site, but the problem isn't the name,
it's usage of the word "bon" in places like "Search Bons".

~~~
pg
Oh, I see. Yes, that is a mistake.

~~~
smanek
Makes sense. We'll look into changing that (to 'Search Deals', e.g.).

Thanks

------
pchickey
The app looks good, and you've made a lot of great design decisions. However,
it took me a little too long to figure out what the idea was. Three
suggestions:

'shop. save. share' doesn't tell me enough right off the bat. Maybe users who
aren't logged in should get a 15-word blurb ("Postabon allows you to find and
share deals. Check out the (link)introduction video.(/link)")

I didn't notice the introduction video side-tab until my third glance back at
your site- most new users are going to totally miss that.

The 'about' page had more words than my eyes were comfortable with. Cut the
word count in order to space the text out more. And some hyphens show up as
em-dashes in firefox, not sure what the deal is there.

~~~
smanek
Added a few words of introduction to the home page, and in the process of
redesigning the about page as we speak. Thanks.

------
txxxxd
I see an alert box with "Unable to figure out your location! Defaulting to New
York City" when I load the page. It would be a nicer experience if you
displayed this message above the map (or somewhere on the page) instead of a
using modal dialog.

The site navigation links at the top of the page have very small hit-boxes and
provide no indication that they're click-able (other than the mouse cursor
changing.) Its harder than it should be to click these items.

The "Category Filter" and "Hide Result List" links are even more confusing
since they display a text input cursor instead of a link cursor. This problem
is also present on the result title links.

~~~
shawndrost
Please, don't alert me, it makes me unhappy.

~~~
smanek
Sorry about that. It no longer does alerts.

------
arnorhs
Looks nice, but goddamn... These things are always US-only...!! And I'm not
talking about the language.

If some startup would actually make _anything_ , literally _anything_ that was
global, I'm sure it would get a segment of a market that nobody's utilizing.

edit: And a Javascript alertbox letting you know you're going to see new york
instead... That's not helpful.

~~~
smanek
Yeah - I'm sorry about that. We're only useful where we have content - and we
only have content in NYC for now.

How would you prefer we degrade if there is no content in your area?

~~~
mahmud
_How would you prefer we degrade if there is no content in your area?_

You're a Lisp shop, there should be a continuation/condition-system based
error handling mechanism that teleports the user to NYC. NewLisp has a WITH-
NEW-JERSEY macro.

~~~
smanek
Nice, I just found a 'with-deafening-applause' macro in the hyperspec too -
why doesn't anyone tell me these things ;-)

------
mahmud
Just signed up, smanek :-)

Looks well polished. Try to let business owners upload their own offers, that
will make it easier for you; instead of hunting for bargains or waiting for
users, you can just buy a mailing database and do a blast to those who care
(or scrape the contact emails from Google Local, like I did.)

Also, try to define "bon's" somewhere; does it stand for bonus or coupon? The
tag line could explain "shop. save. share <whatever it is we're sharing>"

One more thing, spill the beans on the architecture ;-) what do you have
behind nginx? Hunchentoot? The html source doesn't look like cl-who, it has
comments, perhaps a template system of sorts.

I already have most of your site's functionality somewhere in my private repo,
and I am sure many people do too. It's a pity we all have to write it from
scratch.

Cheers and good luck! :-)

~~~
maxtilford
'Bon' is French for 'good'! (It's on the about page.)

I second the request for architecture info.

~~~
smanek
Well - that's enough for me. I'll write up some real blog posts on
architecture in the coming days.

But the short version is nginx reverse proxy into hunchentoot, with elephant
(and a BerkeleyDB datastore).

Edi Weitz's html-template for html (I personally love cl-who/parenscript, but
I could imagine working with front end devs who don't know Lisp - and it
seemed like it might be easier for them this way). The HTML is basically
purely static - and everything is pulled in with AJAX (well, technically JSON,
not XML). I've done some fun things to hunchentoot's sessions so they are
completely stateless and, in the future, I could imagine just moving the
entire site (html, css, js, etc) to some fast static file CDN, and just load
balancing asynchronous API requests across a few Lisp servers. But that's a
ways down the line ...

------
simplify
I figured out what the site was about when I first loaded the page, but only
because the popup told me "No _deals_ around you, redirecting to...". You
_need_ to have the word "deal" somewhere on the page in big bold letters. As
soon as I saw that word, I immediately knew what the site was about. But it
was only in a popup!

After selecting a deal on the map, drag-scrolling the map deselects it. This
is especially annoying when the description text is bigger that the map view
(e.g. "3 Day Bloomingdale Holiday Sale").

It was hard for me to notice the "Search Bons" button because of the way the
page is laid out. The map / sidebar visually separates the page into parts,
and having the search components span across those two parts feels a bit
awkward. I suggest you add a separator under the search stuff, or move the
categories/button to the left part of the page, under the two text fields.

I noticed on the "more info" page, you have a "save bon" link. Do you plan to
have this link accessible on the main page as well?

This is just an idea, but it seems very fitting to have the results list
scroll up/down when clicking next/previous.

Overall, I really like the idea, and I think it's pretty well executed. I
think it has great potential once it gets more content. Time to start scraping
:)

~~~
tjr
If users can log in and create entries for deals in their area, then perhaps
the initial page should be more like, "No deals in your area; log in to add
some!"

------
Freebytes
I actually found all of the pop-up divs a bit annoying. It is a nice feature
to have the pages display the pop-ups that darken the remainder of the page
for features where you do not feel like you should leave the page, but
honestly, I would prefer some of the other pages to load. I am not sure if you
know what I mean from my description so I will try saying it again. When
browsing web sites, sometimes content is dynamic and it does not need to load
the entire page. However, to have a pop-up div for what seemed like everything
I clicked is a bit of a bother. It does not seem to flow as well I would have
liked in that regard.

Also, I had no idea what the site was about at first. I had to actually search
the site a bit to even figure out what was happening.

In regards to the idea, I think it is a decent idea, but this seems like a
feature that may be best featured within another web application. After this
is perfected, I can see the potential for a company purchasing it if only for
integration within their own products; however, it does not seem like it has
much potential value until you add a bit more to it. It needs to be tweaked
slightly. I would continue focusing on the core concept just a tad longer
before moving on to additional features.

~~~
smanek
Which pages in particular were you thinking of? We're only really using the
modal displays for login, create-account, and 'flag-deal' right now.

We also added some intro words up top.

We have a pretty easy to use API that might be integrated with
Centrl/Loopt/etc at some point in the future. But, I'd argue that the fact
that retailmenot/slickdeals/fatwallet/etc are independent sites validates the
'deal finding' model and suggest we could surive individually as a niche site.

------
JoachimSchipper
[http://postabon.com/pc/deal?guid=451&lat=40.757&long...](http://postabon.com/pc/deal?guid=451&lat=40.757&long=-73.98&comingfrom=me)
has some broken encoding. Did someone copy/paste from Word?

~~~
smanek
It appears that someone used Word's insane 'smart quote' character (which
isn't valid UTF8).

I'll have to put a filter in for that (and scrub the existing data).

Thanks for the heads up - I wasn't aware of that.

(interesting article I found in the course of looking stuff up:
[http://stackoverflow.com/questions/911587/iconv-gives-
illega...](http://stackoverflow.com/questions/911587/iconv-gives-illegal-
character-with-smart-quotes-how-to-get-rid-of-them))

------
tsestrich
Two things about the community page and user pages in general...

It would be nice to see a "More..." or "All..." option to see more than just
the top 25 users, in case someone wanted to see where they fell for instance.

Also, the user pages: the URL has some GET information that seems sorta odd...
like the latitude and longitude to some location (theirs? mine? not sure) and
a "comingfrom=..." field that seems to change nothing when modified. Not sure
if you care at all about those things, but just seemed like weird information
to be passing via GET on every page

~~~
smanek
'All' on the community page might be a bit of overkill. Perhaps I should just
list you (and your rank) on it ...

As you seem to have guessed, comingfrom is useless now. Just a remnant of an
earlier iteration. I'll get rid of it ASAP. You pass (your) latitude and
longitude to every page so I can (possibly in the future) customize pages for
you based on where you are. Looking up lat/long take forever - so I just do it
once when you visit the site for the first time and cache the results (and
pass them around as GET parameters). It may make more sense to send them as
HTTP headers (via cookies) though ...

------
tdoggette
"No deals around you, redirecting to New York City"

That's my first interaction with the site, after opening it in a background
tab: it created a focus-stealing window to inform me that it couldn't help me.

~~~
smanek
Sorry about that - it's fixed now.

------
kluv2run1600
It's about time we got a decent location-based deal searcher. The website runs
very smoothly for an initial release, and combines tech and business acumen :)

My suggestions may have already been previously suggested, but here they are
\- Instead of saying "No deals around you, defaulting to NYC", you may want to
look into something that implies that Postabon is on a nationwide rollout or
that it's only available in NYC at this point. I'm in Chicagoland , and from
the current message, I would just assume that Postabon is a failure in
Chicago. Just a thought -- You may even want to embed (in the text of the
webpage) something that asks the user to submit an email and/or state their
location (pulldown of major metropolitan areas) if they are interested in
receiving an email when Postabon launches in their area. \- Make the deals =
bon equation even more obvious so that there's no way the user can miss it.
I'm using Chrome, and the text blurb explanation isn't very catchy

------
sgrytoyr
Interesting. I recently spent a few months implementing almost exactly the
same idea. It’s at <http://gotosale.net/>

It’s been dormant for a few months now, after I realized people wouldn’t just
magically start posting sales for the benefit of random strangers, especially
when practically no one knows the site exists :) Marketing isn’t my strength,
I sort of lose interest after the build phase. You guys have taken it further
than me, with a much more polished iPhone app and the whole karma thing -
kudos.

I am pretty certain that the idea has merit - everyone I’ve talked to about it
were excited and said that they would use such a site, and probably pay for an
iPhone app, but getting content has proven to be difficult. I haven’t given up
on it yet, and I intend to give it a fresh go very soon, with a slightly
different approach. I’m sure there’s room for both of us.

------
rudd
A weird problem I'm getting: it focused in at the top of Brooklyn for me
(where I am), and showed some restaurant deal (this:
[http://postabon.com/pc/deal?guid=138&lat=40.694&long...](http://postabon.com/pc/deal?guid=138&lat=40.694&long=-73.99&comingfrom=me)).
However, it was at the top of the map. Instead of trying to click a small
target, I pulled the map down so that it would be in the center. As soon as I
let go of the map, the point disappeared and loaded a bunch of other pins a
bit further north. It'd be great if you could make it so you didn't delete the
pins that were on screen before a move and stayed on screen after the move.

~~~
smanek
Ah, that is annoying.

Basically, I only have space for a lot of info about 9 deals - and I chose to
display the 'best' 9. So when the viewport moves it checks if something better
has appeared (or if one of the old best has disappeared). Deals out of the top
9 are noted by small 'dots' which you can click for more info. (Or you can
paginate through results ...).

I think that those dots may not be large/noticeable enough though ... Thanks
for the heads up.

------
nearestneighbor
Which CL do you use? I find some popular CL implementations too buggy to be
usable.

~~~
smanek
SBCL. It's one of the only open source good ones I've found.

~~~
aerique
Have you looked around good enough? :-)

Clozure CL and CLISP are pretty solid as well, although the latter might have
performance issues.

~~~
smanek
I've been hearing good things about Clozure lately, but never played with it.

CLISP was just too slow for my taste though ...

------
zitterbewegung
Looks pretty nice, clean interface and well polished. What is your profit
strategy? Do you plan on making money through sponsorship?

~~~
smanek
My initial thoughts are pretty much lead generation. If we know where you are,
and what you're interested in buying right now, it's very easy to provide you
with very relevant (and immediately actionable) ads.

In the short term, I just want to get users and work the kinks out of the user
side of things though.

