Vovy records your app's memory in Chrome DevTools, takes heap snapshots before and after, and pins the leak to the component that never cleans up.
My app gets laggy after a while and the tab eats memory, why?
How it works
- Watch memory live: Vovy opens Chrome's Performance monitor and watches JS heap size while it clicks around your app the way a user would.
- Take heap snapshots: In the Memory tab it takes a snapshot, repeats the same action ten times, and takes another. A leak shows as memory that never comes back down.
- Compare the snapshots: It uses the Comparison view to find objects that keep piling up, like detached DOM nodes or duplicated listeners.
- Find the cleanup bug: Cursor searches for useEffect hooks that add intervals, listeners or subscriptions without returning a cleanup function.
- Fix and confirm memory stays flat: After the fix, Vovy repeats the test and shows a chart of memory over time, before and after.
What you provide
- Your app running locally or live
- Your project open in Cursor
What you get
- Memory chart over time
- The leaking component named
- A cleanup fix
- Before and after comparison
FAQ
How do I know it's a leak and not normal?
Memory normally rises then drops when the browser cleans up. A leak climbs step by step with each repeat and never falls back.
What are the usual causes?
Timers that never stop, event listeners never removed, realtime subscriptions left open, and huge lists kept in state.
Can this happen on the server too?
Yes, but serverless functions restart often, so leaks there show up as slow or failing functions rather than a laggy tab.
Related tasks
All tasks