UPDATE
I cloned one of these websites! I haven't built a website with pure html, css and js for a while, so I gave #14 Discord a go. This is how it turned out. Not by best work, but I worked pretty fast! 🤣
Discord Cloned
Why clone websites?
Frontend development has everything to do with the client side. Everything the user can see and interact with on their web browser.
Studies show that if a website does not load within 2 seconds, users bounce. How do you think users react if a website design is not up to par with modern designs and trends?
That being said, design has just as much importance as all the frontend programming going on in the background. After all, developers are tasked to implement a professional design into a working website all the time. It's very much an important piece of a frontend developers arsenal. Get good at it!
The goal
Master this frontend skill, by cloning these websites as close to identical as possible.
Try to incorporate functionality, like modals and drop downs. Include responsive design, like mobile navigation, and grids.
All websites listed below are similar, but just different enough to force different design concepts. For example, majority of these websites have:
- Large homepage banners
- Big block designs
- Reversed grid columns
- Full or half page menus
- Sticky or absolute positioned navigations
- Galleries
- Dropdown / accordions
- Minor animations like fade, or type effects
- Two grid columns
- Responsive design and more!
TIP: You can also use web scrapers to download all the assets you find on websites.
Extract Pics
Image Downloader
BONUS 🔥
If you want to go full on leet mode, add javascript functionality. Like routing, dynamic content, 3rd party APIs ( i. google maps ) etc.
⚠️ If you push your project up to the web, make sure to not claim your designs or assets as your own!
Websites for you to clone!
1. Netflix
When logged in Netflix is a pretty simple design. Horizontal rows, galleries, with a big featured banner.
2. Hulu
Just like Netflix, the logged in experience in Hulu is pretty similar. Has a large featured banner, and basically rows of movies or tv shows with every few rows having a featured section.
3. Apple
You'll know what I mean by "big block" design. Apple does this well. It's clean, intuitive and pretty straight forward. If you break everything down into smaller components, you'll see how easy it would be to implement the design.
4. Airbnb
Airbnb is such a beautiful website! The assets are amazing. Break this design down into smaller components, and you'll see how it's just a bunch of big rows and small rows. Blocks either spanning multiple columns, or the entire row.
5. SpaceX
Super easy design. SpaceX is basically multiple fullscreen images with fade up content and a link section.
6. NVIDIA
Another easy, but professional looking design. Just a banner, grid layout, and rows.
7. Razer
A mix of a large home banner, full page featured sections, and big box design. Have fun with this sick color scheme!
8. Salesforce
Another great website to polish your css skills. A mix of banners, rows, columns, reverse columns, big box design, but also has featured list, multiple call to actions, and fun images.
9. Adobe
Another big box design. But also features some cool background gradients.
10. Microsoft
Features a modal, big banners, multiple featured sections, big call to action. Pretty straight forward, but professional looking design.
11. Blockchain
Learn about blockchain while you clone this one. This design incorporates a few more difficult design concepts. It also features a big banner, call to actions, gradient effects, but also has big box designs as links and dynamic accordions. So not only does the accordion tab drop more content below it, it changes the image beside it! You probably have a tool of choice for this 🤔
12. Paypal
Features a big banner, call to action, and reverse rows. Straight forward, but effective design.
13. Slack
Slack features a fun homepage banner. In the banner is a toast banner, a call to action, a google sign in button, and a row of icons featuring companies that use Slack. The rest of the layout is a simple grid system with a typical reverse row design. Minimal animations, like hover effects.
14. Discord
Probably my favorite looking website on the list. It has fun vibrant colors, a minimalistic homepage banner featuring a call to action, reverse row grid layout, and a nice big featured section.
15. Amazon
The king of e-commerce. This is a straight up "show off" mockup. If you can nail Amazons design, your frontend dev design skills are up to industry standard. Features a slightly more complex grid layout, with content spanning one or more rows and columns. Has a search bar in the navigation. Also has recommended section, hover effects, carousels, etc. Have fun with this behemoth!
16. Playstation
Playstation.com has a nice large homepage banner featuring a slide show with a nice fade in effect. You can code this from scratch, or use your favorite library. Cloning website really gets you thinking about your tools. Also features single row gallery, large featured banners, dynamic content on click, multiple full screen call to actions, and minor animations. This is probably my second favorite looking website. Really enjoy the subtle animations and UI. It also really helps you polish multiple design concepts.
17. Nintendo
Ahhhh, childhood memories! Well, kind of, more of a Sega player. But I digress! Nintendo.com has a nice colorful homepage banner with a minimal call to action beneath it. Has a continuously scrolling single row gallery which is new on the list. So this will offer some great practice. Again, you can use a library for this as you don't need to re-create the wheel every time. Other than that, straight forward big box grid design and single row galleries. One row will help you practice "quick favoriting" items.
Conclusion! 😎
That's a wrap on "Master Frontend Development 💻 By Cloning These Websites 💯" I really believe cloning one or multiple of these website, will drastically improve your CSS. There's a lot of analytical thinking that comes with cloning websites, as you break down designs from larger to smaller components. And you also need to think about the best tools as you approach new problems. Then there is responsive design. A mobile or desktop first approach? For example, do you think Microsoft.com should prioritize the desktop or mobile experience? If it was up to me, I'd like to think most people wait till they can access a desktop to make very large purchases like desktops and laptops. Therefore I'd probably prioritize the desktop. This is a big part of a Frontend Developers job! Whether you're freelancing or working for a company. Designs are either up to you, or by professional designers. Master this part of Frontend Development!
Follow me on Twitter
for byte-sized web dev content!
Top comments (46)
Wow thats Great! I never knew that website like extract.pics/, etc. even existed Thankyou so much for sharing it 😊. I try to make website clone but for that i need to manually download each image. But this made my life easier lol
Ikr! 🔥 It makes cloning websites that much easier. And completely removes the obstacle of not having the same assets! You just get to code it! Thanks for dropping by and sharing 💯✌️
😊
Nice! This is a very good idea and websites shared are also good to clone. Furthermore, you can go to this link to get any resources related to Front-End Web Development and learning code.
resourcesmark.vercel.app/
Thank you 💯 Appreciate you dropping by and sharing!
Hey chris thank you for the suggestions. I wanted to ask you that while cloning should I use my brain and use google to code or should I just see and write from inspect element. As I can easily understand the code which is written. Currently I am cloning apple website.
Looking for an reply!!!
Hey there, thanks for dropping by 👋
Good question. Usually, I try my best to just analyze the website. Starting from big, then begin working my down to smaller components. So if there is a 'section' break that section down. Whats in the section. Maybe a banner? A banner with children. Theres probably a container containing the children. Should you use flexbox or grid here?
(if your not a complete beginner, you MUST not read on! 🤣 )
Since you're doing apples website, let's take a look at the navbar. The Navbar is full width. It's 100% across, or 100vw. However its contents are contained. So it's probably safe to assume theres a container. So far, we have a navbar, and a container, and nav elements. So you can give the container some pre-defined widths, maybe something like max-width: "1400px" with a margin: "0 auto". Some padding, 1rem maybe. Then, set the parent container of the nav elements, "container" in this case, to flex. Then add justify-content: "center", align-items: "center", and flex-direction: "column." Remember I said mobile first approach is easier, at least IMO. So it looks awkward now, but set a responsive query as easy as this: @media screen and (min-width: 790px) { flex-direction: "row" }. Then, once the screen size drops below this, another another media query somewhere, or add javascript, and make the navbar disappear completely. Then in the DOM, create a separate, mobile menu, that only displays at the correct breakpoint. This is if your'e working with plain HTML and CSS anyway. Otherwise, if your'e using javascript, you can simply use javascript and state to toggle things 😎 .
One last section, if you scroll down to the "Apple event" and "Fitness+", etc section below the apple watch, you can see it's just a section, with small components. Break this down in your head mentally. It's just a full-width, 2 column section, containing big blocks with some content inside. Turn the section into a grid, with either flex or grid. So maybe a display: "grid", grid-template-columns: "1fr 1fr". Inside each block is a flex container. So something like a display: "flex" and justify-content: "flex-start" or "flex-end" depending. Each block has a background-image, probably set to a background-size of "cover" and positioned "center". The text is also contained, with a max-width of something like 300 pixels?
I could be off, as I'm just glancing at once screen and typing on another LOL. But I hope this helps you. This is my mental process of I break down over-complicated layouts! Give a share once your done i'd love to check it out!
Thanx for the helping me out on this.
Hey! Nice idea. But do you mean doing these webs static with only HTML and CSS or using something like React, Angular + CSS and API's??
Thx!! 😇
Hey there ✌️ Appreciate you dropping by! Well, I think it depends on your level of experience. There is no problem with just using HTML and CSS alone 👌 However, you may not be able to execute some of the "functionality" that is required to do so, but that is totally fine. But if you do have a framework under your belt, I'd say clone a website or two using both! Clone one with HTML and CSS, and another with a framework. Use a third party API, get mock data, get creative! So power to ya if you can use Angular! 💯🔥
Impossible now to work with frameworks that don't have Typescript, Rxjs and Observables built in.. it feels so dated to work with promises now
I'd say learning typescript is worth it! It also stands out amongst job candidates. Maybe look into Vite, by Evan You. It's an extremely fun frontend tool, that allows you to switch from .js to .ts and back on the fly. No set up required. As for Promises, I think with es17 and async await is going no where soon. 💯
You did a great job! Really nice suggestion!
I really appreciate that! 👌 Means a lot! Thanks for dropping by 💯✌️
Cool. Didn't know that there is extract pics for this. Gonna give it a try.
Also I will start convert those to react code for my starter and portfolio project.
Thanks, really appreciated!
It's friggin' awesome right!? Have fun! You're building a react portfolio for yourself, or are you building a boiler-plate in React for other people!??? I'm doing something similar if you are! Good luck ✌️
Actually I'm building react portfolio, but I'm still quite clueless when doing this.
Maybe I should start with create-react-app first.
That's quite interesting! Good luck for you too.
Sweet! 😎 It does NOT take long to get the basics and fundamentals of React down. I would really recommend the official React docs and no doubt, use create-react-app. It's the most painless way to start. Also get a hang of the basics in Javascript. Definitely understand
['DOM', 'variables', 'functions', 'loops', 'objects']
and you'll pick it up soon. Unfortunately, the only React tutorials I currently have expect some knowledge in React, andincorporate some other styling library, however I'd definitely recommend: Brad Traversey and The Net Ninja on Youtube. The two are extremely reliable learning resources! Have fun 💯
@hyggedev Hey Chris, this is an awesome post and it inspired me to do it myself as I'm a backend developer and I'm thinking of doing this to up my CSS/JS game. Isn't it some kind of an copyright violation, if I were to use their images/colors?
Hey 👋. That's cool! It definitely offers a great amount of practice.
Hmm, I don't think it counts as a copyright infringement if you are cloning for the sake of practice. For instance, you would not claim to be the owner or designer of the original design, nor would you be redistributing your design for sale.
From what I understand, images on the web can be downloaded and "used", but can not be claimed as their own without attribution or permission. And of course it cannot be re-sold.
If I clone a website, I will specifically add an attribution to the owner to avoid any possible confusion. I will also clearly say something along the lines of, "Clone of Airbnb.com", "This project showcases my ability to take a professional design and implement into a functional website with custom html and css.."
Don't take my word for it. I would definitely do a quick search, but I believe if you take the right precautions, it's all good.
I hope that clears things up ✌️
Really nice suggestion. (๑♡⌓♡๑)
Hey, thanks for dropping by 👋 Appreciate it 😉
Nice article, thank you!
Thank you for dropping by! ✌️
I never knew Nwicode - Mobile App Builder PRO - Affiliate Information ever existed
You can try it too
bit.ly/3hCNw05