Learn React with Copywork
daveceddia.com
daveceddia.com
One tremendous benefit was that it made it so easy to focus on just the "learning part". With a clear example I was trying to copy, it was surprising how much easier it made it to know what exact "target" I was trying to achieve, and to slowly pick apart all the things that I didn't yet know. "Hmmm, when you click the player's name a sub-view scrolls down to reveal hole-by-hole details.... ummm.... so how do I animate things?" And on and on. Often when learning some of this stuff, you have to kind fight your way through the weeds, and it is oh so tempting in these side projects to then just change the spec all of a sudden. Trying to copy the app kinda held my feet to the fire many times, and gave me the persistence to fight through it.
The other benefit was that since I was learning by copying a polished and well-thought out UX/UI, every step of the way felt like real progress, and not just like I had spent all of this time grokking this thing only for it to look/feel like shit.
- Learn Angular with Copywork.
- Learn Vue with Copywork.
- Learn Cycle.js with Copywork.
- Learn Purescript with Copywork.
...
- Learn CSS with Copywork.
I debated calling it "Learn UI Development with Copywork" or something broader like that, but I think people have an easier time identifying/benefitting from a thing when it fits their circumstances more closely.
It's basically "learn by building things" which isn't particularly insightful or novel. I'd argue that building something close to what you are invested in / care about is the key element of any learning process.
When copying, you can immediately see where your expert has done something differently from you. And you can either learn to do it their way, or understand how different methods lead to different outcomes, and so consciously build your own style.
It's the difference between "build a social network app" and "build Twitter." The former could be anything. There are a ton of decisions rolled up in "a social network app."
I guess an analogy might be, learning woodworking by building a tried-and-true beginner project vs. learning woodworking by building a custom-designed archway. Sure, you'll learn a ton with that archway, but maybe start with the easier thing, to learn the tools and learn how to measure and cut. Then go build the archway.
What does it show, when you just have copied websites in your portfolio? And what is the problem to _almost_ copy (e.g. create a twitter clone, but allow to use only images, or some other limitation)?
So I believe that one should be inspired by existing solutions, but don't copy it blindly. Don't know nice colour scheme? Just go to bootstrap and copy their colours; or simply get it from a website, which design you like.
As Clark Terry said about the road to jazz improv: "Imitate, assimilate and innovate."
[0] https://www.smashingmagazine.com/2017/02/improving-ui-design...
This isn't copywork in the sense of "I don't know how to design so I'll copy Twitter's design"... it's more like, "I don't know what kind of apps to build to get better, so I'll copy an existing one for practice."