Skip to content
  • Unlock Pro
  • Log in with GitHub
Solution
Submitted almost 3 years ago

Pomodoro PWA built w/ Next.JS, TypeScript, Tailwind, and Framer Motion

accessibility, next, tailwind-css, typescript, motion
Ken•4,915
@kens-visuals
A solution to the Pomodoro app challenge
View live sitePreview (opens in new tab)View codeCode (opens in new tab)

Solution retrospective


This was a great project to practice working with time, user inputs and multiple themes. I chose to use React context for state management, because it's not a massive app and I didn't want to over-engineer it with redux or any other state management system. As I already mentioned in one of my previous projects, Tailwind makes it really easy to build multi-theme websites, and in general it simplifies styling of the page. The more I use TypeScript the more I understand how it's getting more popular day-by-day. As always, I wanted to add my personal touch to the project, so I added some sound effects to enhance the interactivity of the app. Also, this will actually help to know when the time's up (I won't spoil anything anymore, go experience it yourself). I also didn't change dials for number inputs and left it as browser defaults. Why? Because of inconsistency of the browsers, some browser won't even hide the default dials, so it becomes very annoying to interact with the app when there are 2 types of dials. Other than that, I loved this project a lot, hope you will too.

Feel free to leave feedback or suggestion in the comments' section 👨🏻‍💻 Cheers 👾

Code
Loading...

Please log in to post a comment

Log in with GitHub

Community feedback

No feedback yet. Be the first to give feedback on Ken's solution.

Join our Discord community

Join thousands of Frontend Mentor community members taking the challenges, sharing resources, helping each other, and chatting about all things front-end!

Join our Discord

Stay up to datewith new challenges, featured solutions, selected articles, and our latest news

Frontend Mentor

  • Unlock Pro
  • Contact us
  • FAQs
  • Become a partner

Explore

  • Learning paths
  • Challenges
  • Solutions
  • Articles

Community

  • Discord
  • Guidelines

For companies

  • Hire developers
  • Train developers
© Frontend Mentor 2019 - 2025
  • Terms
  • Cookie Policy
  • Privacy Policy
  • License