I built an app that already exists. Maybe you think that’s kind of dumb, but before you judge I’d like to specifically state why I did this. The application is called WorkDive. It’s a text-based time entry app for contractors, self-employed folks, and small businesses. I personally, like it a lot, but something about having created it yourself makes it really hard to admit inadequacy (more on that later).
I built it to solve a problem I ran into when I started my first business, a small tutoring shop. At that time, we had 20 or so tutors who were going out and tutoring math and science subjects. As my first business at a ripe age of 22 I was stoked. I was making money, but I was spending SO MUCH time trying to figure out how much to pay these Dudes (the name of my defunct company was TutorDudes).
At the time, I used formstack to collect tutor hours (vs. email, which was an improvement) and formstack was clever enough to find that tutor’s pre-set rate and spit out pay into a database. I would then download that data and individually pay tutors through paypal. It was automated, in a sense, but I was spending a lot of time clicking through PayPal and initializing tutor’s rates.
So a few years later, with some more technical experience under my belt, I thought I’d revisit this half-assed attempt - this problem had to still exist right? Well, sort of. In the first week building this out, I realized that 1) time entry apps are a dime a dozen 2) Harvest, which has been around for years, will kick my ass, even though I never bothered to take a look at the site (mistake #1).
But I forged ahead, convincing myself that even if i didn’t make a dollar, it would still be a learning opportunity (mistake #2). At this point all WorkDive did was send people a text alert to punch in their time, collected it in the system, and organized it for the end user so they could keep track of profit, revenue, and costs. I was happy, but I’m not sure who would pay $9.00 a month for this service. Then I received my first customer… I was really, really happy. Someone was using a product I created and was happy enough with the trial version to purchase it. I was sold. Sold on my success as a developer (ha!) and recommitted to enhancing it’s functionality (mistake #3).
Eventually, I did take a peek at Harvest, and I was literally floored. It had a really, unsurprisingly, nice user experience with tons of features and integrations that made it easy to pay people, create invoices, etc. It also mirrored many of the functionalities I had built for WorkDive, which was both shocking and reaffirming at the same time, but I figured, this is a good sign, “IM ON THE RIGHT TRACK!” (mistake #4).
I then read a transcript of an interview with the CEO of harvest, Danny Wen. This guy could be my doppelganger. Not only did I build a product that really only had a singular point of distinction from Harvest (texting your time), I basically look like this guy (not really, but you can be the judge). They have claimed to log over 122,000,000 hours. WorkDive has logged 473.26 hours which is approximately 0.000387918032786885245900%. That market share is not swell, but if you couldn’t tell, i can be pessimistic. Anyways, I tried to steal a customer of theirs, not ashamed to say it, but ultimately got an email from that user to remove her from the text-alerting functionality, which can be done in WorkDive itself, but I guess it was the Universe’s way of saying my product was annoying.
Some might say it’s a little unfair to compare yourself to a big guy, but I’m not sure I agree. He’s still competition and I’m pretty sure harvest represents a better option for a lot of freelancers. Comparison and competition is healthy; it ultimately creates a product that meets a market need. No matter how small, that’s good for the consumers right? But what about solo developers?
I think my solution solves a lot of problems well, especially for people who don’t want to download yet another app, for people on-the-go. I use it personally, but figuring exactly how to differentiate against a product that has been established for some time is tough. My guess, is that this is where a lot of solo developers end up – passionate about an idea that is not unique enough.
So I guess I have a decision to make…
- Let it sit and do absolutely nothing with it and hope it grows (we all know that won’t play out well).
- Start working on a “novel” idea, so I can avoid this circumstance in the future while continuing to maintain WorkDive, but halt development.
- Keep pressing on with WorkDive to see if it can grab a little more market share than 0.000387918032786885245900% and hope it pays a dividend in the near future (this requires me to work at it).
- Just use it as a personal tool to increase my productivity but slow down development and just maintain.
Anyways, I think I can safely say, I’ve learned the following:
- Listen to your wife when she says that there is this “cool” product you should take a look at (hint: she’s telling you something already exists).
- Don’t lie to yourself about a product’s competitive environment.
- Build something to learn, definitely, but always balance your rate of learning with measureable objectives (e.g. has your learning stopped? Is it pretty apparent that the product might not make a buck anytime soon?).
For now, I’ll approach option 3 and 4 and start thinking on 2 more carefully. Every new project is a new learning oppurtunity.
My intention was not to convince you that developing an application that already exists is dumb. If you’re being hard on yourself, yea, maybe a little bit, but mostly, my biggest takeaway is that ideas are really important. I hear a lot of people say that execution is everything, and I agree 100%, but if you don’t have novel ideas, how does one make it as a solo developer? We can all consult and build products for our clients, but intellectual property (IP) is critical. Developers tend to think of IP as the process for building out a function / algorithm in an app, which is truly special and deserving of a title like “intellectual property”, but domain expertise is king and without it, you are building a product that lacks differentiation.