← SkillSafe
Isolate Lens

For Flutter developers chasing jank and frozen frames

Isolate LensreadAsStringSync in build, setState inside Isolate.run, a ReceivePort never closed. Find what blocks the main isolate, then get the corrected code.

Paste one screen, view model or service. Your browser maps every piece of I/O and CPU work to the isolate it runs on and flags sleep() and synchronous I/O on the main isolate, CPU work in build, Isolate.run closures that capture State, spawn entry points that are instance methods, ports never closed and FutureBuilders that skip the error or loading state - then applies the skill's decision matrix to each operation. Then the review, and the corrected code.

Try a sample:

The code free

The scan free

What the scan found

The work map

The skill's concurrency rules

The decision matrix, and the checklist free

The skill's decision matrix applied to every operation the page found: I/O on async/await, quick CPU work on the main isolate, a long one-off job in Isolate.run, repeated work in a spawned worker.

moves.txt


    

The review

Pricing as soon as the session is ready...

NOT RUN YET

The page's check of this reply

    Saved reviews

    How it works - and what it cannot see

    The scan reads the Dart itself: comments and strings are masked, every build method, Isolate.run and compute closure, spawn entry point and builder is matched to its closing bracket - so it knows whether a jsonDecode runs inside build or on a worker, and whether a closure sent to another isolate refers to setState. It follows the skill's decision matrix: I/O on async/await, quick CPU work on the main isolate, a long one-off job in Isolate.run, repeated work in a spawned worker with the SendPort handshake and its ports closed, and FutureBuilders that handle waiting, error and data. Flagging a future created inside build is the page's own addition, from the FutureBuilder documentation.

    It cannot tell how large a payload really is, what your own helper functions do inside, or whether a worker swallows its errors - that is the review. The page re-scans the rewritten file, so a fix that did not land is flagged rather than trusted, and every function keeps its name.