Flex your coding muscles by building these five applications

Indrek Lasn
Sep 20 · 4 min read
Photo by NordWood Themes on Unsplash

Becoming good at coding is achieved like all things in life — by putting in the effort and sweat. By putting in the10,000 hours, you become a skilled person. Coding is no different than any other skill. Us coders often are aching to code but often lack ideas.

Here are some cool applications I think every skilled developer should build at least once.


Squoosh is an image compression web app that allows you to dive into the advanced options provided by various image compressors.

Example Squoosh app

By building the Squoosh app, you will learn the following:

  • How to resize and work with images
  • Fundamental Drag‘n’Drop API introduction
  • Event listeners and how the API works
  • File uploads and exports

Note: The image compression is handled locally; no additional data is sent to the server. You could handle the image compression either on the client or server-side, your choice.

A Calculator

Really? A calculator? Yes, indeed: a calculator. Understanding fundamental math operators and how they work together is crucial when working with an application that has even a drop of complexity. Sooner or later, you’ll have to deal with numbers — why not get comfortable early?

Calculator app — https://jarodburchill.github.io/CalculatorReactApp/

What you will learn by building a calculator:

  • Working with numbers and math operators
  • Event listeners API
  • How to position elements and style an application


The Layer is a community where everyone can paint a pixel on a shared art board. The original idea came from the Reddit community. The r/Layer community is a canvas for creative exploration open to everyone to create and contribute.

Layer canvas — https://www.reddit.com/r/layer/

What you will learn by building Layer:

  • How the JavaScript canvas works — knowing how to manipulate the canvas is crucial in such applications
  • How to coordinate user permissions. Each user can paint a pixel every 15 minutes without logging in. Having a user is optional.
  • Managing cookie sessions
Reddit Layer

Website Crawler (Search Engine)

Everyone has a website crawler nowadays, so why not build one yourself? Website crawlers are handy when it comes to searching for information. We rely on search engines every day, and that demand will only grow with expanding information availability.

Google Website Crawler (Search Engine)

What you will learn by building a website crawler:

  • How crawling websites work
  • How indexing websites and showing them based on rank and reputation works
  • Storing the indexed websites to a database and how to work with a database

Music Player (Spotify, Apple Music)

Everyone jams to music — it’s just a natural part of our lives. Let’s build a music player to better understand how the underlying mechanics of a modern music-streaming platform works.

Spotify Web example

What you will learn by building a music-streaming platform:

  • How to work with an API. Use the Spotify or Apple Music API
  • How to play, stop, or fetch the next or previous song
  • How to handle the sound volume
  • How to manage user routing and the browser-history API


Thanks for reading. I hope you found inspiration to start coding your next application.

If you’re new to JavaScript and want to learn the language, I recommend starting with reading books combined with building things. Start with the “A Smarter Way to Learn JavaScript” book and here’s a list of fun apps to build.

Better Programming

Advice for programmers.

Indrek Lasn

Written by

Engineer. Invest in yourself. Follow me on Twitter @ https://twitter.com/lasnindrek

Better Programming

Advice for programmers.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade