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

  • Prototyping Augmented Reality

    Something that really frustrates me is that, while I’m excited about the potential AR has for storytelling, I don’t feel like I have really great AR experiences that I can point people to. We know that AR is great for taking a selfie with a Pikachu and it’s pretty good at measuring spaces (as long as your room is really well lit and your phone is fully charged) but beyond that, we’re really still figuring...

    Continue Reading

  • Capturing the Soundfield: Recording Ambisonics for VR

    When building experiences in virtual reality we’re confronted with the challenge of mimicking how sounds hit us in the real world from all directions. One useful tool for us to attempt this mimicry is called a soundfield microphone. We tested one of these microphones to explore how audio plays into building immersive experiences for virtual reality. Approaching ambisonics with the soundfield microphone has become popular in development for VR particularly for 360 videos. With it,...

    Continue Reading

  • How to translate live-spoken human words into computer “truth”

    Our Knight Lab team spent three months in Winter 2018 exploring how to combine various technologies to capture, interpret, and fact check live broadcasts from television news stations, using Amazon’s Alexa personal assistant device as a low-friction way to initiate the process. The ultimate goal was to build an Alexa skill that could be its own form of live, automated fact-checking: cross-referencing a statement from a politician or otherwise newsworthy figure against previously fact-checked statements......

    Continue Reading

  • Northwestern is hiring a CS + Journalism professor

    Work with us at the intersection of media, technology and design.

    Are you interested in working with journalism and computer science students to build innovative media tools, products and apps? Would you like to teach the next generation of media innovators? Do you have a track record building technologies for journalists, publishers, storytellers or media consumers? Northwestern University is recruiting for an assistant or associate professor for computer science AND journalism, who will share an appointment in the Medill School of Journalism and the McCormick School...

    Continue Reading

  • Introducing StorylineJS

    Today we're excited to release a new tool for storytellers.

    StorylineJS makes it easy to tell the story behind a dataset, without the need for programming or data visualization expertise. Just upload your data to Google Sheets, add two columns, and fill in the story on the rows you want to highlight. Set a few configuration options and you have an annotated chart, ready to embed on your website. (And did we mention, it looks great on phones?) As with all of our tools, simplicity...

    Continue Reading

  • Join us in October: NU hosts the Computation + Journalism 2017 symposium

    An exciting lineup of researchers, technologists and journalists will convene in October for Computation + Journalism Symposium 2017 at Northwestern University. Register now and book your hotel rooms for the event, which will take place on Friday, Oct. 13, and Saturday, Oct. 14 in Evanston, IL. Hotel room blocks near campus are filling up fast! Speakers will include: Ashwin Ram, who heads research and development for Amazon’s Alexa artificial intelligence (AI) agent, which powers the...

    Continue Reading

Storytelling Tools

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

View More