Sunday, October 9, 2011

The end of the beginning of the beginning

11,000 lines of code.
17 different plug-ins to accomplish Rails magic.
About 1000 hours of work.
5 employees hired.
400 test boxes.
1 vacation in Mexico for a week to get away from it all.
1 kitten babysat, currently attacking my right hand.

Quite the summer.

I have not posted in a while, mostly because I needed a chance to distance the blog from the actual website (once it went live ... no need to show how the sausage is made), then I was very busy getting other things done. Now it is time to give a little thought to this experience. For that reason I'm not going to mention the company name on this blog post, but those who know me know what it is.

A review: when I graduated from Kellogg I decided to launch the company, but knew I'd only have 4 months to do it, because I knew I would run out of funds within 6 months and I had a job that started in October. I decided to charge ahead with the following plan:

Month 1: Do basic market research and start a prototype of the business (website plus infrastructure)
Month 2: Finish the prototype and show it to as many people as possible for feedback; refine it; do research into fundraising.
Month 3: Continue refinement and start recruiting a team to take over the business for me once I start work full time.
Month 4: Finish recruiting the team and transition it, while doing further refinement, and start marketing.

I am not as far as I wanted to be at this point, but I'm pretty much there. I have a team -- four people heavily dedicated to the business, two for equity and two for money -- along with a volunteer (my youngest brother). We are starting sales calls, and just had a great one. The business is largely in place. There is still a lot of work to be done -- we have to do about six months of recruiting customers, learning from them, and tweaking the business before we'll really be ready to scale. I have build a network of potential investors who know about the business and are interested in hearing more as we hit the next milestones. There is still a lot of risk involved, but the feedback we've gotten from potential customers has been strongly positive, so I am confident. I continue to believe that this idea is going to work very, very well.

So why am I starting work full time tomorrow? Because I needed 6-8 months to get to the point where I could do this full time, and I didn't have that. Until I get another source of income, I need to throw caution in the air, but not quite to the wind. I have found that most "real" entrepreneurs -- those who take real risks with their own lives -- are like me: they are not risk averse, but they set up solid, real plans with well-researched contingency. That is exactly what I am doing. I find that real entrepreneurs -- not those who had a good idea and got lucky in their 20's, but entrepreneurs who have founded multiple companies, have failed, and now have families and wisdom -- tend to agree with my approach. We will see if it pans out.

A few thoughts at the end of the summer:

1. To incoming Kellogg first years with dreams of entrepreneurship: do it. Right now. Take part in ideation sessions. Form groups. Ignore the clubs. Ignore your internship -- that should be dedicated to the start-up you're going to found. You have way more freedom than you realize.

2. To people deciding whether to get an MBA or start a business: do you have amazing business savvy and a great undergrad pedigree and degree? Then quit for three months and network like crazy as your full time job, then learn how to code, then form a team to identify a problem. Are you not sure about your business savvy? Learn how to code and get into a top-10 business school.

3. To my customers: you are going to get an amazing service. I know you are going to love it.

4. To my team: you are armed with a fantastic business idea and raw materials, including a service that is pretty much working. Sell like crazy. You are going to be rich. Congratulations. Now go!


Signed,

The Chairman of the Board (former President)

Tuesday, August 30, 2011

For your own sanity, be careful about using FedEx print services.


I have not posted for a while for a variety of reasons, but I feel compelled to relate my story about ordering FedEx business cards.

On July 25th I ordered business cards via the FedEx print services website. I went through the work of designing the business cards via the site, and looked forward to getting the results in the mail as soon as possible. A week went by, and I expected to get the cards in the mail any day. They never arrived. I decided to look up my order and track it online, and lo and behold, the order was marked as delivered! This was clearly not right -- they never arrived (despite other FedEx packages having arrived in the same time frame). So I called FedEx.

First they told me that it was my fault for not receiving the package. I explained that I never saw a sticker or anything. They suggested that the package was left at my home and stolen, and that this was my fault. I suggested that they have delivered many packages and never left anything before. They told me they would look into it and call me back. A week went by. They never called.

I called again. This time the person I spoke to said that since no sticker was left then the package was never delivered to my address, and was possibly delivered to a different address. They told me they would reach out to the driver and have him call me. He never called.

A few days later I called back again, and they told me that once again this was my fault because "I was the shipper". How does this make sense? Because I paid for the shipping. So in the eyes of the representative that I talked to, I am the shipper of every Amazon.com purchase I make, because I paid for shipping. I hung up and called back and got someone else who said that this was not right at all, and that the local office would need to deal with this, but this was clearly the fault of FedEx and the shipper (who was FedEx print services!), and that they would have the local office call me back. They never did.

A few days later someone else called me and said that he was following up on my first call about a missing package. I told him my story, and he apologized, and said that he would have the local office call me back. They never did.

A few days later I called again and this time the person I spoke to ad FedEx said that this was the shipper's fault, but that since the shipper was FedEx print services I needed to call a different company (evidently FedEx print services is a different company from FedEx). I did that, and the FedEx print services person apologized and told me that they would look into the issue and call me back.

Another few days and no call. I called FedEx print services again and related my whole story. The person I spoke to took pity on me and said that she would have my order re-printed and express delivered to me. It would be there by Friday, August 30th. I thanked her and waited. Friday came and went with no delivery.

I called the following Tuesday (today). The person I spoke to said that FedEx systems had experienced a bug over the past week that prevented all re-orders from being processed. They had fixed the bug, but evidently then proceeded to ignore the re-order requests that had been filed during that time. She said she would submit the re-order again and it would be delivered the following week. I told her that I would be on vacation that week, and asked whether she could hold the order. She said she would try and would get back to me.

10 minutes later she called me back to tell me that because more than 30 days had passed since the order was placed, it was no longer possible for her to submit a re-order request. I had to now get a refund and start over. A refund would have to be approved by senior management and would take from 15 to 30 days.

Who wants to take bets as to whether I ever get a refund? I told her I would call at the 15 day mark to check on things, and she said that if I did they wouldn't actually be able to check on the progress of the refund request anyways, so don't bother. I think I will call on that date anyways, as based on my experience, there is probably only about a 20% chance that her requesting a refund will actually end up being done correctly.

For the record, 80% of the people I have talked to at FedEx have been very friendly and have apologized profusely for the mess-ups.

Monday, August 8, 2011

IT'S ALIVE!

Whoops, forgot to post this weekend. Too busy rockin in the free world.

We went live last Monday! Well, sort of live. I didn't feel that the site was sufficiently tested so I hid the links for new users to sign up, and asked friends to test the site. They provided awesome feedback, both in terms of bugs and in terms of usability. Haven't really made it all the way on the usability stuff, but made big strides this week, to the point where I'm happy to report that we are now L-I-V-E. The training wheels are off. New users can sign up. Booya, as the Buddhists say.

I think the biggest lesson this week is: I really need to write a special technical blog post on Fedex integration. Much of my time this week was spent trying to get Fedex the company and Fedex the technology (mostly the company) to work with me. The folks at Fedex are great, but their processes are pretty typical for a big company, in that they don't quite work for the customer. Presumably those processes serve some other Sisyphean purpose. I felt like Napoleon invading Russia. At first I was all "hey, this isn't so bad", then I thought "ooh, that bit there was pretty hard, but I'm sure things will go well from here on out". Right now it's springtime after the Russian winter, and hopefully that analogy proves malapropos. Man, I am full of the big words today. Didn't get enough sleep last night.

Anyway, big week in other ways as well. Moved into the storage space (in pitch blackness ... power outage ... I can only assume that a murderer was hiding in the room and only didn't chainsaw me to death because I didn't turn on the lights). Bought approximately one carpload of supplies (boxes, bags, tape, bubble wrap, etc) and tools (custom-made stamp, product photography equipment, office furniture, scale, etc). Moved onto the next phase of design work for marketing and site refinement. Did a bunch of market research. Ahhhh! Starting to feel like a real company. It will more so when I get real revenue. ;)

For the checklist crowd, here's what went down:


  • drove out to Lombard to pick up many hundreds of dollars worth of packaging materials from Go Packaging. Did so using a rented 16' Budget Rental truck. Great rates for businesses with those guys, if a smidge unreliable.
  • Purchased a nice scale, tables, office chair, product photography equipment, stamps, and a sign for the processing location
  • Got rejected by Fedex label certification. Worked with about half the web support team to try to fix it. Made little progress, but today things started looking up.
  • Implemented better workflow for the sign-up process. That took surprisingly long, but I learned how to do things like this in rails better, and how to use the rails cache better.
  • Finally got real insurance offers.
  • Did a bunch of market research. Created lots of delicious spreadsheet data, with the help of Dan Kamerling.
  • Fixed a bunch of bugs.
  • Got a bunch of legal stuff resolved through my lawyer and through lawpivot.com.
  • Submitted a post to crowdspring for some ad copy. So far little response. Anyone want to get paid a pile of money to develop an ad campaign for me for the El in Chicago?
  • Implemented hoptoad.com for error alerts on the site. They are awesome.
  • Now in the process of implementing a new pricing strategy for the site, and of finalizing improved fedex functionality. Next step: more marketing! And value-add functionality of course. :)

Sunday, July 31, 2011

We are live! Mostly.

Wow, what a week. Very intense. I am tired, but happy!

The site is now live, but Heroku is failing to install proper ssl, so if you try to do anything secure (like log in) you will get an error page. That's fine, because I decided this weekend to turn off log-ins except for testers, since so much code changed in the last few days. Hopefully the next few days things will be properly tested and sorted out. I have come to terms in the last two weeks that the "launch" will be pretty "soft", and that I will be doing a fair bit of stuff behind the scenes in the next week or so to make sure that all functionality is properly in place.

Any errors or concerns or questions, please send them my way! I will be sending out the "tell your friends" email when things are a bit more locked down ... probably within 48 hours.

So how did we get here from one week ago? A LOT of work by me and Capacitr. Here's what was accomplished this week:

- nearly every page design was approved by me and turned into CSS, images, javascript, and HTML by Capacitr, then integrated into the site Rails code by me.
- turned on real live credit cards and user default payment method and shipping address. They are currently off on the live site so that we can test. This went much better than expected, though I ended up refactoring a big chunk of the order processing workflow.
- implemented recurring payments with secure credit card information storage with authorize.net
- created content for pretty much the whole site ... if it's human readable and on the site it was probably written by me in the past week
- created invoice processing
- implemented emails to users
- implemented customer tag management
- implemented and finalized all legal language for the site, including tracking user agreement to the rental agreement
- implemented an account summary that frankly looks pretty lame ... need to pretty that up, but it's functional
- started the process of label certification with Fedex. Was much more difficult than expected. Currently labels are still in test mode, but they look real.
- met with Dan Kamerling, who is now back from Ireland and ready to help. He is working on marketing stuff
- finalized orders for boxes, rubber stamps, bubble wrap, and tape. Going to rent a truck tomorrow to pick all of those up
- made equipment purchases, including scale, label printer, photography equipment, a sign for the outside of the processing location, and business cards (since the logo was finished at the very end of last week)
- got the keys to the processing location, the drywalling of which
- met with a charity-focused company to partner on donations (not live yet)
- met with a consignment store to partner on sales (not live yet)
- oh yeah, also attended Tech Week for a full day in downtown Chicago

Sunday, July 24, 2011

Hard-fought victories, but the war is not yet won

I told myself I was not going to blog until I had accomplished a major task today. I just got Fedex label service to start printing multiple customized messages on the label. That doesn't sound like much, but it was actually incredibly difficult to figure out, and in the process I learned a lot about debugging in Ruby. I should really create a few highly technical posts out there about some of the challenges I've faced with soap4r, Ruby 1.9, and the Fedex w9 interface. Man, who'd have thought that would be that difficult?

Lots of progress has been made, but the list of things remaining before the big launch date is still long. Here's what has to happen by a week from today in order for me to launch:


  1. Get insurance that provides liability for me for people's stuff. Granted, my rental agreement will say that anything placed in storage is at the risk of the user, the user should make sure that they have homeowner's insurance that covers items in storage, etc, but at the end of the day I need this. I have found an insurance broker that specializes in internet firms and consignment companies, which is great. He is working on this for me. I have also found an insurance company that is willing to provide liability insurance that won't cover goods under storage, so that's not worth all that much. I'll be calling this broker tomorrow. Very nervous about this.
  2. Get the legal paperwork back from my lawyer. He has it; I will call him tomorrow. Not too nervous about this.
  3. Figure out pricing based (in part) on survey responses. I do not have as many survey responses as I need. Take the survey! http://bit.ly/qQ7goz.
  4. Integrate all of the wonderful designs I have received from my designer into the site. This requires that he deliver them to me in CSS and HTML, right quick. Hopefully that will happen tomorrow. Somewhat nervous about this.
  5. Upgrade to Fedex "production" shipping. This should be straightforward; we shall see. I will call them Monday. Somewhat nervous about this.
  6. Get a label printer. Fedex said that they should be able to help me with this and said they'd call me this past week, but they never did. I will call them tomorrow, and if they do not help right quick I will buy one from a third party. Pretty nervous about this, but as a back-up I can use a regular printer, so not the end of the world.
  7. Get my boxes and shipping materials. This is mostly done, just waiting on the box design from Capacitr. They said it would be "no problem". Also, I found out that it's going to rather difficult to ship these shipping supplies to me (meta!), so I will rent a truck and drive out to Lombard to get this stuff. Should be fun. Yay Chicago being a major shipping destination.
  8. Upgrade to "real" credit card processing. The app is in, and this should be relatively easy, just waiting on Chase to handle this. Quite nervous about that one - banks are not to be trusted.
  9. Finish a bunch of "clean up" site functionality. This stuff is supposed to be easy, but the 15 hours I just spent on Fedex integration is a warning that surprises happen. Rather nervous about this.
  10. Turn on real SSL for the live site. This will probably eat up a disproportionately large amount of my time, but it's gotta be done.
That's it! Yikes.

But wait! I did in fact accomplish a lot this week. Here's a breakdown:

- attended Tech Week! Well, one day of it, so far. I plan to attend one more day tomorrow. It was fun, but tiring to pitch literally all day. I did make some fantastic connections, though.
- found the aforementioned insurance broker. That was a win.
- set up an appointment to talk to an upscale consignment store about partnering
- secured (mostly) my brother to come out to help me out with running the warehouse if necessary when I will be in Mexico at the beginning of September.
- GOT THE LOGO! It took a while, but this was a major coup. 
- Got a whole bunch of page designs from Capacitr. These are still in eps format, but it's good that we finalized how things are going to look. I think they look good!
- I cannot stress enough how much the fedex integration was a win. Getting that to work was incredibly difficult, but I managed to pull it off. I realized by talking to Fedex on Monday that just linking to their webpage to get the label wasn't going to cut it, because then I would lose the tracking number, which pretty well sucks. So on Monday I found an alternative soap4r that is compatible with Ruby 1.9 and is hosted on rubygems (score!) so it would work on Heroku, then last night and this morning figured out (a) how to save it to Amazon S3 (thought I would use Paperclip, a Rails plug-in, but that turned out to be a bad idea), and (b) how to print out custom information (like "Check here to inventory") on the label. Now it just works. Hallelujah! Amazon S3 is awesome, btw.
- Got off of Northwestern email and calendar completely. This was a surprisingly large pain in the butt with godaddy.com, but it's done, and now I can check email on my iphone, which I was not able to do up until that point. Plus Northwestern had stopped allowing me to create new calendar entries, so this was pretty much a must-have.
- built role-based security into the site so that people can't see one another's information. That was a bit time-consuming but not too difficult.
- built ssl into the site so that all transactions that need to be secure are secure (surprisingly difficult, and will be annoying when I go live)
- wrote a whole bunch of content for the site, including most of the legal and basic instructions. Still need to do faq.
- Integrated a perty new side navigation for account maintenance (designed and delivered by Capacitr)

One more item of craziness this week: I use a Belkin router on Comcast internet, so naturally I lose internet about a dozen times a day. Fine, whatever, rebooting the Belkin usually does the trick.

But this week, instead of showing "page not found" messages, my Mac started loading up localhost:3000 whenever I hit any page and that page was not available! What the? I don't even....

Happens in Chrome and Safari, and after system reboot. Other computers of course don't see this, but can't connect to internet until I reboot the router. Sometimes the reboot doesn't break my mac of its habit, and I have to just wait. Freaking bizarre. Macintoshes -- usually don't break, but when they do, watch out.

Wednesday, July 20, 2011

Survey launched!

I've been working on a survey to help me understand more about people's thoughts re: the business, and have received some great assistance from Kelly Goldsmith and some volunteer survey takers. The survey is now launched -- please help me out by taking 10 minutes to provide your thoughts! Everyone who takes the survey is entered in a raffle for a $100 Amazon Gift Certificate. Refer someone, and you get 2 more chances in the raffle!

Here's the link: http://bit.ly/qQ7goz

Sunday, July 17, 2011

Ugh.

I find that the process of starting a company is a combination of mad dashes and frustrating slow-downs. This week featured a lot of the latter.

My main concern at this point is insurance -- as it turns out, virtually no insurance company is willing to insure this kind of business. The problems are multiple: they don't like the fact that I am taking possession of other people's stuff (unlike a normal, you-lease-the-space storage company); they don't like the fact that I am providing services that require me to actually open those boxes; they don't like the fact that I have never been in the storage industry before; and they don't like the fact that the company is a start-up. I had assumed up until now that, since my company is a mishmash of services provided by other companies, I would be able to take care of this insurance thing (there really is very little new here; it's the combination that is new). I also assumed that the multiple insurance brokers I had working on the problem were correct when they said that they should be able to find something. Now they are all coming up empty-handed, and I have taken more ownership of the problem, and have called many companies this week that advertise that they insure in the storage, consignment, or warehousing space. So far no luck. Need some Felix Felicis. HP reference! I am a nerd.

To add to that, this week I took on one of the few remaining technical challenges of the business: making it so that people can print out Fedex shipping labels so they can easily ship their own boxes and just schedule a pick-up with Fedex. As it turns out, this is surprisingly difficult, and each option includes annoying little challenges. My first inclination was to use Fedex's XML interface, but they change this interface so frequently that at this time there are no rails interfaces off-the-shelf anywhere that I can use. I am loathe to build my own WSDL processor myself, as the Fedex spec is rather long and complex, so I tried to modify one off-the-shelf that works (supposedly) with Fedex's spec a few versions back. I got it to work ... then discovered that with that tool installed, the entire site stops working! Fun. Traced that problem back to a one-line bug deep within the SOAP code (damn you Ruby for allowing dynamic extension of core classes! This seems like a terrible idea to me), and discovered that the code was improperly packaged so it won't work on Heroku without yet more debugging and customizing. Sigh. So I think I'm going to try to use a different interface and hope for the best. Call scheduled with Fedex on Monday to work through the details of this.

On top of all that, the designs are coming along, and some of them look really nice, but I wish they were moving a lot faster. Come on Capacitr, you can do it!

I suppose these are the things that separate the entrepreneurs from the wannabe's -- or at least, the entrepreneurs who actually have a launch from those who give up when the going gets tough. Looking back on the week, I do have other successes to report, most of which happened before the Fedex / insurance things got painful on Thursday.

Weekly Accomplishments

  • Completed a survey for gathering more market research and delivered it to some friends / mentors for review on Monday. They have yet to get back to me.
  • Met with the folks at Campus Solutions to talk about potentially using their space. They are just about out of space, so they were not able to help, but the person I spoke with gave good guidance on the kinds of things they did to get going several years ago.
  • Met with a VC I know to talk about the business. His reaction was: it's all about SEO. This might have something to do with the fact that he and his partner specialize in SEO, but I agree with him that SEO is very important. We agreed that the site really needs to get up, though I am of the opinion that it has to be functionally complete for at least a few workflows before I can really show it to the world.
  • Met with a potential partner in Urban Bound, a start-up in the HR outsourcing space. Michael, one of the founders, is excited about the prospect of offering his corporate customers the option of having employees store their things with the company while they are going through the moving process.
  • Met with a representative of Chase Bank to talk about the work I will have to do if I am to hire someone. Overal a very pleasant meeting. Technically I think both the people I spoke with are employed by ADP.
  • Met with my friends at Suggenda to work out how we are going to handle ownership of that company (not really important to the company, but important that I am not distracted by that!)
  • Committed (mostly) to the space in Evanston as a processing and shipping location. Reviewed a lease and applied for a background check.
  • Received my official credit card for the company. I have $15,000 in credit. Woo hoo!
  • Called a bunch of consignment places to talk about partnership. Talked with one at length, and scheduled meetings with a few more for next week. The one I talked with was positive about the prospect of forming a partnership, and wants to talk more once the site is up and running and I turn on the "sell" option.
  • Implemented the image browsing functionality in the site. I am now able to inventory and tag someone's stuff, and they are able to see that information in a very nice and sexy layout. This was surprisingly difficult, but ultimately successful, and I learned a lot about CSS along the way.
  • Saw the last Harry Potter. This was a major downside to the business, as it depressed me that there are no more Harry Potters coming, and reminded me how much fun film-making is. Then I realized that I need a good source of income that will allow me to fund my film-making habit, and that I need to get the company off the ground for that reason alone, and that TVC is better than working for another company because it allows me to work for myself and organize things, something I love to do. Tom Cox is probably going to message me now saying "yeah, Z, keep telling yourself that". :)