DEV Community

Ben Halpern
Ben Halpern

Posted on

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

I got this question in a DM and I thought it made for a good community discussion (of course anyone is welcome to make a post like this, but I'm happy to take the mantle for reach).

How do you react in the situation? Is it appropriate to keep going, if so what should you be mindful of?

Oldest comments (79)

Collapse
 
vuild profile image
Vuild

Everything already exists. Do it better (figure out first, not self-hype) or pivot but be firm.

Collapse
 
michaelthiessen profile image
Michael Thiessen

Exactly this. Do it better along one dimension:

  • easier to use
  • more fun
  • more powerful
  • for a specific type of person
  • etc.
Collapse
 
vuild profile image
Vuild • Edited

Yes Michael, 👍 Focus.

They can even merge. Easier to use & more fun can be one thing "better UI".

For example, my comment there is suffering from "reddit syndrome". It's a succinct masterpiece of course, but it is also more popular because it is at the top. The UI is determining content. That is influencing people which is distorting things. It's a sweet sweet comment, but there are better ones in the thread which are lower down the page so getting lower engagement. Later ones too that are better. it's not an easy fix & while devto team was making a polls feature...

Someone came along & built dev.three with the promise of machine learning predictive adaptive personalizing AI comment ranking behavior.

That's basically how it happens. If Goo search slips much more, DDG will really get in. If Chrome doesn't pull itself together, Brave gets in.

"It already exists". Kinda.

Edit, Addendum: If you people make that one my top comment again. @peter 😡

dev.four has comment edit timestamps so you don't end up liking things that people can bait & switch. 🤗

Collapse
 
rvictorino profile image
Robin Victorino

Good point!

I usually follow this rules:

  • Do I feel like I can do something better in any of those dimensions regarding to the time I plan to allocate to it?
  • Am I really close to achieving something that can teach me a lot / would clarify something I never understood / anything in that spectrum

If one of those rules is met, then I'd continue working on it, even if I drop it later.

If others (by contributing/publishing) or me (by learning) have earned anything, it was not vain.

Collapse
 
ben profile image
Ben Halpern

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.

Collapse
 
mitchjacksontech profile image
Mitch Jackson

Pizza Hut doesn't stop making pizza just because Domino's already does. Be aware of, and focus on, what differentiates you from the competition.

Collapse
 
jhuebel profile image
Jason Huebel

It's kind of a broad question, to be honest. There are many reasons why you might complete and maintain a similar project. Otherwise, why would you have hundreds of different implementations of graphics editors, source code editors, development frameworks, content management systems, ERPs, accounting software, etc.

One size doesn't fit all.

Collapse
 
avatarkaleb profile image
Kaleb M

I would take want to clarify why I'm working on the project. For example, if I was creating a personal portfolio - I could use a template or use some of my own flair. Since it's my own space, I'd probably go with still working on it!

As far as business ideas, if it's already out there - I would see how well it's received, how good of a product it is, and if what I'm doing could improve it to take market share. If not, and the project isn't for learning only, I'd find a new one :)

Collapse
 
nektro profile image
Meghan (she/her)

A fair amount of the things I've made, I started because it already existed and I wanted to have my take on it. Everyone has a unique perspective, and new approaches to old tasks can revolutionize them forever. Stay strong 💗

Collapse
 
wolfhoundjesse profile image
Jesse M. Holmes

I feel this!

Collapse
 
ben profile image
Ben Halpern

Yes!

Collapse
 
jamonjamon profile image
Jaimie Carter

Good point.

Collapse
 
yucer profile image
yucer

You are thinking like an Artist.

Scientists and Hackers (the original concept) try to solve a problem once and reuse knowledge and solutions.

Also remember that it is not only about you. It is about the community that surounds the projects. They will be divided.

Nevertheles, there are always other reasons related to
Project management. For example if the owner of the other project invest few time, reject many changes, etc..

Collapse
 
georgecoldham profile image
George

Projects are usually for fun. If it existing is enough to put you off then what were you trying to achieve?

Collapse
 
leoat12 profile image
Leonardo Teteo • Edited

I think that there is no idea that there isn't something at least similar out there, you have to live with it and somewhat reinvent yourself. Take Uber and Lyft for example, Lyft was founded after Uber and they have a lot of similarities, but they reinvented themselves with ideas from each other.
Here in Brazil there were already apps that connect drivers to riders, but mostly it was for taxis, when Uber came with private drivers (taxis are private in a sense, but you get what I mean) and most of the time with cheaper prices (Uber came to here around 2014 World Cup with aggressive discounts to attract visitors who were here for the World Cup and already familiar with Uber and locals alike). The companies already here had to reinvent themselves having private drivers as well as taxis. Uber responded with what is known now as Uber X and payment by cash.
I don't even need to talk about food delivery apps, there is a bunch here and I saw the same in the US when I went there, the details are what differentiate them. The key is to be creative to differentiate yourself somehow.

Collapse
 
niorad profile image
Antonio Radovcic

What would I do if I discovered another site like DevLids?

Since it's a non-commercial project it primarily would not be a big deal. I'd try to get in touch with the author and see what happens. I would try to do the old-fashioned link-exchange, where I link to them and they link to me.

I would definitely keep going since it's not a lot of work and I made lots of nice connections around DevLids, especially on Twitter. And with soon over 400 submitters after a year, it's worth keeping up!

Collapse
 
andrewbrooks profile image
Andrew Brooks 👨‍💻

The existence of a similar application can be a positive indicator that there is a market for your idea.

It's absolutely possibly to have similar products for the same market.

From there identify any pain points that you can use to provide a unique angle for your own product that the existing solution doesn't cover.

If anything build it out just for the learning experience.

But it shouldn't be instantly trashed due to another solution's existence. Just look at the signs and see if you can carve out your own piece of that user market.

Collapse
 
azterix101 profile image
Neo

You continue and finish.Then see how you can make it better.

Collapse
 
isaacdlyman profile image
Isaac Lyman

If it's a money-making project, this is actually a good thing--competition means there's a market, people are willing to buy what you're making. You'll have to stand out in some way, of course, but it's much better to compete for your share of a lively market than to be building the world's best app nobody wants.

If it's a learning project, it doesn't much matter what already exists. There are thousands of to-do apps out there, but I built one anyway and learned a ton in the process.

If it's an open-source, "giving back" project, there's an argument to be made for abandoning your own project and helping out with the existing one. But there are also several examples of people building their own thing--a module bundler, a framework, a functional toolkit--that ended up having a major influence on the future of existing projects, or even overtook them to become the default solution.

Don't give up just because it's been done before. Unoriginality is one of the foundations of creativity.

Collapse
 
vuild profile image
Vuild

I've often said...

"Unoriginality is one of the foundations of creativity." 👈🔥 100%.

Collapse
 
yucer profile image
yucer

Good that you have made the attempt of looking for some rule and special cases.

I am with you in that open source project should not be duplicated too much.

Big companies reuse all they propietary software code as much as possible.

We might forget the past but, the fact that we can use opensource projects today was because of the free software community and the preasure they gave to the market.

They could only achieve that because of they phylosophy of build and reuse.

Big companies don't use to make redundant solutions, they just concentrate resources on a good, competitive one.

If the opensource community has twenty projects to make the same thing, that is beauty and very dynamic, but from the economical perspective... "the resources are divided".

Collapse
 
yucer profile image
yucer • Edited

Also there are other costs for the community like the increase of second level dependencies with redundant functionality.

So another criteria would be.. Is it a top level (appliance) project or is it one framework that would be used by many projects?

I would say more basic dependencies sould try to don't repeat themselves.

For the propietary software and componentware marketplace it is something different. I would say.. You have the right to push the market but if you don't contribute back to the opensource projects used, a lot of complexity might accumulate in your customizations and the manteniance costs will grow up to the stress point.

Collapse
 
ogaston profile image
Omar Gaston Chalas

If it was my case, i keep forward. At this point of the mankind there are a lot of thing already done, but you can make it better. Example: MySpace and Facebook.

Collapse
 
mondragonda profile image
Diego Mondragon • Edited

Hehehe, just when you believe you're being a pioneer of the fintech business in your country Facebook announces its Libra coin. In coin-cidence offering all the benefits that you're planning to offer

Collapse
 
mortoray profile image
edA‑qa mort‑ora‑y

You should remind yourself to do better research before your next project. Then consider this found project as though you didn't have your own yet. Avoid the fallacy of sunk costs.

If it does what you need, use it. If it doesn't, keep going. Be wart of Not-Invented-Here syndrome, but don't fall for Invented-Here Syndrome.

Some comments may only be visible to logged-in visitors. Sign in to view all comments.