Visualizing JavaScript Execution with JS Visualizer

**🚀 I built a JavaScript Execution Visualizer — because understanding the Event Loop shouldn't require a PhD.** After spending way too long confused by async JavaScript, I decided to build a tool that makes it *visual*. **JS Visualizer** lets you paste any JavaScript code and watch it execute — step by step — with real-time animations showing exactly what's happening under the hood. **What it visualizes:** - 📦 **Call Stack** — watch execution contexts push and pop in real time - ⏱ **Web APIs** — see `setTimeout` and `fetch` handed off to the browser - ⚡ **Microtask Queue** — Promise callbacks, queued with priority - 🔄 **Task Queue** — macro tasks waiting their turn - ♾ **Event Loop** — animated ring showing which queue is being processed **The classic event loop puzzle — solved visually:** ``` console.log('1: Start');     // runs first setTimeout(callback, 0);     // goes to Web APIs → Task Queue Promise.resolve().then(fn);   // goes to Microtask Queue console.log('2: End');      // runs before both callbacks // Output order: 1 → 2 → Promise .then → setTimeout ``` Most developers *know* microtasks run before tasks — but watching it happen live makes it click in a completely different way. **Tech stack:** - Vanilla HTML / CSS / JavaScript (no frameworks needed) - [Acorn.js](https://lnkd.in/g7f4aC5Y) for AST parsing — the actual JS code you paste gets parsed into an AST and walked node-by-node - CodeMirror 5 for the editor with live line highlighting - 100% dark mode, production-quality design **Supports:** ✅ Synchronous function call stacks with closure variables ✅ `setTimeout` / `setInterval` → Web APIs → Task Queue ✅ `Promise.resolve().then()` → Microtask Queue ✅ `new Promise(executor)` with `resolve` / `reject` ✅ `queueMicrotask`, `fetch` ✅ `if/else`, `for`, `while`, `try/catch` ✅ Keyboard navigation (← →) This was a genuinely hard problem — building a safe AST-walking interpreter that accurately models the JavaScript event loop from scratch, without executing the code directly. If you're learning JavaScript async, teaching it, or just want to see the event loop in action — give it a try. https://lnkd.in/gWfdaUWM 💬 What JavaScript concept do you wish you had a visual tool for when you were learning? Drop it in the comments 👇 --- #JavaScript #WebDevelopment #EventLoop #AsyncJS #Programming #OpenSource #FrontendDevelopment #LearnToCode #DevTools #Coding

  • No alternative text description for this image

To view or add a comment, sign in

Explore content categories