December 2025: Flutter GenUI SDK, Build Runner Speedups, 2025 LLM Year in Review

As we wrap up 2025, it's been interesting to see how much AI is seeping into the Flutter ecosystem. This year brought us the Flutter MCP server, Flutter AI Rules, the GenUI SDK, and the Flutter AI Toolkit—all official tools for building AI-powered apps with Flutter.

Meanwhile, the broader AI landscape has seen big leaps in frontier models (Gemini 3, Opus 4.5, GPT-5.2) and agentic coding tools like Claude Code which, while impressive, are still in their early days.

Let's dive into the latest Flutter videos and AI news from the past month.

Flutter Videos

The Flutter team has been pumping out new videos lately. Here are some highlights that caught my attention.

📹 Getting started with GenUI

Flutter now has an official SDK for building AI-generated user interfaces, and it's called GenUI.

The idea: instead of your LLM responding with walls of text, it can populate UI using a catalog of Flutter widgets—dynamic carousels, workout cards, or any custom widget, created on demand.

You define a catalog of widgets with JSON schemas, the AI agent generates "surfaces" (UI chunks), and you render them with GenUiSurface widgets. The video walks through a practical example, including Gemini CLI integration and hot reload support.

There's also a follow-up video that goes deeper into building agent-powered apps:

GenUI is still in alpha, so expect API changes. If you're building regular chat-like experiences, consider the Flutter AI Toolkit instead—it just hit v1.0.0 and offers a more stable set of AI chat widgets.

📹 Strengthening Flutter's core widgets

Earlier this year, the Flutter team decided to decouple the Material and Cupertino libraries from the core framework—and this video explains the why, what, and when.

The tight coupling has been causing issues: design updates lead to breaking changes, third-party design libraries are harder to build, and contributions are harder. The fix? Move design-agnostic logic into the widgets library and eventually publish Material/Cupertino as separate packages on pub.dev.

Here's the roadmap:

  • Phase 1 (now): Move common logic into the widgets library; introduce "raw widgets" (e.g., RawRadio) as low-level building blocks
  • Phase 2 (2026): Publish Material/Cupertino on pub.dev; deprecate the old libraries
  • Phase 3 (late 2026): Remove legacy libraries from the framework

For developers, there's no immediate action required. Eventually, you'll be able to version Material and Cupertino independently from the framework, making migrations more predictable:

📹 Accelerating Dart code generation

If you've ever stared at your terminal waiting for build_runner to finish, you know the pain. Good news: a ground-up rewrite of build_runner's transitive import tracking has landed, and it's fast.

How fast? In one test with 3,000 generated libraries, code generation ran twice as fast. Community feedback confirms similar gains in real-world projects using json_serializable, freezed, built_value, and go_router.

To get the speedup, just upgrade to build_runner 2.10.4+. After that, caching kicks in—changing one library only rebuilds that library, while watch mode (dart run build_runner watch) keeps things snappy as you edit.

The video also previews what's coming: augmentations (inject members directly into classes), part imports (generated parts with their own imports), and primary constructors (declare constructor params right after the class name). Less boilerplate ahead!

AI News

If you've been following the AI space, you know there's always something new. Here are some selected reads. 👇

📝 2025 LLM Year in Review

Karpathy's year-end review identifies six paradigm shifts that defined 2025:

  1. RLVR (Reinforcement Learning from Verifiable Rewards): Instead of humans rating outputs, LLMs now learn from automated verification—code that compiles, math that checks out. This is why coding models improved so dramatically.
  1. Jagged Intelligence: LLMs are "ghosts," not "animals." They can ace PhD-level physics while failing at basic addition. Understanding this helps set proper expectations.
  1. Cursor: The new LLM app layer emerged—AI-native editors that deeply integrate with codebases, not just chat interfaces bolted onto IDEs.
  1. Claude Code: AI that lives on your computer, browsing files and running commands autonomously. A shift from "AI as tool" to "AI as teammate."
  1. Vibe coding: Programming through natural language. You describe what you want, the AI builds it, and you iterate on vibes rather than syntax.
  1. Nano banana: LLM GUIs are evolving beyond chat. Expect more visual, interactive interfaces that feel less like messaging and more like collaboration.

If you're building with AI (or just trying to keep up), this is essential reading:

📝 MCP Becomes an Open Standard

Earlier this month, Anthropic donated the Model Context Protocol to the Linux Foundation's new Agentic AI Foundation (AAIF). This is a big deal.

If you're not familiar with MCP, it's the protocol that lets AI tools connect to external systems—databases, APIs, file systems, you name it. What makes this donation significant:

  • Co-founded by competitors: Anthropic, OpenAI, and Block, with support from Google, Microsoft, and AWS. When rivals join forces on infrastructure, you know it matters.
  • Already widely adopted: 10,000+ active MCP servers, 97M+ monthly SDK downloads, used by Claude, ChatGPT, Gemini, Cursor, VS Code, and GitHub Copilot.
  • Solves a real problem: Instead of building separate integrations for each AI tool, you build one MCP server and it works everywhere.

The GitHub blog has a great writeup on what this means for developers. If you're building AI workflows that connect with external data sources, MCP is becoming the infrastructure layer you'll rely on.

🔥 GPT-5.2 is Here

After the recent release of Gemini 3 and Opus 4.5, OpenAI was feeling the heat and decided to respond with GPT-5.2.

Here are the "specs":

  • Three variants: Instant (speed), Thinking (complex work), Pro (maximum accuracy)
  • 400K token context window with 128K max output tokens
  • 38% fewer errors than the previous version
  • State-of-the-art on SWE-Bench Pro, the benchmark for software engineering tasks
  • Knowledge cutoff: August 2025

The pricing is higher than GPT-5.1, but if you're doing serious coding work, the improved accuracy might be worth it. It's also available in Cursor and GitHub Copilot now.

For all the details, read the official announcement:

Latest from Code with Andrea

Every week, I read headlines such as this: "Claude CLI deleted my entire home directory"! And it's not just Claude: every AI agent is prone to this kind of security risk, and in my previous newsletter I included a section about understanding Agentic Coding Security Risks.

But talk is cheap! So I decided to figure out how to run my AI agents in isolated environments, and share my solution in public.

Here's what I learned. 👇

📝 How to Safely Run AI Agents Like Cursor and Claude Code Inside a DevContainer

If you've used Claude Code or Cursor, you know the friction: constant permission prompts every time the agent wants to read a file or run a command. It's there for good reason (security!), but it slows things down.

I wrote a guide on using DevContainers to solve this. The idea is to run your AI agent inside an isolated Docker container where it can operate freely without risking your host system.

What you get:

  • Use --dangerously-skip-permissions safely (because the container is sandboxed)
  • Protection from prompt injection attacks
  • Full support for code generation, file modification, Git, and terminal access
  • Step-by-step setup for Docker and the Dev Containers extension

Admittedly, this setup is not perfect since you can't use it to run iOS/Android emulators, and visual UI testing needs to be done separately on the host machine.

But when I want to let the agents rip without baby-sitting permissions, this is my go-to solution:

After publishing this article, someone suggested creating a separate user account (without admin privileges) on my dev machine, and using that in YOLO mode. For some, this might be a reasonable compromise between security and productivity.

Until Next Time

2025 is nearly over. I've spent much of it honing my AI skills and applying them to my app development work. Admittedly, I haven't shared as much content as I would have liked, largely due to my recent move to Italy (and all the logistics involved).

With that said, I have exciting plans for 2026, and I'll be sharing them with you soon. If time allows, I'll also try to share my 2025 retro in the coming weeks (if you're curious, here's the 2024 edition).

But for now, I wish you a happy festive season, and see you in 2026! 🎉

Happy coding!

Andrea

Want More?

Invest in yourself with my high-quality Flutter courses.

Flutter In Production

Flutter In Production

Learn about flavors, environments, error monitoring, analytics, release management, CI/CD, and finally ship your Flutter apps to the stores. 🚀

Flutter Foundations Course

Flutter Foundations Course

Learn about State Management, App Architecture, Navigation, Testing, and much more by building a Flutter eCommerce app on iOS, Android, and web.

Flutter & Firebase Masterclass

Flutter & Firebase Masterclass

Learn about Firebase Auth, Cloud Firestore, Cloud Functions, Stripe payments, and much more by building a full-stack eCommerce app with Flutter & Firebase.

The Complete Dart Developer Guide

The Complete Dart Developer Guide

Learn Dart Programming in depth. Includes: basic to advanced topics, exercises, and projects. Last updated to Dart 2.15.

Flutter Animations Masterclass

Flutter Animations Masterclass

Master Flutter animations and build a completely custom habit tracking application.