How Uber funded my startup.


At age 15, I was among a team of developers hired by the Nigerian government to build the official website for its embassy in the Netherlands. Up until then, I considered my coding prowess a mere hubby. However a chance encounter with the then Nigerian Ambassador to the Netherlands would change my life and take me down a path that ultimately led to Uber funding my new startup Refresh Ads.
Nigerian Embassy in the Netherlands official website Circa 1995–2007.

Other paying gigs quickly followed and before long, I was earning a pretty good living for a 16 year old. Collage soon came calling and I moved to Southern California to pursue a degree in Computer Science at CSULB.

Since collage, I’ve tried my hand at a couple startups from BBMShirts.com to PinShirts and Ziplock for Blackberry to AppCurious for iOS with varying degrees of success, all of which have thought me one thing - ‘Capital Is King’. I’ve noticed throughout my experiences founding and c0-founding startups that without adequate seed funding, it is very difficult to effectively execute your alpha, which then affects the execution of your beta and subsequently, your final product. So I made the decision that my next startup will be adequately seeded and not haphazardly bootstrapped as my previous startups. The question now was how to raise said funding?

During the development of AppCurious, I wanted to do something new and innovative with the pull-to-refresh function of the app’s main feed. I went through a couple different design iterations but felt they all lacked that revolution I was seeking. Then it came to me. Since users are expecting to see new content every time they pull-to-refresh, why not give them something new to look at and experience every time they pull-to-refresh. Rather than show the standard blank space at the top of the screen when the user pulls to refresh, deliver something more engaging in that temporary space. Looking back, I guess ZipLock was my first foray into outside-the-box execution of a smartphone’s screen pull function.

ZipLock App for Blackberry — June 24, 2012.

As I developed the idea further, it became increasingly apparent to me that ads were the type of content best suited for that temporary space and I needed a proof of concept. So I set about building a basic demo that I could use to demonstrate and validate my concept. I needed something that effectively demonstrated what I had in mind besides just describing it. Above all, I needed to prove to myself that it could be done.

Over the next few days, I quickly stitched together a pull-to-refresh demo using widely available source codes from various code repositories with one major change. My version randomly displayed one of three stored ad images in the blank space that was revealed at the top of the screen when a user engages the pull-to-refresh. The ad would be displayed while the refresh command was being executed and if clicked on, would open the resulting link on a new browser. Since I already had AppCurious built and fully functional, I simply switched out its existing pull-to-refresh code with my new code and I had my proof of concept.

Refresh Ads demo — March 4, 2013.

With demo in hand, the next step was to protect my idea and file a patent. Once that was done, I set out to demo it for anyone who would listen. Everyone I showed the demo thought it was a great idea. However, I needed hear from developers who dealt with mobile ads on a daily basis. On April 2nd 2013, I got my chance at a Twitter mobile platform event held at Twitter’s HQ in San Francisco. There I was able to demo the concept for a good number developers in attendance.

I started off by showing developers the standard pull-to-refresh function on Twitter’s app, followed by that of my demo app and it was a hit. The response was overwhelmingly positive with some even asking for the SDK so they could to begin testing it in their apps. I even got to demo it for Dave Morin of Path who was also in attendance and I would never forget what he told me. Although acknowledging that the ad concept wasn’t currently a good fit for Path, he was quite impressed with the concept and commend me on figuring out a way to monetize what he called the “Mobile Waiting Room”. It was a profound analysis of the vision behind my concept and those words would became the literal interpretation of what Refresh Ads is all about.

My visit to Twitter HQ helped crystallize the notion that the concept was more than just a mere app feature. It could be a standalone product and I needed to build it out ASAP. However I couldn't do it on my own. One characteristic of great leaders is acknowledging your strengths and weaknesses. So to build what was essentially an ad network around the pull-to-refresh ad unit, I needed to put together a small team of developers with varying skill sets to help tackle each portions of the build and that was going to cost money.

Good developers don’t come cheap. So in order to properly budget out the build, I had to make sure I knew exactly what features I needed to have present in my MVP (Minimum Viable Product). Luckily for me, I had access to a couple rock star developers whom I had previously worked with on AppCurious. I immediately reached out to them and together we were able to come up with the time and cost breakdown for the initial build you see below.

Refresh Ads Development Breakdown:

Android + iOS SDK — 4 Weeks
Web services + Backend — 10 Weeks
Advertising logic (algorithms) — 2 Weeks
API documentation — 3 Days
Total development time: 16.5 programmer weeks
Cost: $25/hr @ 660hrs = $16,500

Once we agreed on the figures, it was time to raise the seed. I needed $16,500 to build my startups product and I needed it fast. Since I didn’t know anyone who happened to have an extra $16,500 lying around, I had to think outside-the-box to raise capital. Kickstarter works best for physical products so that route wouldn't work for me. AngelList was too crowded and my startup would likely get lost in the crowd. VC’s mostly fund startups that exist within their networks and in this case, I was definitely our of network. Also, my personal savings was nowhere near what I would need to build Refresh Ads. Frustrated and out of ideas, I decided to meetup with some friends to blow off some steam on a a night out in Hollywood.

As the drinks flowed, our conversations became more and more personal and I was soon venting my frustrations with raising seed money for my startup. As I rambled on, one friend interjected with a suggestion. He had read an article about Uber drivers making $90K a year and was in the process of signing up himself. He recommended I do the same. I immediately brushed off the idea and continued venting. Later that night, I happened to be checking my Facebook news feed when I came across an Uber driver ad. Curious about the opportunity, I clicked on the ad and within a few minutes, I was sold. I quickly signed up and a week later, I received my Uber phone and began taking rides.

First two Uber trips.

Within my first 40 minutes as an Uber driver, I had made $42. From that point on, I was hooked. I went on to make about $1300 my first week driving for Uber and was off to a good start. Realizing that I could earn up to $4000 per month, I promptly outlined a 4 month development schedule complete with monthly milestones. That way I had 4 months to provide the total seed funds through monthly $4000 installments made upon the completion of each milestone. It will take another 5 months of driving, 1184 trips completed and over 3000+ passengers serviced before I earned the $16,500 needed to seed my startup.

Total earned over 5 months of driving for Uber.
My team tackled the items on the development breakdown while I focused on the front end and server integration. Through parallel tasking, we were able to ship Refresh Ads Version 1.0 in 4 months.
RefreshAds.co website.

Not only did Refresh Ads Version 1.0 exceeded my expectations, it also proved that the concept was scalable. Version 1.0 allowed advertisers to deliver both image and video ads. The ads do not extend the normal server refresh time of the app but rather are only displayed for the short amount of time it takes for the content to update. To counter the often split second refresh times of most apps, we developed a fading ‘View Ad’ button gives users a few seconds to click on before it disappears. Clicking on said button will force the ad to return to full view for as long as the user chooses. When the user is done with the ad, he/she can click on the ‘Close Ad’ button. Below is the official Refresh Ads product video.

Refresh Ads promo video.
Banner ads have no place in the future mobile advertising. Brands and publishers are increasingly looking for more engaging solutions. Refresh Ads are able to reach beyond the banner with a unique ad format that effectively captures users attention without compromising the user experience of the apps delivering them.

Now that the product has shipped, the real work begins. The task of socializing developers/publishers and advertisers with Refresh Ads is indeed a daunting one. However if there is one thing that driving over 3000 people in the past 5 months on Uber has thought me, it’s how to effectively communicate with people of all works of life and quickly find a common ground. When a stranger gets in your car, you basically have a few seconds to break the ice or else you’re in for a very awkward ride. So I learned very early on that you have to quickly get a read on your passenger and engage them often for the entire trip. You also undergo a very rigorous crash course in customer service as my 4.85/5.0 rating from 1185 trips can attest to.

Driving for Uber has given me much more than the seed funding for my startup. It has taught me the vital skill of perseverance which will surely come in hand as I build my startup. Through good days and bad days, through good passengers and bad passengers, I was able to persevere towards my projected goal of earning $16500. In the last 5 months, I have learnt a lot more about how to be a good business person than I have in the last 5 years. I’ve learnt that good service above all, is key to the success of any endeavor.

The tremendous amount of clients you get the opportunity to service in a very short period of time with Uber, combined with the instant rating system, teaches you how to fail fast and quickly iterate using vital customer feedback until you find something that works. That is the cornerstone of the foundation of every successful startup.

And that was how Uber funded my startup.