Charles Villard

Copy other people's copywork

Posted April 22, 2024, updated on April 22, 2024

After I updated my post about replacing ESLint with Biome, I asked in a Discord server how to set up my RSS feed to share that a post was updated. Cassidy pointed me in the right direction and shared with me her entire approach. She sent me links to everything including query schemas, conditional logic, her XML setup, everything to help me get an “updated” property on my RSS feed. I let her know I was grateful. “This is really cool, thank you! I’m stealing this during lunch.”

To write that phrase, to say I’m going to steal someone else’s idea, openly, might have scared me early in my career. I think it scares most people today, especially beginners.

A lot of conversation has come up about retaking the web and building things for fun as of late. Salma Alma-Naylor has talked about it. Jason Lengstorf basically lives it every day. This discourse became personally ironic to me when I started looking up old Frontend Design Conference content, of which I’ll be attending the 2024 edition this week, and saw that Adam Kuhn spoke at the last one about the same thing.

They’re right. Web developers should build all kinds of useless fun things and make the Internet our own. Not just SaaS clones of eCommerce stores, but fun, impractical websites and applications. These projects are how web developers learn the basics and more advanced parts of our digital practice.

However, I think there’s something we also need to add to that discussion, or at least say it out loud once again, because the algorithms that currently govern the Internet might not. We do ourselves, and especially those entering the space, a service by giving us and them permission to build whatever they want. That comes with a disservice, however, if we don’t address it. We as a community can give all the permission in the world to build, but we also need to give permission to steal.

Overwhelm

One of the first things I wanted to build when I started learning web development was a website for myself. My first thought was, I better look up some inspiration and see what others have done. What do they post on their portfolios?

One Google search later and my early-career web developer brain was dumbfounded. The top results were basically listicles featuring amazing, unique, well-crafted portfolios. Crawling through Twitter bios uncovered even more, chockfull of insightful blog posts about their experiences and their work. So much inspiration! Whatever could I do with it all?!

I saved them all to a folder in the bookmarks and called it a day.

It was too much. All of these websites expressed things about these developers and engineers that I just didn’t believe I had: personality, insight, experience, confidence, skill. There was no way I could build something comparable.

Eventually, I worked out a website based on a Jekyll theme and made it my own. It featured a picture of myself, had some blog posts, and a page for my resume. that was about it. I tried to believe it was okay, and people were encouraging, but I knew what was out there and I had no idea how to get that good.

Copycat

It was by happenstance that I came across Dan Mall’s blog post about stealing your way to designs. In this piece, Dan’s first step in the process is copywork, taking something already set in stone and making it again. This post was encouraging because, at the time, I had an inkling of a talk idea that I never gave and this made me feel like I was on the right track. The point of the talk was to give yourself permission to do the following:

  • Lie to yourself that you can build great things and work towards proving myself right
  • Cheat with tools and abstractions until you feel ready to learn what they provide and how they worked
  • Steal inspiration from those around you and see how you might build somthing.

The talk sounded good in my head. It was freeing to think I could give myself that permission, to crawl through and imitate other people’s code and not worry about whether what I’m using it for was original or unique or innovative. Alas, in the same way that I never gave that talk, I never followed my own advice. I never worked that muscle and developed projects on the side. I never wrote about the niche technical details, or at least now I’m trying to and it’s really, really hard.

We already have it

The funny thing about web development is that we already have the permission to “steal,” in a way. Our entire industry is built on the shoulders of open-source software development, the contributions of many developers before us who cribbed from each other and learned collectively. That history comes with its twists and turns, but the sum of it is that our community is built on borrowed code and ideas.

We’re seeing history repeat itself as new frontend frameworks help websites go from servers, to statically generated, to single-page applications, to server-side rendered again. All the while, they’re borrowing ideas, patterns, and constructs from one another. Heck, Fred Schott admitted to asking Ryan Carniato for ideas. This is the norm! So why shouldn’t it be the norm to try and build your own version of a silly piano or taco builder?

As we try and retake the Internet and build cool things again, I simply want to help others get ahead of this analysis paralysis now. If you know someone who is staring at that blank canvas, who wants to build a new Geocities, or a Bridgerton Binge Tracker in preparation for season three, and they don’t have a direction to start with, send them this with a message: it’s okay to steal inspiration.

I mean, don’t be a jerk and copy someone else’s work wholesale. It’d be pretty easy to spot if you did.

But steal ideas. Steal patterns. Steal snippets. Learn what the code does and why it works. This kind of copywork will only help you grow.

Oh, and Cassidy’s response when I said I was stealing it? “You are very welcome!!”