re: What do you do if you're in the middle of a project and you realize it already exists in the world? VIEW POST


I'd say my answer is that no project is static and you can think of the existing project as similar in this time and place, but you could eventually go in a different direction with the evolution of your project so it's not so bad to duplicate for now.

In terms of learning, duplication isn't so bad either.

If you really do have a finite amount of functionality you are trying to build for a library or framework and the exact same thing already exists and is being maintained well, it is probably an opportunity to get involved in the project that already exists. And if you find you want to take things in a different direction at any point, you can get back to your own idea.

As an entrepreneur I'm actually quite a proponent of a sort of "first replicate, then expand" path in terms of getting into a new space. Replicate doesn't mean generic clone, but you can replicate an existing business model that works before being more "innovative" once you've achieved parity. I think the concept of "replicate then extend" could bode well for any project.


That can be a tough road, as parity is usually a moving target. It can be done, but the faster they move, the harder it is to catch them.


That can be a tough road, as parity is usually a moving target

Yeah, it's more to give you an idea of where to start because innovation is kind of even a faster moving target.

Here's a pretty tangible example: I started by implementing a lot of Medium's features when first building DEV, gradually finding my own ways to do things differently and now we have a whole bunch of super awesome unique things but I didn't try to differentiate in any super meaningful way off the bat except a few basic things I thought were sort of table stakes (like syntax highlighting).

I'd repeat this pattern in the future. If you have an entirely novel idea, that's great, but if you want to create a useful tool in a known market, you don't need to do entirely new things. You can pick and choose from some cool existing ideas. As long as you understand why you're considering doing that and not cargo-culting off of existing implementations, borrowing the good stuff is a great path.

code of conduct - report abuse