Challenge #1
Welcome to the Advent of JavaScript, Day 1!
We're so excited about the next 24 days and the challenges we have in store. Hopefully, you'll enjoy working through these as much as we've enjoyed putting them together.
Brief
In this project, we're creating a Pomodoro timer.

You can use as many (or as few) tools, libraries, and frameworks as you'd like. If you're trying to learn something new, this might be a great way to push yourself.
Users should be able to:
- Start the timer by clicking on the start link/button.
- Once the user clicks start, the word start will change to stop. Then, the user can click on the stop button to make the timer stop.
- Click on the gear icon to change the length (minutes and seconds) of the timer.
- Once the timer finishes, the ring should change from green to red and an alert message is passed to the browser.
Need some support on this challenge? Join the Learn Build Teach Discord community. We have a separate channel set up specifically for the Advent of JavaScript.
Getting Started
- To get started, download the zip file (within the December 1 section of Podia). This includes all the project assets you need to get started: HTML, CSS, images, and fonts.
- Take a look around. Look at the project's Figma file. This is a great way to see how the pieces and parts should look within the browser.
- Open the project's README.md file. It has additional information on how the project is structured.
- Customize your project/file architecture to your liking.
- Happy coding!
- Once you're finished, share your work using #adventofjs
Taking your Project to the Next Level
- Use a framework like React, Vue, or Svelte. Or, if you're feeling particularly adventurous, try writing everything in Vanilla JavaScript.
- Take a step back and try writing the HTML and CSS for this project yourself. Start with the provided Figma file. If you get stuck, you can always purchase the Advent of CSS solutions, where Amy explains how to build this.
- When the timer is completed, play the alert sound. (Audio file included)
FAQs
- Can I use libraries/frameworks on these projects?
- Of course! We're providing the vanilla HTML and CSS, but you can use whatever tools and frameworks you'd like.
- Oh no! I'm stuck!
- Check out the Learn Build Teach Discord. We have a specific channel set up, just for the Advent of JavaScript.
- Can I use this project in my portfolio?
- Sure! But, be honest about the work that you did
Best of luck and we'll see you tomorrow!
Amy and James