{"id":306792,"date":"2020-04-17T14:50:04","date_gmt":"2020-04-17T21:50:04","guid":{"rendered":"https:\/\/css-tricks.com\/?p=306792"},"modified":"2020-04-17T14:50:06","modified_gmt":"2020-04-17T21:50:06","slug":"front-end-challenges","status":"publish","type":"post","link":"https:\/\/css-tricks.com\/front-end-challenges\/","title":{"rendered":"Front-End Challenges"},"content":{"rendered":"\n

My favorite way to level up as a front-end developer is to do the work. Literally just build websites<\/a>. If you can do it for money, great, you should. If the websites you make can help yourself or anyone else you care about, then that’s also great. In lieu of that, you can also make things simply for the sake of making them, and you’ll still level up. It’s certainly better than just reading about things!<\/p>\n\n\n\n

Here’s some resources that encourage you to level up by building things for the sake of leveling up, if you’re up to it.<\/p>\n\n\n\n\n\n\n

Frontend Mentor<\/a><\/h3>\n\n\n
\n
\n
\"\"<\/a><\/figure>\n<\/div>\n\n\n\n
\n

It looks like this recently launched, and it’s what inspired this post. This idea of giving people front-end work to do is enough to build a business around! Some of them are free, and some of them are not.<\/p>\n<\/div>\n<\/div>\n\n\n

HackerRank<\/a><\/h3>\n\n\n
\n
\n
\"\"<\/a><\/figure>\n<\/div>\n\n\n\n
\n

Other businesses have centered themselves around this too. HackerRank<\/a> is all about getting jobs and hiring, so they’ve got a very strong agenda, but part of the way they do that is putting you through these skill tests (solving challenges) which are meant to asses you, but you can certainly learn from them too.<\/p>\n\n\n\n

Others like this: Codewars<\/a>, ChallengeRocket<\/a>, Codesignal<\/a>, Topcoder<\/a> (Jeepers, VCs must love this idea.)<\/p>\n<\/div>\n<\/div>\n\n\n

Coderbyte<\/a><\/h3>\n\n\n
\n
\n
\"\"<\/a><\/figure>\n<\/div>\n\n\n\n
\n

Coderbyte<\/a> has paid plans too, and they’re designed to leveling up your job interviewing skills with challenges.<\/p>\n\n\n\n

Classic situation: sometimes the site is the product and you’re the customer, and sometimes hiring companies are the customer and you’re the product.<\/p>\n<\/div>\n<\/div>\n\n\n

Build Dribbble shots<\/a><\/h3>\n\n\n
\n
\n
\"\"<\/a><\/figure>\n<\/div>\n\n\n\n
\n

Here’s the classic move: find something you like on Dribbble<\/a>, rebuild it. The @keyframers<\/a> often do it. Tim Evko’s Practice<\/a> site used to pick a shot for you (along with random GitHub issues and random coding challenges), but the Dribbble part appears broken at the moment. The other stuff still works! <\/p>\n\n\n\n

Matt Delac used to do a series<\/a> along these lines. Indrek Lasn also does it in Medium posts<\/a>.<\/p>\n<\/div>\n<\/div>\n\n\n

Front-End Challenges Club<\/a><\/h3>\n\n\n
\n
\n
\"\"<\/a><\/figure>\n<\/div>\n\n\n\n
\n

Andy Bell did a Front-End Challenges Club for a while, and while I think it’s on break, you can view the archives<\/a>.<\/p>\n<\/div>\n<\/div>\n\n\n

CodePen Challenges<\/a><\/h3>\n\n\n
\n
\n
\"\"<\/a><\/figure>\n<\/div>\n\n\n\n
\n

CodePen Challenges<\/a> run every week are are a prompt (along with ideas and resources) for building whatever you like. Low key.<\/p>\n<\/div>\n<\/div>\n\n\n

100 Days of CSS Challenge<\/a><\/h3>\n\n\n
\n
\n
\"\"<\/a><\/figure>\n<\/div>\n\n\n\n
\n

Matthias Martin<\/a> created 100 days of CSS challenges<\/a>. They are all there for you to see, including entries from other people \u2014 but the point is for you to give it a shot yourself, of course.<\/p>\n<\/div>\n<\/div>\n\n\n

Daily UI<\/a><\/h3>\n\n\n
\n
\n
\"\"<\/a><\/figure>\n<\/div>\n\n\n\n
\n

Daily UI<\/a> challenges gives you a new challenge every day that starts when you sign up (and it’s free). Lots of people complete the challenge with code<\/a>.<\/p>\n<\/div>\n<\/div>\n\n\n

Frontloops<\/a><\/h3>\n\n\n
\n
\n
\"\"<\/a><\/figure>\n<\/div>\n\n\n\n
\n

Frontloops<\/a> charges $19 for 30 challenges, which includes information, advice, assets, and a solution. <\/p>\n<\/div>\n<\/div>\n\n\n

CSSBattle<\/a><\/h3>\n\n\n
\n
\n
\"\"<\/a><\/figure>\n<\/div>\n\n\n\n
\n

If your idea of a fun challenge is mimicking a design in as few bytes of code as possible, CSSBattle<\/a> will appeal to you. <\/p>\n\n\n\n

Writing things as tersely as possible is often called “Code Golf” and there is a challenge site for that<\/a> too. <\/p>\n<\/div>\n<\/div>\n\n\n

Ace Front End<\/a><\/h3>\n\n\n
\n
\n
\"\"<\/a><\/figure>\n<\/div>\n\n\n\n
\n

Ace Front End<\/a> has challenges that focus specifically on vanilla HTML, CSS, and JavaScript.<\/p>\n\n\n\n

I just happened to notice that the first challenge is a drop down navigation menu, and it doesn’t handle things like aria-expanded<\/code>. I’m not entirely sure how big of a problem that is and I don’t mean to pick on Ace Front End \u2014 it’s just a reminder that there could be problems with any of these challenges. But that doesn’t mean you can’t learn something from them.<\/p>\n<\/div>\n<\/div>\n\n\n

Codier<\/a><\/h3>\n\n\n
\n
\n
\"\"<\/a><\/figure>\n\n\n\n

<\/p>\n<\/div>\n\n\n\n

\n

Codier<\/a> has public challenges that include solutions posted by other users.<\/p>\n<\/div>\n<\/div>\n\n\n

rendezvous with cassidoo<\/a><\/h3>\n\n\n
\n
\n
\"\"<\/a><\/figure>\n<\/div>\n\n\n\n
\n

Cassidy’s weekly newsletter<\/a> includes a challenge in every issue.<\/p>\n<\/div>\n<\/div>\n\n\n\n


\n\n\n\n


Rina Diane Caballar quoting Tim Carry in
Extending the Limits of CSS<\/a>:<\/p>\n\n\n\n

Carry\u2019s advice is to start with a real-world object\u2014the interface of a gaming console or a calculator, for example\u2014and to try to recreate it using only CSS. \u201cA great way to push the boundaries with a language is to make something that the language wasn\u2019t meant to be doing in the first place,\u201d<\/em> he says.<\/p><\/blockquote>\n\n\n\n

<\/p>\n","protected":false},"excerpt":{"rendered":"

My favorite way to level up as a front-end developer is to do the work. Literally just build websites. If you can do it for money, great, you should. If the websites you make can help yourself or anyone else you care about, then that’s also great. In lieu of that, you can also make […]<\/p>\n","protected":false},"author":3,"featured_media":306940,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"sig_custom_text":"","sig_image_type":"featured-image","sig_custom_image":0,"sig_is_disabled":false,"inline_featured_image":false,"c2c_always_allow_admin_comments":false,"footnotes":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":[]},"categories":[4],"tags":[870],"jetpack_publicize_connections":[],"acf":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2020\/04\/challenge-css.png?fit=1200%2C600&ssl=1","jetpack-related-posts":[{"id":204430,"url":"https:\/\/css-tricks.com\/http-203-progressive-loading\/","url_meta":{"origin":306792,"position":0},"title":"HTTP 203: Progressive loading","date":"July 1, 2015","format":false,"excerpt":"The latest episode from HTTP 203, a series of talks about front-end development with Paul Lewis and Jake Archibald, takes a look at progressively loading assets. Jake makes the comparison between websites and the way that video games will let users download and play the first level instead of forcing\u2026","rel":"","context":"In "Link"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":275984,"url":"https:\/\/css-tricks.com\/level-up-your-hosting-get-started-on-digitalocean-with-100\/","url_meta":{"origin":306792,"position":1},"title":"Level up your hosting. Get started on DigitalOcean with $100.","date":"September 6, 2018","format":false,"excerpt":"Tired of slow, unreliable web hosting? See how easy it is to self-host your next project on DigitalOcean's cloud platform. Build and manage ultra-fast websites, blogs, and other static web pages using our user-friendly control panel or simple API, all with a 99.99% uptime SLA. Save time using our One-Click\u2026","rel":"","context":"In "Link"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":534,"url":"https:\/\/css-tricks.com\/using-weather-data-to-change-your-websites-apperance-through-php-and-css\/","url_meta":{"origin":306792,"position":2},"title":"Using Weather Data to Change Your Website’s Appearance through PHP and CSS","date":"February 16, 2008","format":false,"excerpt":"Using a little magic and trickery (read: PHP and CSS), we can change the appearance of a website automatically based on the weather outside, in real time! In the example site we have created, the header graphic will change to one of four different styles based on Sunny, Rain, Snow,\u2026","rel":"","context":"In "Article"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":298445,"url":"https:\/\/css-tricks.com\/location-privilege-and-performant-websites\/","url_meta":{"origin":306792,"position":3},"title":"Location, Privilege and Performant Websites","date":"November 7, 2019","format":false,"excerpt":"Here\u2019s a wonderful reminder from Stephanie Stimac about web performance. She writes about a recent experience of moving to an area with an unreliable network and how this caused problems for her as she tried to figure out what was happening during a power blackout: Assuming all of your customers\u2026","rel":"","context":"In "Link"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2019\/08\/website-lightning.png?fit=1200%2C600&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":274996,"url":"https:\/\/css-tricks.com\/slow-websites\/","url_meta":{"origin":306792,"position":4},"title":"Slow Websites","date":"August 7, 2018","format":false,"excerpt":"The web has grown bigger. Both in expansiveness and weight. Nick Heer's \"The Bullshit Web\": The average internet connection in the United States is about six times as fast as it was just ten years ago, but instead of making it faster to browse the same types of websites, we\u2019re\u2026","rel":"","context":"In "Article"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2018\/08\/median-webpage-stats.jpg?fit=1200%2C600&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":317835,"url":"https:\/\/css-tricks.com\/apple-declined-to-implement-16-web-apis-in-safari-due-to-privacy-concerns\/","url_meta":{"origin":306792,"position":5},"title":"Apple declined to implement 16 Web APIs in Safari due to privacy concerns","date":"July 24, 2020","format":false,"excerpt":"Why? Fingerprinting. Rather than these APIs being used for what they are meant for, they end up being used for gross ad tech. As in, \"hey, we don't know exactly who you are, but wait, through a script we can tell your phone stopped being idle from 8:00 am to\u2026","rel":"","context":"In "Link"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2018\/01\/safari-technology-preview.jpg?fit=1200%2C600&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]}],"featured_media_src_url":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2020\/04\/challenge-css.png?fit=1024%2C512&ssl=1","_links":{"self":[{"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/posts\/306792"}],"collection":[{"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/comments?post=306792"}],"version-history":[{"count":7,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/posts\/306792\/revisions"}],"predecessor-version":[{"id":307062,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/posts\/306792\/revisions\/307062"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/media\/306940"}],"wp:attachment":[{"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/media?parent=306792"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/categories?post=306792"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/tags?post=306792"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}