Sign in

Andrea Bizzotto 🇺🇦

@codewithandrea.com
920 followers 210 following 494 posts

Flutter GDE ❖ I share tips about Dart & Flutter app development. Wanna learn Flutter? 👉 codewithandrea.com

PostsRepliesMedia
Andrea Bizzotto 🇺🇦 @codewithandrea.com · 17/03/2026
For the past 3 months, I've been building a structured AI workflow for Flutter development. Goal: Make AI write code you can trust. No more vibe coding and hoping for the best. Launching next week — learn more here 👇 agentictoolkit.dev
agentictoolkit.dev
Agentic Coding Toolkit - Spec-driven AI development workflows for Flutter | Agentic Coding Toolkit
Spec-driven AI development workflows for Flutter
071
Andrea Bizzotto 🇺🇦 @codewithandrea.com · 26/02/2026
If you haven’t tried OpenCode yet, do yourself a favor and take it for a ride! My favorite combo: - OpenCode + gpt-5.3 on ChatGPT Plus plan ($20/month)
060
Andrea Bizzotto 🇺🇦 @codewithandrea.com · 26/02/2026
My February newsletter is out, covering: - Flutter 3.41 - GPT 5.3 Codex - 16 Claudes building a C compiler - The OpenClaw Security Crisis and much more. Read it here: codewithandrea.com/newsletter/f...
codewithandrea.com
February 2026: Flutter 3.41, 16 Claudes Build a C Compiler, the OpenClaw Security Crisis, and GPT-5.3 Codex
Also included: why the SDLC is dead, the importance of documentation artifacts for AI coding, and why code is cheap but software isn't.
150
Andrea Bizzotto 🇺🇦 @codewithandrea.com · 09/01/2026
Every year I publish a retro about my journey as an educator/content creator. In 2025, things didn't go too well. But hey ho, learning to adapt is part of the job as an entrepreneur. 🤷‍♂️ Here are all the details 👇 codewithandrea.com/meta/my-2025...
codewithandrea.com
My 2025 in Review: Freefall and a New Direction
A retrospective of my eighth consecutive year as a content creator, making educational content for Flutter developers.
070
Andrea Bizzotto 🇺🇦 @codewithandrea.com · 22/12/2025
My last Flutter & AI newsletter of the year is out! 📱 Flutter GenUI SDK ⚡️ Build Runner Speedups 🗓️ 2025 LLM Year in Review 📖 MCP Becomes an Open Standard 🔒 Running AI Agents safely inside a DevContainer You can read it here: codewithandrea.com/newsletter/d...
codewithandrea.com
December 2025: Flutter GenUI SDK, Build Runner Speedups, 2025 LLM Year in Review
Also included: Material/Cupertino decoupling progress, GPT 5.2 release, running AI agents safely in DevContainers, and MCP becoming an Open Standard.
020
Andrea Bizzotto 🇺🇦 @codewithandrea.com · 03/12/2025
After a few headaches, I'm now able to run both Claude Code and Flutter within a sandboxed dev container. This is great for both safety 🛡️ and speed 🚀 Here's a detailed guide with my complete setup (source code included) 👇 codewithandrea.com/articles/run...
codewithandrea.com
How to Safely Run AI Agents Like Cursor and Claude Code Inside a DevContainer
Learn how to bypass AI permission prompts safely by running Claude Code in an isolated Docker container.
050
Andrea Bizzotto 🇺🇦 @codewithandrea.com · 28/11/2025
My Flutter & AI newsletter is out! 📮 🐦 Flutter 3.38 & Dart 3.10 🖥️ Google's Antigravity IDE 🔥 Gemini 3 Pro, Opus 4.5, GPT 5.1 ⚠️ Agentic Coding Security Risks 🤮 AI Coding Sucks (interesting take by Syntax .fm) Read it here 👇 codewithandrea.com/newsletter/n...
codewithandrea.com
November 2025: Flutter 3.38, Dart 3.10, The AI Coding Wars (Gemini 3 vs Claude Opus 4.5)
Also included: Google Antigravity IDE, understanding agentic coding security risks, and a different perspective on how AI coding sucks.
060
Andrea Bizzotto 🇺🇦 @codewithandrea.com · 27/11/2025
Spent the whole day dockerizing my coding setup so I can safely run `claude --dangerously-skip-permissions` and mitigate damage if things go wrong. Many gotchas along the way. I'll try to share an article once I get it working properly.
030
Andrea Bizzotto 🇺🇦 @codewithandrea.com · 26/11/2025
The more I use AI for coding, the more I realize how powerful it is. But I still feel like a beginner and I now see a long road to real mastery. My new plan: - I'll dive deeper and aim to get really good at this - Once I'm ready, I'll start sharing new content
130
Andrea Bizzotto 🇺🇦 @codewithandrea.com · 22/11/2025
Kinda wanted to have a play with Antigravity today, but...
120
Andrea Bizzotto 🇺🇦 @codewithandrea.com · 21/11/2025
Just managed to one-shot a video transcription CLI tool (3000+ LOC including tests). How I did it: - Written a detailed spec (with some help from AI) - Used my own custom /plan and /work sub-agents Claude code did all the work -> AI Agents are getting better! Quick demo 👇
131
Andrea Bizzotto 🇺🇦 @codewithandrea.com · 21/11/2025
So much cool stuff happening in AI right now, especially for us developers! Just tested Antigravity with Gemini 3 Pro. 💻 Very nice... but I still miss a few things from Claude Code. Will publish a video next week!
040
Andrea Bizzotto 🇺🇦 @codewithandrea.com · 14/11/2025
Been doing some tweaks and polish on my currency converter app. I built >90% of it with agentic AI and I'm improving my workflows as I go along. Check it out here: currency-converter-ab.web.app
Preview of the charts screen on my currency converter app
130
Andrea Bizzotto 🇺🇦 @codewithandrea.com · 12/11/2025
Code it yourself, or prompt the AI? 🧐 That's a very valid question, since AI doesn't always get it right. In my latest video, I offer insights from my experience, along with a decision matrix that will help you save time and avoid frustration. Watch it here 👇 youtu.be/HOhYX9lA6T8
youtu.be
When to Code vs Prompt with AI
YouTube video by Andrea Bizzotto
030
Andrea Bizzotto 🇺🇦 @codewithandrea.com · 06/11/2025
When coding with AI, I follow a fairly simple principle: If prompting effort > coding effort, code it. 😅 Would it be useful if I made a video with examples, etc?
Effort to code vs Effort to Prompt: my 2x2 matrix

1. Low prompt, Low code
  - Small UI/animation tweaks
  - Pull to refresh
  - Codegen
  - Simple refactors
2. High prompt, Low code
  - Line-level instructions
  - Dense business logic
  - One-line bug fixes
  - Layout errors (overflows, unbounded heights, etc)
3. Low prompt, High code
  - Boilerplate (crash reporting, analytics setup)
  - Writing tests
  - Localization
  - Theming system
  - Big refactors (AI usually does this in multiple steps + run analyzer ... can be slow)
4. High prompt, High code
  - Offline caching + syncing
  - Full-stack features
  - Background tasks + iOS/Android specific
  - Complex charting solutions
  - IAP + entitlements

For 1 and 2, use Autocomplete and IDE assists.
For 3 and 4, use AI agents for planning, implement in stages, consider verification effort.
140
Andrea Bizzotto 🇺🇦 @codewithandrea.com · 24/10/2025
My Flutter October newsletter is out, covering: 🧩 Flutter & Figma MCP 🧱 Wasm 3.0 release 🎥 FlutterCon EU 2025 Videos 🎧 Andrej Karpathy — AGI is still a decade away Read on for all the details: codewithandrea.com/newsletter/o...
codewithandrea.com
October 2025: Flutter & Figma MCP, Platform & UI threads merge, Andrej Karpathy on AGI
Also included: Fluttercon EU videos, Wasm 3.0, my 3-folder system for effective AI coding in Flutter.
192
Andrea Bizzotto 🇺🇦 @codewithandrea.com · 24/10/2025
Back in the day, many companies used to under-promise and over-deliver, leading to customer satisfaction and long-term business prospects. Sad to see late-stage capitalism changed this. Now it seems to be the norm (esp. for AI companies) to trick customers and do the opposite.
010
Andrea Bizzotto 🇺🇦 @codewithandrea.com · 23/10/2025
Super interesting new podcast with Andrej Karpathy!👇 www.dwarkesh.com/p/andrej-kar...
dwarkesh.com
Andrej Karpathy — AGI is still a decade away
"The problems are tractable, but they're still difficult”
020
Andrea Bizzotto 🇺🇦 @codewithandrea.com · 22/10/2025
Here's a fun game! 🎲 Fully implement a feature, getting as close as possible to 0% context before auto-compacting.
The PR description includes the complete status, implementation details, testing checklist, and next steps. Ready for review!

  ⏵⏵ accept edits  on (shift+tab to cycle)                                                  Context left until auto-compact: 0%
020
Andrea Bizzotto 🇺🇦 @codewithandrea.com · 20/10/2025
Just published a new video about my 3 top folders for agentic AI coding in Flutter! 🚀 Inside, I cover: ⏳ Updated workflow for more consistent AI results ✅ Guidelines to ensure AI stays on track 🧭 Battle-tested patterns, commands and prompts Watch it here 👇 youtu.be/D68mZzbs6JY
youtu.be
Beyond Prompts: My 3-Folder System for Effective AI Coding in Flutter
YouTube video by Andrea Bizzotto
050
Andrea Bizzotto 🇺🇦 @codewithandrea.com · 16/10/2025
I'm working on a new video about essential folders I use for agentic AI coding. I'll cover my workflow for: 1️⃣ staying organized 2️⃣ getting consistently good results 3️⃣ reducing friction when coding with AI Should be out next week! 🗓️
Top 3 Folders for Agentic AI coding in Flutter

ai_???

ai_specs

ai_docs
020
Andrea Bizzotto 🇺🇦 @codewithandrea.com · 13/10/2025
This is kinda how I build with AI these days. Same for you?
think-plan-build-verify-deliver
020
Andrea Bizzotto 🇺🇦 @codewithandrea.com · 03/10/2025
Today I built the currency conversion charts for my new app. Or rather, I wrote the spec, and CC Sonnet 4.5 did all the planning and implementation. 🚀 Got it all done in ~4 hours, even though I wasn't at all familiar with the fl_charts library. Very impressed!
230
Andrea Bizzotto 🇺🇦 @codewithandrea.com · 26/09/2025
My Flutter September newsletter is out! - Riverpod 3.0 - The ultimate guide to migrating to Flutter - Liquid Glass UI - AI rules for Flutter and Dart - Latest from the Flutter community - Best AI Coding Agents Read on for all the details 👇 codewithandrea.com/newsletter/s...
codewithandrea.com
September 2025: Riverpod 3.0, Migrating to Flutter, Flutter AI Rules, Best AI Agents
Also included: Liquid Glass and the cupertino_native package, Flutter vs web wrappers, AI service issues at Anthropic and OpenAI.
081
Andrea Bizzotto 🇺🇦 @codewithandrea.com · 23/09/2025
Did you know? You can use absolute imports for reusable Dart files that are copy-pasted across projects. This way, they are always imported correctly (as long as they live in the same location relative to the project root).
If you copy-paste Dart files to a new project, your imports will fail:
import 'package:old_app/src/constants/layout_breakpoints.dart';

You can Find & Replace package:old_app with package:new_app to fix them (annoying and not very scalable)

Alternatives

Relative imports:

import '../../constants/layout_breakpoints.dart';

Absolute imports:

import '/src/constants/layout_breakpoints.dart';

Absolute imports are handy for files that always live in the same location across multiple projects (e.g. /src/constants)

Consider this as a temporary solution. Reusable files should be moved into a common package (works best with monorepo setups).
030
Andrea Bizzotto 🇺🇦 @codewithandrea.com · 18/09/2025
Very interesting post-mortem from Anthropic about the recent reliability issues: www.anthropic.com/engineering/...
anthropic.com
A postmortem of three recent issues
This is a technical report on three bugs that intermittently degraded responses from Claude. Below we explain what happened, why it took time to fix, and what we're changing.
040
Andrea Bizzotto 🇺🇦 @codewithandrea.com · 17/09/2025
I'm testing Codex with GPT-5 for my new app. Haven't tested any complex use cases yet, but so far it seems on par with Claude Code (and quite a bit cheaper to run). Want a video about it? Like/let me know in the comments.
120
Andrea Bizzotto 🇺🇦 @codewithandrea.com · 16/09/2025
I started a new side project. 🚀 Goal: build a simple currency converter app that doesn't suck, using Claude Code & other AI tools. Here's a very early build (which sucks but it'll get better): currency-converter-ab.web.app
currency-converter-ab.web.app
currency_converter
A new Flutter project.
010
Andrea Bizzotto 🇺🇦 @codewithandrea.com · 16/09/2025
I started a new side project. 🚀 Goal: build a simple currency converter app that doesn't suck, using Claude Code & other AI tools. Here's a very early build (which sucks but it'll get better): currency-converter-ab.web.app
currency-converter-ab.web.app
currency_converter
A new Flutter project.
170
Andrea Bizzotto 🇺🇦 @codewithandrea.com · 11/09/2025
Riverpod 3.0 is out! Here's what's new: riverpod.dev/docs/whats_new
riverpod.dev
What's new in Riverpod 3.0 | Riverpod
Welcome to Riverpod 3.0!
160
Andrea Bizzotto 🇺🇦 @codewithandrea.com · 03/09/2025
I'm gonna start experimenting with the new Flutter MCP server. Have you used it? Found it useful? Any gotchas?
130
Andrea Bizzotto 🇺🇦 @codewithandrea.com · 03/09/2025
Did you know? Some Matrix4 APIs such as `translate` and `scale` have been deprecated in the latest Flutter 3.35 release. To update them: - Import vector_math explicitly - Use the new APIs which take a Vector3 argument
// Before Flutter 3.35
Matrix4 deprecated(double x, double y, double scale) {
  return Matrix4.identity()
    ..translate(x, y)
    ..scale(scale, scale, 1.0);
}


// Since Flutter 3.35
// ignore: depend_on_referenced_packages
import 'package:vector_math/vector_math_64.dart';

Matrix4 updated(double x, double y, double scale) {
  return Matrix4.identity()
    ..translateByVector3(Vector3(x, y, 0))
    ..scaleByVector3(Vector3(scale, scale, 1.0));
}
030
Andrea Bizzotto 🇺🇦 @codewithandrea.com · 02/09/2025
Just fixed a thorny issue where my site generator would fail to generate some output folders after a system upgrade. I was unfamiliar with the underlying package causing this -> no chance of fixing on my own. But Claude Code one-shotted the correct diagnosis and fix.💪
030
Andrea Bizzotto 🇺🇦 @codewithandrea.com · 27/08/2025
I'm back online! The move went well and I'm super happy in my new place. Still a few things to sort out but I'm ready to get back to work!
170
Andrea Bizzotto 🇺🇦 @codewithandrea.com · 18/07/2025
After 17 years in the UK, I’m moving back to Italy! 🇮🇹 London has been very good to me, but it’s time to start a new chapter in life! Super excited! ☀️
1191
Andrea Bizzotto 🇺🇦 @codewithandrea.com · 09/07/2025
Pretty reasonable dev workflow: - write detailed requirements as an issue on GitHub - ask Claude Code to make a plan - write it to ai_plans/issue#-and-slug.md - let CC implement the plan - review, tweak, test and commit - use CC to push a PR, including the plan in the description
130
Andrea Bizzotto 🇺🇦 @codewithandrea.com · 08/07/2025
Friendly reminder that both good and bad coding compound over time. AI accelerates that.
040
Andrea Bizzotto 🇺🇦 @codewithandrea.com · 04/07/2025
As of today, my wife has been putting up with me for 10 years. 😅
070
Andrea Bizzotto 🇺🇦 @codewithandrea.com · 03/07/2025
CachedNetworkImage wasn't behaving as I wanted in my app, so I just implemented a custom solution with Drift & Riverpod. Best thing of all: Claude Code wrote all the code! All I did was write a detailed spec and make some minor tweaks at the end. Should I make a video about this?
Goal
Replace the current image caching implementation with a built-in solution that is based on SQLite/Drift.

Context
Currently, the app caches images using the CustomCachedNetworkImage widget which is based on CachedNetworkImage from the cached_network_image package.

With CachedNetworkImage, images are automatically cached for 7 days and always deleted afterwards, requiring a new fetch. This can lead to a poor UX because if the app is offline after a cached image has been deleted, the fetch will fail.

Since images very rarely change, they should never be deleted.

Proposed solution
Update the implementation of CustomCachedNetworkImage so it no longer uses CachedNetworkImage. Instead, it should do the following:

if the imageUrl is not already cached
  show a placeholder UI (same as currently implemented)
  fetch the imageUrl and store it in the database
  if fetch is successful
    replace the placeholder UI with the rendered image
  else
    show the error UI (same as currently implemented)
else
  retrieve the image from the DB and show it in the UI
Database implementation details
Update app_database.dart by adding a new ImagesCache table that will be used to store all the fetched images
The table should have the following fields:
imageUrl (String)
imageData (blob representing the fetched image)
checksum (useful for updates)
updatedAt (when the data was written)
Run build_runner after defining the table, so it can be imported and it compiles successfully.
140
Andrea Bizzotto 🇺🇦 @codewithandrea.com · 02/07/2025
Looks like generating docs is an interesting problem with different solutions and tradeoffs. Need some more time to research this.
020
Andrea Bizzotto 🇺🇦 @codewithandrea.com · 01/07/2025
I spent the last few days solving one problem: How to generate ACCURATE documentation for existing Flutter codebases using AI. This proved harder than expected, but I now have a reliable pipeline that can run on any project. Should I make a video about it?
1. **Find Project Root and Setup Working Directory**
2. **Extract Complete Project Structure**
3. **Extract Core Code Elements**
4. **Discover Project Patterns**
5. **Analyze Architecture Patterns**
6. **Create Intelligent Groupings**
7. **Generate Fact Sheet**
8. **Generate Documentation Prompt**
9. **Generate Final Documentation**
10. **Cleanup**
281
Andrea Bizzotto 🇺🇦 @codewithandrea.com · 01/07/2025
Taking a new shiny tool for a ride 👇 Will report back 🙂
Gemini CLI prompt
030
Andrea Bizzotto 🇺🇦 @codewithandrea.com · 01/07/2025
Some people asked me if Claude Max is worth it. To find out, you can check your usage data with: npx ccusage@latest Here are my stats for last month 👇
➜  ~ npx ccusage@latest monthly

 WARN  Fetching latest model pricing from LiteLLM...                                                        ccusage 08:35:02

ℹ Loaded pricing for 1140 models                                                                           ccusage 08:35:02

 ╭────────────────────────────────────────────╮
 │                                            │
 │  Claude Code Token Usage Report - Monthly  │
 │                                            │
 ╰────────────────────────────────────────────╯

┌──────────┬──────────────────┬──────────┬──────────┬──────────────┬────────────┬──────────────┬────────────┐
│ Month    │ Models           │    Input │   Output │ Cache Create │ Cache Read │ Total Tokens │ Cost (USD) │
├──────────┼──────────────────┼──────────┼──────────┼──────────────┼────────────┼──────────────┼────────────┤
│ 2025-06  │ - opus-4         │   45,657 │  166,255 │    6,333,383 │ 68,195,460 │   74,740,755 │    $118.82 │
│          │ - sonnet-4       │          │          │              │            │              │            │
├──────────┼──────────────────┼──────────┼──────────┼──────────────┼────────────┼──────────────┼────────────┤
│ Total    │                  │   45,657 │  166,255 │    6,333,383 │ 68,195,460 │   74,740,755 │    $118.82 │
└──────────┴──────────────────┴──────────┴──────────┴──────────────┴────────────┴──────────────┴────────────┘
130
Andrea Bizzotto 🇺🇦 @codewithandrea.com · 28/06/2025
I asked Claude to generate documentation for one of my projects. First, it estimated 8-10 days based on human work. Then it proceeded to do it all in 20 minutes! There were some minor inaccuracies, but that's still a ~200x time saving...
070
Andrea Bizzotto 🇺🇦 @codewithandrea.com · 27/06/2025
My latest newsletter is out! 📅 For a change, this month I've chosen to cover primarily AI-related stuff! 🔍 Apple Liquid Glass 💬 Software 3.0 ⌨️ AI-assisted coding (no vibes) 🤖 12 lessons from AI pair programming Read on for all the details 👇 codewithandrea.com/newsletter/j...
codewithandrea.com
June 2025: Apple Liquid Glass, Software 3.0, how to use LLMs, AI-Assisted coding, Claude Code Crash Course
Also included: 12 lessons from AI pair programming, and my code review of an open-source Flutter app with 100K+ lines of code.
130
Andrea Bizzotto 🇺🇦 @codewithandrea.com · 26/06/2025
Did I get it right? 😅
A simple illustration of who’s who in AI

AI-Hype Bros

- VCs
- Big CEOs
- Leading AI Startups
- Influencers (who don’t know how to code)

“AI will replace all developers”

“AI will benefit all of humankind... proceeds to layoff 10K employees”

Realists

- Pragmatists
- Andrej Karpathy
- Gary Marcus
- Me

“AI is a powerful assistant, requires human verification”

“Partial autonomy, keep AI on the leash”

Contrarians

- People with strong ego
- Fossilized developers

“AI is useless, makes too many mistakes”

“I’m better than that, I’d rather do all the work myself”

Different groups of people → different motives and narratives

Be mindful of who you listen to
231
Andrea Bizzotto 🇺🇦 @codewithandrea.com · 25/06/2025
My crash course about Claude Code is live! 📹 What’s inside: ✅ My planning & development workflow 💡 Tips for using CC effectively 💻 Building a Flutter app from scratch (letting AI do the heavy lifting!) ✨ Bridging the gap to a production-ready app Here's the full video! ▶️ youtu.be/FNpQawHnIrI?...
youtu.be
Build Flutter Apps FASTER with Claude Code Opus 4 [Crash Course]
YouTube video by Andrea Bizzotto
050
Andrea Bizzotto 🇺🇦 @codewithandrea.com · 25/06/2025
Lol I started getting creative with my TikTok marketing 😅
090
Andrea Bizzotto 🇺🇦 @codewithandrea.com · 24/06/2025
My latest video is nearly ready, and it's a long one! Inside, I'll show you how Claude Code has changed my workflow, and how to make the most of it.
Preview thumbnail of my latest YouTube video about building Flutter apps faster with Claude Code.
160
Andrea Bizzotto 🇺🇦 @codewithandrea.com · 23/06/2025
Just launched my newest "Voice Timer" app (iOS only). If you're curious, you can download it for free and try it here. 👇 voicetimerapp.com
voicetimerapp.com
Voice Timer App
A voice-activated timer app for your calisthenics workouts.
110