Launched Upstartly!

Yesterday I launched a new site I have been working on since early January: Upstartly. Upstartly helps startups get validation for their idea before they launch.

The idea is that one of the best ways to validate your startup idea is to get people to commit to pay for it once you launch. The problem is that it's very easy for people to say "sure I'll pay for that" and then not pay you once you actually launch. So, to solve that problem I created Upstartly.

On Upstartly, you create a page to give the pitch for your startup. Then you send it out to potential customers. They can validate your idea by either sharing it with others, signing up for your mailing list, or pledging $X dollars for some reward (say being 1st on the beta, or receiving your product once you launch). If they pledge money, a hold is put on their credit card (with Amazon Payments) and they are not charged. Once your startup launches, their credit card is charged, you get the money, and the user gets whatever reward you set. Before a startup launches on Upstartly I make sure they can actually deliver and then give the users 24 hrs notice.

So, it's a bit like Kickstarter for Startups.

I launched it yesterday on HN. Wow, I was not expecting as much traffic as I got. HN can send a lot of visitors if you end up on the front page for a while. Luckily, my little Linode server did just fine, even while running 3 of my other apps, including this blog. I also got some really good feedback and had a lot of fun talking to visitors to the site on oLark. I think I'll write a post later on why I think oLark is awesome.

For now, the goal is to keep working on Upstartly, adding requested features and building up the startup community on there.


New Blog Engine!

Today I officially switched over to using the custom blog engine / CMS I wrote (called bwrite for now).

I originally was just going to modify the wordpress engine. The wordpress code, however, was a bit horrifying and I decided that I should build my own blog engine. While I knew it would not have all of the bells and whistles a 'real' blog engine has I don't need much and it was definitely worth it for the learning experience and the fun.

Right now bwrite has only very basic functionality, but I'm going to keep working on it, adding features as I need them.

I also finally got around to installing and learning RVM (ruby version manager) so I could deploy this rails 3 app on my linode which is using JRuby for the rest of the sites on it.


EverRibbon Milestone

I recently launched EverRibbon, a site that makes it easy for small causes and charities to raise awareness and collect donations online. To help causes spread awareness, we will ship anyone who donates more than $40 to a cause on EverRibbon a ribbon that they can wear to show their support. The goal is that the donor will wear the ribbon and people will ask about it and be told that they got the ribbon for supporting a cause on EverRibbon (helping both EverRibbon and the cause).

Well, today, EverRibbon just had its first donation of more than $40! CJ’s Animals, an organization that gives toys to children about to undergo surgery received a very generous donation of $75. We will be mailing the donor the following letter and ribbon.

everribbon letter

This is a big milestone for EverRibbon and very exciting! Hopefully we will be sending out many more of these letters soon!

Also, I created a special landing page for World AIDS day, which is tomorrow.



For the past month and a half I have been working on a really awesome website called EverRibbon which I just launched about a week ago. EverRibbon makes it super easy for anyone to collect donations online for any cause or charity.

If you have a small cause or charity and want to raise money for it, EverRibbon is perfect for you. All you have to do is spend 10 seconds creating your ribbon page and then you are automatically set up to collect donations online ( I’m using WePay to handle all the money stuff).

There are a number of sites out there that help you find big 501c charities to donate to. There is Kickstarter to help you raise money for a project, but there wasn’t really a solution out there that made it easy for small causes to raise money. So, I built EverRibbon to help causes like:

Please check it out and if you know anyone who needs to raise money, please pass it along to them.


Someone is using my API!

So it looks like the API I wrote for the Stanford Parser is actually useful to someone besides myself. I have no idea who is using my API, but it is still really cool to think that I made something useful. I’d really like to get feedback from whoever is using it. So, if it is you, please send me an email at andrew -AT- naturalparsing -DOT- com and let me know what you think or if you want any features added!


Updates and additions

I recently finished two new things:

1) The Stanford Parser API that I wrote now is able to output Tree objects (JSON), which gives more information about the parsed sentence (such as sentence structure) than the regular linear sentence object.

2) I wrote a group payments calculator app in javascript. This app lets you calculate how much your friends owe each-other. For example, if you went on a camping trip, and one person paid for gas, one person paid for food, and another person paid for the camping equipment, this app would let you calculate how much you owe each-other. I originally wrote this app in preparation for my interview with WePay, but it turns out they were looking for someone more senior with more database and transactional experience. It was still fun to make though, so that is good.

Now I just need to stop distracting myself with side projects and get back to noCrastinate, my to-do list application that uses natural language parsing.


Let me give you my business paper airplane

Last night I tried an experiment. I had a Duke alumni networking event hosted by DukeGEN, but I hadn’t had time to buy business cards, and I wasn’t too enthused about paying money for small pieces of paper that would need to be updated in a few weeks. But I didn’t want to have that awkward part of the conversation where someone gives me their card, asks if I have one, and I respond “well… if you somehow happen to remember the address tomorrow, you can find my contact information there”. Given the number of people you meet at these things, I wouldn’t expect anyone to remember my name, let alone my website address, even if they thought I was awesome.

I could always go the route of printing my own, but self made business cards look super unprofessional and scream “college freshman” (in fact when I first met my roommate in college he gave me self made business cards. He was both the strangest and politest person I have ever met).

Then I had an idea. Instead of business cards, why not business paper airplanes? So I made some. I had no idea whether this would go over well, especially with the east-coast types from Duke. But, I figured at least this way they would remember me, even if they did think I was a weirdo.

andrew leblanc business paper airplane

Surprisingly it went over really well. Everyone really seemed to think it was a clever idea. I even had someone come up and introduce themselves to me because they thought it was an awesome idea. I had fun whipping them out too. Whenever someone asked me for a business card I’d say “sorry but I don’t have a business card, I have something better than a business card; a business paper airplane!”. I’m just surprised no-one has thought of this before (I could see this being good for those flightcaster guys).

Lessons learned:

1) Taking risks that have a chance to either make you look like a fool, or an interesting person sometimes pay off.

2) If you’re going to go for it, you’ve got to sell it. If you think its really cool, then others will too.

3) Find ways to creatively subvert business etiquette, because everyone gets tired of this stuff.


I got HNed

Last night while I was out to dinner in Mountain View, I got an email saying that the disk IO was unusually high on the server running the parser API and this blog. I wasn’t sure what that meant, but was worried it might indicate my server had been compromised. When I got home, everything seemed fine; the disk IO was high but nothing else seemed to be wrong. I was puzzled as to what would cause this, as I had not been doing anything unusual on the server recently. Could it be some sort of weird FTP artifact? I decided to reboot the server just in case. I figured, nobody is using the website, so a reboot couldn’t hurt, right?

Then I get an email from the founder of Newsley congratulating me on being on the front page of Hacker News. Well, that explained the traffic. I guess I shouldn’t have rebooted my server. Sorry to all those who received a “the server is down” message. I think I was only down for a minute or two though.

Overall, I got about 2000 visits and 4000 page views over the course of Saturday and Sunday. Not bad considering this was a 2000% increase over the traffic I had been receiving the past two weeks. The real measure of success is whether anyone decides to start using the API.

Also, I want to let everyone know that yes the site and api currently only does part of speech tagging, but that I am working on getting the rest of the features of the Stanford Parser implemented soon.


I'm Online!

I finally got my API and blog up and running on the internet! I’ve spent the last month learning JRuby on Rails, AJAX/JSON-P and server administration, and now I have something to show for it. is now hosting a fully functional JSON-P word-tagging API for the Stanford Natural Language Parser. Now to build something cool with it.


Hello Blogging!

This is my first blog post. I am currently working on an API for the Stanford Parser, which will allow any website to parse user input in javascript using the powerful statistical natural-language parser create at Stanford.

I am from Austin, Texas but I just moved to the Bay Area, and I am re-learning programming/development (JRuby on rails + java and some jquery right now).