JS Project Ideas Once Past Beginner Level

Let’s say you just finished some beginner-level javascript tutorials and you’d like to learn more.

Here’s a list of functionalities to pick from.

Below the functionalities, you’ll fine some extra constraints: approaches, toolchains, syntaxes, and optimizations.

Happy Learning!

1. Choose a Functionality

User Interfaces (UIs)

  • Basic Calculator
  • Questionnaire
  • Multi-range slider field
  • Copy to clipboard button
  • Side-scrolling game
  • Element re-ordering
  • HTML5 audio player controls
  • A canvas to draw on

Animations

  • Make a box resize on hover
  • Add a fade on loading a different part of the page
  • Bounce on object inside a box
  • Animate a splash animation inside a button on click

Data Consumption

  • Display Weather Data from a public API
  • Perform Extract-Transform-Load: Modify data from one form to another
  • Update a server via a GraphQL mutation

DOM Traversal/Manipulation

  • Insert an element at the end of a list
  • Insert an element at the beginning of a list
  • Wrap elements inside a wrapper
  • Find an ancestor of an element

Event Handling

  • Perform validation on leaving a field, on changing field content (with delay)
  • Upon one page component capturing user input, communicate the change to another component using a custom event handler
  • Ensure that an event handler is removed when element is removed from page, re-added when the element is re-added

2. Choose an Approach

  • Vanilla JS / Native Browser APIs / CSS
  • Vue.js SPA (Single-Page Application)
  • In-spot Vue.js (just for that section of the page)
  • React SPA (Single-Page Application)
  • Stimulus JS

3. Choose a Toolchain

For transpiling, concatenation and minification.

  • No toolchain - Scripts in the footer in global namespace
  • Gulp
  • Grunt
  • Webpack

4. Choose a Syntax

  • Common JavaScript
  • ES6

5. Choose an Optimization

  • Minimize JS use (opt for CSS methods, minimize external packages)
  • Maximize use of npm packages (don't re-invent the wheel)
  • Minimize first-load time
  • Make it accessible for people with a visual disability

Hope this helps!

Get new articles like these in your inbox.

Plus, receive a link to a sample chapter from an ebook I'm writing on Modest JS.