JavaScript has been a powerful tool that allowed the author to manipulate the DOM and create real-time interactions with users.
Diving deeper into JavaScript involved grappling with concepts like scope, closures, and the event loop.
The transition to building apps interacting with servers required an understanding of async behavior, where Promises and async/await improved code readability.
The author's journey included building a real-time chat app using WebSockets, transitioning to full-stack JavaScript with Node.js and Express, and utilizing tools like React for frontend development.