Learning by copying: Why pulling inspiration from existing ideas is great

Back in September I finally started to build my portfolio site from scratch. This was back when the extent of my coding knowledge pretty much ended at how to save a document as an HTML page. Making my own website? Forget it; I had no idea where or how to start.

Former student fellow KK Rebecca Lai suggested I find a bunch of websites, study the elements I liked through the console (the box that appears when you right click in the browser and “Inspect Element”), and try to recreate them.

I started by examining her portfolio, moved on to the portfolios of other student fellows, then further into whatever I could find through Google. The process helped me see concrete examples and visualize what I was trying to learn. My website now is more or less a melting pot of all cool things I found on about 40 websites along with my own additions and stylistic choices and is completely different from any of them.

With all that in mind, I wanted to share how seeking inspiration from existing projects can help you.

  1. Code debugging - As an inexperienced coder, I often find myself running into errors when trying to recreate things I’ve seen. By studying existing code from a source that already functions, I can distance myself from my code and see a completely different train of thought. This helps me understand the strengths and weaknesses of my original logic and proceed from there.
  2. Smartest classmate - Along those same lines, learning by looking at others' work is a way to ask for help without actually asking for it. You know when teachers say “Ask your classmates first if you have a question”? Well, in this case, the entire internet is the all-knowing classmate and answers are just a few clicks away. If you’re having trouble, check out Suyeon Son's tips on searching for code solutions.
  3. Personal toolkit - When I want to create something, I study existing code line by line to understand its flow and Google any terms I don’t know, which is the first step to adding it to my toolkit so I can use it later. When I was building my site, I came across Sarah Adler's site and like the way she used the FancyBox function to display and navigate through her print designs. In this case I learned not only about the FancyBox function, but also how to download jQuery libraries, link to them and call the function. Here’s how it turned out!
    FancyBox FancyBox
  4. Building blocks - Learning by copying is also about observing and taking notice of the small details that someone else thought about. Although the end product isn't likely the same as the original (which it shouldn’t be), looking at someone else's code is a good way to get into the habit of paying attention to detail. I keep a mental note of my favorite things to use as building blocks to create new things. It’s like never starting from scratch (good for coding, bad for baked goods).

    [caption id="attachment_6471" align="alignnone" width="961"]Navigation Bar The author's navigation bar, inspired by Marc Thomas.[/caption]

    Take my navigation bar for example: I took inspiration from the portfolio of Marc Thomas, who has animated icons on his site. Using his idea as a starting point, I drew my own illustrations figured out how to animate them on hover.

  5. Landmarker - Teaching myself how to build projects often feels like I’m going down an unpaved road. I have a constantly growing bookmarks folder of cool things I want to copy, which helps me set goals for myself and mark my progress. It’s also helped me discover the styles I like and develop my own taste for online content.


About the author

Ashley Wu

Undergraduate Fellow

Designing, developing and studying journalism at Northwestern. Also constantly scouting the campus for free food.

Latest Posts

Storytelling Tools

We build easy-to-use tools that can help you tell better stories.

View More