I’ve wanted to dig into Flutter for a long time to build small pet projects that can run across platforms. For now I’m focusing on a Windows-first workflow (my home setup is a Windows laptop and an Android phone), but I want the projects I start to remain easy to port later. This is a short technical log of the first steps I took to set up a Windows dev environment and boot a new Flutter project.

What I started with

  • Windows 11
  • PowerShell 7
  • Windows Terminal (optional)

What I installed

  1. Visual Studio 2022 Community with the Desktop C/C++ workload (using winget)
    winget install --id Microsoft.VisualStudio.2022.Community --override "--quiet --add Microsoft.VisualStudio.ComponentGroup.NativeDesktop.Core --includeRecommended --passive --norestart"
    
  2. Scoop (simple Windows package manager)
    Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
    Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression
    
  3. Flutter and just (a task runner) via Scoop
    scoop install flutter just
    

Creating the project and quick dev loop

I created a small app to get the toolchain warmed up and to capture the basic commands I expect to reuse.

  1. Create a new Flutter project and enter the folder:
    flutter create postcrossly
    cd postcrossly
    
  2. Add a tiny justfile to keep common tasks handy:
     @"
     format:
         dart format .
    
     run-windows:
         flutter run -d windows
    
     test:
         flutter test
     "@ | Set-Content -Path .\justfile -Encoding UTF8
    
  3. Run the app on Windows:
    just run-windows
    

This launches the Flutter app on Windows in debug mode (the default). Use --profile when you need performance profiling, or --release to work with a production release of the app.

Notes and small gotchas

  • flutter doctor is your friend; run it if something doesn’t behave as expected.
    flutter doctor
    
  • Visual Studio must include the Desktop C++ workload to target Windows desktop.
  • If you later want to run on Android from the same machine, you’ll need the Android SDK tools, Android Studio, and an emulator or a device.

What’s next — postcrossly

I’m going to build a small app called “postcrossly” — a simple postcard manager to track postcards received and sent. The core features I plan to tackle first are:

  • record postcards with a photo, sender/recipient, date, and short notes;
  • mark postcards as sent or received and keep a simple history;
  • basic tagging and search so it’s easy to find a card later;
  • keep the UI minimal and focused on quick entry and review.

This is largely a personal project — my partner has been asking me for something like this for years — so I’m aiming for a compact, pragmatic app that solves a real need without overengineering. I’ll focus on a clean Windows-first dev loop and iterate from there. One of the main goals is simply to get started, so I’ll keep the approach pragmatic and avoid overcomplicating things.

I’ll continue to document the development in future posts: design decisions, small code snippets, Windows-specific build notes, and any gotchas I hit along the way.

That’s it for this setup log — see you in the next post.


You can follow the Postcrossly code as it evolves here: https://github.com/nuno-barreiro/postcrossly