Become a Skillthrive author!

Level 2

Dad joke generator

Randomly generate dad jokes on-demand with a click of a button. This Challenge is a great way to learn the basics of using an API!

Challenge info

What's included

Challenges include all the assets you would expect from a designer in real-world projects, plus some resources to help you complete the Challenge.

  • Organized Figma design file
  • Detailed desktop, tablet, and mobile layouts
  • Comprehensive design system
  • Relevant fonts, colors, SVGs, and images
  • Alternative Solutions from members
  • Straightforward quick-start guide
  • Recommended list of learning resources
  • Access to member-only Discord channels

Challenge brief

Your Challenge is to create a random dad joke generator. When you click the "Tell me!" button, the answer to the joke reveals. A new dad joke appears when you click the "New joke!" button. You'll use this dad joke API to fetch jokes, so this Challenge is a great way to learn the basics of using an API! 

Your Challenge is complete when:

  • The website is as close to the original design as possible

  • The website is responsive and viewable on multiple screen sizes

  • Elements have the correct state styles (hover, focus, etc.)

  • Clicking the "Tell me!" button reveals the answers

  • Click the "New joke!" button shows a new joke

Join our Discord server to ask for help and share what you've learned!

How it works

When you start a Challenge, you will navigate to a new Solution created for you in the dashboard. This page is where you can read the Challenge brief, download the files, and submit your final Solution.

There's no time limit to complete a Challenge, and you can use any programming language, library, or framework you want.

Once the Challenge is complete, you submit a Solution from the dashboard. Your Solution should be as close to the included design as possible. Do not replace fonts, colors, or other styles. Treating this like actual client work is most helpful to your skill development.

When you submit a Solution, you will be required to provide a link to the final project that points to a GitHub repository. That way, the rest of the community can view your work and learn from your code. Another requirement is you submit a live version of your Solution hosted on one of our approved host providers.