Archive for the 'my software' Category

What I learned from being on LifeHacker 9 days after starting work on ShirtFitFinder.com

December 9, 2010

The biggest thing that happened last month was that my site-in-a-week experiment, Shirt Fit Finder, ended up on LifeHacker two days after it launched.  This was a far better reaction than I had ever hoped for, and much bigger than I knew how to handle.  In fact, the site went down for at least 6 hours while it was featured.  I was asleep in China, and my friend who submitted it couldn’t get a hold of me because I had my phone set up to ignore calls from the US in the middle of the night, precisely so that people don’t wake me up accidentally.  Unfortunately, this time was on purpose…

Regardless of the reason, I learned a lot from the experience of finally getting a lot of attention focused on something I had worked on.  Here’s the good and the bad of how I handled it, and also some financial results:

Results

  • Upgrade of server to bigger plan on Linode: -$16
  • Money from affiliate links on SFF: $0 (Really!  Experimenting to see if affiliate links would be a better way to make money was actually the original purpose of the site.)
  • New customers for Bespoke Row: 5 (which was actually more orders, because some of them ordered a second time after getting their shirts)

Good

  • Quickly responded to comments online – e.g. on Reddit where people thought I should make the connection to Bespoke Row more clear, so I changed the site in a few hours.
  • Created a new channel to my main business – The visitors to Bespoke Row who came from SFF generally converted at a better rate than other visitors, which I think is because SF basically acts as a demonstration of why they need a custom shirt before they come over.  There are also now a lot more links to SFF than to Bespoke Row on the web, too, so I hope it will continue to work this way for a long time.
  • Learned that affiliate links are also a hard way to make a living – The fact that I had thousands of people on my site and not a single affiliate sale pretty much answered my question about how many visitors would be needed to make money from affiliate links to clothing sites.

Bad

  • No Analytics – I built the site so quickly that I didn’t even add in any analytics packages.  This is so easy to do, and I missed it.  Now I don’t even know how much traffic I actually got.
  • No way for people to sign up for future news and updates – I have a feeling I lost a lot of potential sales here.  A lot of people visited the site, but I have no way to identify them or to follow up because I didn’t have a newsletter signup or a link to a Twitter account that people could follow, etc.  Even though part of the appeal of SFF was that you don’t need to sign up, you can just use it, some percentage of people would probably have wanted to leave feedback or hear about changes.  I will definitely remember this for any future projects.  I added a Twitter account pretty quickly, but all it could do was message people who had shared SFF or the LifeHacker link.  That’s a bit different than having a group of followers that would see any future tweets.
  • No way for people to share – Traffic died off pretty quickly after about a week.  It was old news on LifeHacker, and people didn’t think to come back.  In combination with not having any way to remind them (see above), I also didn’t have any way for the current traffic to lead to more traffic.  In retrospect, SFF results would be great to share with family or friends right before people go shopping for Christmas gifts.  Even beyond that, just giving people the opportunity to tell their friends on Twitter and Facebook might have led to traffic that built over time instead of falling off.
  • No way to grow the database – There are a lot of ways to get no results on Shirt Fit Finder – for example, if you’re taller than the tallest shirt we knew about, we don’t have anything to show you.  This happened to many people.  There were also a lot of people who didn’t own any of the shirts listed, so they couldn’t even search for something better.  A week later, I added a way for people to search with their own shirts and add different brands to the database, but it was a little too late.
  • No way to know about the site going down during the day – I didn’t leave any way for people to wake me up during the night, and the notices from my host were all sent to my personal email so my partner in Boston didn’t even realize what was happening.  I fixed this by changing my linode account to be associated with a shared Bespoke Row email address instead.

Overall, though, Shirt Fit Finder was a huge success.  I will definitely be doing more side projects in the future to see what other ideas can gain traction.  They may or may not be related to Bespoke Row, but because I’m thinking quite a lot about the problems of choice and knowledge when making fashion decisions these days, they probably will be.

Building a site in a week

November 1, 2010

I just put up the ‘final’ version of a new site that I built last week.  I had an idea that people might be interested in better fitting shirts, but too worried to order from a custom shirt site.  I’ve also wanted to try out Ruby on Rails for a while, so this was a good opportunity.

With those two requirements, I built ShirtFitFinder.com, which lets you search for brand name dress shirts that will fit you well based on what you don’t like about shirts that you already own.  We’ll see if people use it, and if so, I’ll give it some more attention.  At the very least, it was great practice for iWeekend this month.

For now, though, I’m done with the project; I only had a week, so now I’m back to my regularly scheduled Bespoke Row stuff – we’re launching custom pants soon!

Automatic networking

September 6, 2010

Networking and keeping track of my contacts has always been hard for me.  Other than the occasional guilty feeling at forgetting someone’s birthday or sending late Christmas cards, it was never a big deal before February.  However, after I moved to China, I realized that I had no friends here, no one to go talk to about tech, and because I was working at home every day, I wasn’t meeting anyone.  On top of that, when I did meet new people, I was very bad at following up with them – maybe because I felt it would be awkward to offer to hang out with someone I didn’t really know yet.

For a while, I became fairly depressed, but eventually I realized that I was going to have to get over these feelings and go find some friends of my own or else I was going to go crazy.  I knew there must be a way, because every day I could see how easily my girlfriend was able to make new friends and very quickly start a meaningful relationship with them.

One of the big skills my girlfriend has that I lack is that she always knows who to call on any given day.  She instinctively knows how long to wait between contacts for friends vs. business contacts, and she can remember for whom it’s been too long.  I don’t know if my brain is just different from hers, but I find that requires a lot of effort.  If I haven’t seen someone for a long time, I’m probably less likely to think of hanging out with them, not more likely…

Luckily, I’m an analytical programmer, so I can use a computer to do this thinking for me.  I made myself a spreadsheet that keeps track of my contacts and calculates when the next that I should reach out to each of them is.  Every person can have their own period of time that I should wait, so if someone’s a good friend, I can remember them every three weeks, but if someone just needs an update every once in a while, I can send them an email every three months and be ok.  I now check this every week to see who I should get in touch with.  For example, this week, I need to email my friend Jason and see how he’s doing in Boston.

After using this for a while, I feel much more confident about getting more people in my network and not worrying that I’ll lose track of them.  I can safely say that I’ve made more new friends in the last month than in the first five months I was in Beijing.

I actually think this would be a fun web app to build.  Would anyone else be interested in getting an email every Monday that reminds you who you should be in touch with this week?  If there’s a positive response, I’ll take a few days and build an MVP for this and send everyone an invite.

OutdoorsBeijing

June 5, 2010

One of the first software projects I built in China was an Appspot.com application to visualize the air pollution in Beijing hour-to-hour.  You can see it at outdoorsbeijing.appspot.com.  I did this for a combination of reasons: Read the rest of this entry »

How to include git hooks in a repository AND still personalize your machine

April 6, 2010

In my new job as Director of Engineering at 25Lux.com, I’ve been dealing with a lot of the infrastructure parts of development that I mostly glossed over before because I always worked at a company that had everything set up for me.  It’s a good chance to think about in what kind of environment I’d really like to develop.

It turns out that big part of my answer involves automating everything.  Part of my reasoning is that our team is very small now, so the more we automate, the more we can concentrate on just development.  Another part of my reasoning is that I’ve read a lot about continuous deployment lately and many of the principles like decreasing the time between developing a hypothesis and learning your answer make sense and can only be achieved through extensive automation. Read the rest of this entry »

iPhone Reference Errors

February 28, 2009

I’ve decided to give iPhone development a try.  I have a few ideas for cool mobile apps that I’d love to implement so that I can learn a new platform, a new language, and maybe make some money on the side…  However, I’ve remembered what I dislike most about programming – configuration.

Read the rest of this entry »

Dancing for Engineers

January 6, 2008

Now here’s a topic I’ve been thinking about for a while. I started going to salsa dancing lessons fairly regularly this fall, but am having a hard time remembering the long sequences of complex moves that I learn in the MIT lessons (which are great, by the way). Even when I can remember them, it’s hard to do them on the dance floor with a girl who doesn’t also know what is coming, while staying on the beat, etc. etc. So, at some point this fall, I thought to myself that there must be a better way to learn enough sequences of moves not to bore a good follower to tears. Read the rest of this entry »

MIT Undergraduate Advanced Project – Complete

June 2, 2007

Near the end of my UAP, I promised my adviser that I would release the code I wrote as Open Source, so that people could continue to work on it after I left. If you’d like to try out my system or just take a look, it’s at http://daugherty.mit.edu/StoryAde1.0/Documentation.html.

MIT Undergraduate Advanced Project

May 20, 2007

As of Friday, I am done with every requirement for an undergraduate degree in computer science from MIT, except for one not-too-troublesome final! I had quite a time trying to get my UAP (senior project and write-up) finished on time… Which didn’t quite happen. However, I talked to Anne Hunter (course administrator) and received permission to turn it in one day late, which gave me just enough time to go through another revision with my great adviser, Barbara Barry.

My project ended up being some work in story-analysis using common sense (provided by ConceptNet, another Media Lab project) as well as trying a new approach to anaphora resolution (basically determining antecedents for pronouns), which didn’t rely so much on common sense.

If you’re really interested, you can download the paper I wrote. I also am planning on releasing the source code to my project by the end of the month, though I want to get through my linear-algebra final first before I clean it up and put it on a webpage somewhere.

More Map updates

August 12, 2006

I spent some time this morning to create a generic page in which people can enter a flickr username and set name, and it will generate a timeline map for them. Check it out at http://web.mit.edu/mpdaugh/www/maps/mapPage.html. It currently does no input validation, so be sure to type your username and set names correctly!