Postcrossly - Starting my Flutter & Dart journey
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
- 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"
- Scoop (simple Windows package manager)
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression
- 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.
- Create a new Flutter project and enter the folder:
flutter create postcrossly cd postcrossly
- 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
- 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