Nothing to hand? Load the — a State class that drives its motion with Timer.periodic and setState, never disposes its controller, starts it inside build(), animates Opacity by rebuild and reuses one literal Hero tag across a list — or the , where the correct verdict is well-built and the useful output is what to add next.
Paste the code — the prescan is free
No upload, no AI: the prescan reads every widget, controller, animation, hero, route and animation package in your browser and lists what it mechanically found. The unit inventory, then the flags — an AnimationController that is never dispose()d, a constructor with no vsync:, a State class with no TickerProvider mixin, several controllers on SingleTickerProviderStateMixin, Timer.periodic frame math driving setState, a controller listener that rebuilds the whole tree per frame, AnimatedBuilder without a child, Opacity animated by rebuild instead of FadeTransition, forward() inside build(), the same literal Hero tag used twice, and a duration-less controller driven by forward(). Each group explains why it matters. This part costs nothing and happens while you type.
The AI reviews it — this is the metered part
A senior Flutter engineer's pass: a motion posture with the single most important change named, the inventory with each unit's role, and prioritized findings across lifecycle, strategy fit, performance, correctness, transitions, physics, accessibility and hygiene — each with the problem, the concrete impact (a leaked ticker draining battery offscreen, a runtime crash from a second controller on a single ticker, whole-tree rebuilds at 60fps, an animation restarting on every rebuild, a broken hero pairing), the fix and a corrected Dart fragment. Every prescan flag is confirmed or explicitly set aside. Findings may only cite classes and controllers that actually appear in your paste. Pricing is honest: a worst-case amount is reserved before the run and only what the run actually uses is charged — the meter next to the button shows both.
Fix, export, re-run
Quick wins for the one-line changes, focus areas tied to specific findings for the real work, and the corrected fragments as one commented file you can open next to your sources — plus per-finding snippet copy, the findings table as CSV (snippet column included) and Markdown or JSON export. Signed in, every review is saved to your account and follows you between devices; run it again after your edits and the page shows what cleared, what is still open and what is new since last time, compared in your browser for free.
Derived from the @flutter/flutter-animating-apps skill (BSD-3-Clause, flutter/agent-plugins).