DEV Community

I built a DEV.to clone from scratch (including the API!) πŸ‘¨β€πŸ’»πŸ₯³

Eknoorpreet Singh on April 07, 2022

Hey guys, I wanted to showcase my latest project: A DEV clone. Why I made it My motivation behind the project was simple: I had learnt...
Collapse
 
ben profile image
Ben Halpern

Quite impressive

Collapse
 
eknoor4197 profile image
Eknoorpreet Singh

Thanks a lot, Ben!

Collapse
 
dumboprogrammer profile image
Tawhid

Hey Ben you are here.
How's everything going man?

Collapse
 
ben profile image
Ben Halpern

Things are good, you?

Thread Thread
 
dumboprogrammer profile image
Tawhid

Glad to hear,I'm also doing good.

Collapse
 
liftoffstudios profile image
Liftoff Studios

Impressive !

Collapse
 
ninjaasmoke profile image
Nithin Sai K J

Quite ballsy of you to post about it on dev.to

But, amazing work

Collapse
 
eknoor4197 profile image
Eknoorpreet Singh

Hahaha!
Well, Ben approved it so it's all good :)

Collapse
 
donnyroufs profile image
donny roufs

Great job. Have a look at abstracting logic from your controllers and writing tests!

Collapse
 
eknoor4197 profile image
Eknoorpreet Singh

Yes, I plan to refactor code and add tests.
Thanks!

Collapse
 
strongunsullied profile image
Kasope Johnson

A beautiful attempt! Well done

Collapse
 
vulcanwm profile image
Medea

Woah nice!

Collapse
 
eknoor4197 profile image
Eknoorpreet Singh

Thanks!

Collapse
 
vulcanwm profile image
Medea

No problem! This is really impressive

Collapse
 
nickytonline profile image
Nick Taylor

Nice!

A kangaroo playing an electric guitar

Collapse
 
andrewbaisden profile image
Andrew Baisden

Incredible that must have taken a long time to perfect 🀩

Collapse
 
binoybarnabas profile image
Binoy Barnabas

looks like we got a twin for dev.to . well done mate!

Collapse
 
papilocloud profile image
papilo-cloud

Awesome

Collapse
 
bellatrix profile image
Sakshi

Woah!!

Collapse
 
tmchuynh profile image
Tina Huynh

Wow! That's incredible!

Collapse
 
ddaypunk profile image
Andy Delso

Really neat project and well written summary!

Collapse
 
errorgamer2000 profile image
ErrorGamer2000

Unicorn (I believe)eans it is a one-of-a-kind article that is of extremely rare quality.

Collapse
 
drfcozapata profile image
Francisco Zapata

BRUTAL!!!!!
Congrats bro. I'll like be like you when I growth up. πŸ€“

Collapse
 
shafspecs profile image
Abdur-Rahman

Awesome! Fantastic aesthetics too!

Collapse
 
yashkapure06 profile image
Yash Kapure

This is Awesome!!!!✨πŸ”₯❀

Collapse
 
nottheotaku profile image
Soham

Whoa awesome!

Collapse
 
timhuang profile image
Timothy Huang

Very impressive. Thanks for sharing.

Collapse
 
prakhart111 profile image
Prakhar Tandon

Stunning man !

Collapse
 
rajeshroyal profile image
Rajesh Royal

impressive brother

Collapse
 
shriekdj profile image
Shrikant Dhayje

impressive

Collapse
 
fralps profile image
François

Awesome! πŸŽ‰

Collapse
 
dhravya profile image
Dhravya

Woaaaaah this one is tooooo good!

Collapse
 
jonidecarvalho profile image
Joni de Carvalho

Wp dud. Congrantz!!

Collapse
 
yomassive profile image
Andrew Belykh

I cloned your clone as well.
Thanks.

Collapse
 
kiril6 profile image
Kiril Delovski

Okey I see you cloned a website to make look alike and now what with that effort? I am curious because you spent a lot of time and was it productive? I understand to spend dedication, time and energy on something for example some project that will be found a real need and someone to use it, but this, doesn't seem to have a reason. Ps. only my personal opinion.

Collapse
 
eknoor4197 profile image
Eknoorpreet Singh • Edited

Hey, thanks for your honest opinion.

"I am curious because you spent a lot of time and was it productive?"

It was. 100%. Before making this, I had no idea how so many things worked. Cloning is the best way of learning (because you already have the design and features to implement) and I can show employers what I'm capable of. This person got an interview with Netflix by creating a Netflix UI clone. And as for me: I intended to start applying in May but have already got three interviews.

"I understand to spend dedication, time and energy on something for example some project that will be found a real need and someone to use it"

First of all, I'm a developer and not an entrepreneur. I could've thought about something original with a crappy design, coded halfway and given up realizing a better solution exists and no one will use mine. Not everything needs to fill a need. These are for learning purposes. I've always struggled with CSS and now I'm significantly better at it.

These users spent a huge amount of time and effort replicating the Medium clap effect and Netflix Intro Animation and learned a lot. Would you call that (and furthermore, majority of GitHub repos and Codepens because of no users) unproductive?

Secondly, everyone clones at some point. A to-do list has been cloned a million times :)

And as for the time and effort, it took me about 2 months because I worked on it on and off. Would've taken much lesser if I planned better on what features and design to implement beforehand (I'm 90% done with my second project in just 5 days!)

Apologies for such a long comment but I figured I'd give you a proper explanation since you're genuinely curious 😁

Collapse
 
borges23leila profile image
πŸ¦‰ Leila Borges • Edited

Fiquei impressionado com o projeto, e mais ainda como consegue se expressar, com certeza terΓ‘ muito sucesso na sua carreira.

Thread Thread
 
eknoor4197 profile image
Eknoorpreet Singh

Thanks a lot! Your comment made my day :)

Collapse
 
kiril6 profile image
Kiril Delovski

For me personally and on a basis of experience of 15 years in IT field, to be honest that is not brainiac, that is stupid to do something like clonning and a reference to someone else who did something similar.

What I suggest you to do is to prove your skills on projects that you can contribute to, there are many github projects that needs a contributions like dev.to for example, or others where the community will be happy and satissfied, and you will be better recognized by the community than by clonning a website, because clonning can do mainly everyone that has available time and dedication to it.

Everything can be learnt! Today there are so many people which became developers but they come from different work areas like (management, marketing, financial, plumber, etc.), and besides this not everyone succeeds because their mind and habit are not meant for being a developers and sitting 10 and more hours in front of screen per day, some of them yes, they succeed.

My advice: spend your time efficiant and contribute for the community and get recognized by them.

You can also contribute to answering developer questions on stackoverflow.
Make a portfolio of projects and buld up your github with many different projects.

Just a suggestion where you should head yourself.

That's my final words.
Best regards :)

Thread Thread
 
eknoor4197 profile image
Eknoorpreet Singh

to be honest that is not brainiac, that is stupid to do something like clonning and a reference to someone else who did something similar.

Really? What about your Todo list? Why did you "waste your time" in making something "stupid" (your words, not mine) that has literally been cloned a million times, is every beginner's first project and no one wants to make anymore? Honestly, you lose the entire argument right here. Furthermore, If I were an interviewer, I would definitely hire the developer who created this Notion clone over you. Both are (to-do) clones but the latter is better in every way (features/design). Feel free to prove otherwise.

because clonning can do mainly everyone that has available time and dedication to it.

You're significantly underestimating the effort it takes to make something like that. On the other hand, a to-do list is actually something that anyone can make. But that doesn't stop you from making a to-do clone (even after a decade of experience) but you advise others against cloning (Why? Because it's a bigger project?). Only a person who has never made anything like that will say such a thing.

not everyone succeeds because their mind and habit are not meant for being a developers

Not sure what you wanted to say here but if you're saying that a "true" developer should always make something original: This guy created a WeChat clone. He's probably not a developer in your eyes but that doesn't matter as he's worked at NASA and Google as an engineer. Also, see the contributors list to see how the community recognized him :)

My advice: spend your time efficiant and contribute for the community and get recognized by them.

I do contribute to open-source projects whenever I get the time. Making this project open-source is also my contribution to the community. And I was so much more recognized by the community via this clone (you can check out the GitHub). People who want to make social-media websites are forking my project so they can learn and understand how it's done.

In my eyes, anyone who makes makes something with code is a developer. I don't judge you for cloning a to-do list (that has been cloned a million times!) so you shouldn't judge me for cloning DEV (that has only been cloned by me!)

Collapse
 
trangchongcheng profile image
cucheng

Perfect. I know you are lost 2 month to finish this project.It is impressive.Because I have viewed you source code and you don't use any libs UI. I wonder How long experience? How many hours do you spend each day to develop this project?

I have built a website from dev.to idea.I using UI framework is ChakraUi and use Strapi framework for backend.But I took 4 month to complete.

That is: mytopic.vn

Collapse
 
vishnuxx profile image
Vishnuxx

Wow interesting! Would like to know the time you took to finish this project.

Collapse
 
abdoulrasheed profile image
Abdulrasheed Ibrahim

Wow, that's what i call a real clone.

Great one....is it live?

Collapse
 
eknoor4197 profile image
Eknoorpreet Singh
Collapse
 
mayankkalbhor profile image
Mayank K

did you also developed the filtering feature like relevant, latest or top

Thread Thread
 
eknoor4197 profile image
Eknoorpreet Singh

No, I didn't. DEV includes so much more like E-commerce, videos, etc. and somewhere, I had to draw the line. After all, it's not like anyone will use mine :)

Collapse
 
arnavvashisth profile image
Nalanda Technologies

A very good app.. why not build a platform like dev.to for hardware or animators....

Collapse
 
arnavvashisth profile image
Nalanda Technologies

But must say impressive

Collapse
 
sebastien_rodrigues_37 profile image
Sebastien Rodrigues

How many time to do it?

Collapse
 
avenbreaks profile image
Cici Sabrina

Impressive !

Collapse
 
tsolan profile image
Eugene

Great! How much time has it taken, if it's not a big secret?

Collapse
 
k_penguin_sato profile image
K-Sato

Looks good!

Collapse
 
omps profile image
Om Prakash Singh

Just a question though. When you decide to clone a website, how do you know what tech its using. Or is it just you clone the website with the tech you know?

Collapse
 
eknoor4197 profile image
Eknoorpreet Singh

Hey,
I don't clone a website based on its stack. I make a website based on the tech I want to learn. For example, I wanted to learn fullstack, so I created this clone. Now, I'm creating a Medium clone to learn Next.js. In my third project, I'll use Postgres.

On a side note, you can use Wappalyzer to know the stack used by a company :)

Collapse
 
liviufromendtest profile image
Liviu Lupei

Such an awesome idea.
How long did it take you?

Collapse
 
sandrinjoy profile image
Sandrin Joy

how are you getting real time notifcations?

Collapse
 
eknoor4197 profile image
Eknoorpreet Singh

I used Socket.io

Collapse
 
maplebananas profile image
Cats & Cookies

Well done, looks great! You're going places buddy :) Am I allowed to run this on my own server and play with it?

Collapse
 
ivan_jrmc profile image
Ivan Jeremic

Try Fastify.

Collapse
 
hanzla-baig profile image
Hanzla Baig

Awesome

Collapse
 
satnium profile image
Satyam Agnihotri

A great way to showcase the project.

Collapse
 
hannanbutt1256 profile image
Hannan Butt

Hi ,
Can you tell which markdown editor you used?\