# Isolate Lens > A check of one Flutter screen, view model or service against the concurrency guidance. Paste the file (or drop a > .dart); the browser masks comments and strings, matches every build method, Isolate.run and compute closure, spawn > entry point and FutureBuilder to its closing bracket, maps every piece of I/O and CPU work to the isolate it runs on, > and flags sleep() and synchronous file I/O on the main isolate, CPU work inside build, Isolate.run results that are > not awaited, closures that capture context, setState or controllers, spawn entry points that are instance methods, > workers that never send their SendPort back, ReceivePorts never closed and isolates never killed, builders missing > the error or waiting state, and futures created inside build. Metered runs write the review and the corrected file. > Built on the SkillSafe skill @flutter/flutter-handling-concurrency, from flutter/skills (BSD-3-Clause), by the > Flutter team. Isolate Lens is an independent tool, not affiliated with or endorsed by Google or the Flutter team. https://isolate-lens.skillsafe.ai/ ## What is free - The scan: every finding with an id (J1, J2, ...), a severity (blocker - it throws or freezes, major, minor), the line, where it sits, what the page saw and the fix. - The work map: every file read and write, HTTP call, JSON decode, sort, hash and image operation with its kind (I/O or CPU), where it runs (main isolate, inside build, or a worker) and the skill's move for it. - The skill's checklist marked from the scan, the decision-matrix move list as text, findings and the work map as CSV, everything as JSON. ## The metered lanes Two tasks on gpt-terra, metered per run, routed by `task`. Input string fields: `task` (review or rewrite), `unit`, `code`, `carry` (rewrite only: the review's decisions) and `facts` (the page's scan and work map). - `review` replies with `summary`, `findings` (confirmed ids with the issue, the fix and a short code fix), `cleared`, `extra` (up to five issues a scan cannot see, on real lines), `plan` (the fixes in order, naming their ids) and `caveats`. - `rewrite` replies with `summary`, `code` (the whole corrected file), `changes`, `kept` and `caveats`. The page holds every reply to its scan: each id accounted for exactly once, every class, function and method name and the whole file kept, and the rewritten file re-scanned - a claimed fix the re-scan still finds, or a new finding, is flagged. ## Links - API tutorial: https://isolate-lens.skillsafe.ai/api.html - Source skill: https://skillsafe.ai/skill/@flutter/flutter-handling-concurrency