Skip to content

JavaScript Projects

Build a classic to-do list with add, complete, and delete functionality.

  • Concepts: DOM manipulation, events, localStorage
  • Stretch goals: Drag-and-drop reordering, categories, search

Display weather data from a public API.

  • Concepts: Fetch API, async/await, error handling, JSON parsing
  • Stretch goals: Geolocation, 5-day forecast, animated icons

A full-featured calculator with keyboard support.

  • Concepts: Events, state management, keyboard events
  • Stretch goals: Scientific mode, history, themes

Build a timed quiz with multiple categories.

  • Concepts: State management, timers, score tracking, progress bars
  • Stretch goals: Leaderboard (IndexedDB), animations, randomized questions

Real-time markdown rendering with live preview.

  • Concepts: Input handling, debounce, text parsing, HTML rendering
  • Stretch goals: Syntax highlighting, export to PDF, custom themes

Simple real-time chat using WebSockets.

  • Concepts: WebSockets, event handling, message formatting, user list
  • Stretch goals: Emoji picker, file sharing, typing indicators

Browser-based code editor with syntax highlighting.

  • Concepts: Web Workers, contenteditable, code parsing, performance optimization
  • Stretch goals: Multiple language support, themes, code execution sandbox

Kanban board with drag-and-drop card management.

  • Concepts: Drag and drop API, complex state, IndexedDB persistence, undo/redo
  • Stretch goals: Real-time collaboration, labels, due dates, attachments

Admin dashboard with charts, tables, and data filters.

  • Concepts: Data visualization, performance optimization, virtual scrolling, filtering/sorting
  • Stretch goals: CSV export, role-based access, real-time updates
  • Use localStorage or IndexedDB for data persistence
  • Use fetch for API calls
  • Use Web Workers for heavy computations
  • Use requestAnimationFrame for smooth animations
  • Use Performance API for profiling