While this is convenient, it would be nice if you did not have to run the
build manually every time you make changes in your model classes.

Generating code continuously

A watcher makes our source code generation process more convenient. It
watches changes in our project files and automatically builds the necessary
files when needed. Start the watcher by running
flutter pub run build_runner watch --delete-conflicting-outputs in the project root.

It is safe to start the watcher once and leave it running in the background.

Consuming json_serializable models

To decode a JSON string the json_serializable way,
you do not have actually to make any changes to our previous code.

The same goes for encoding. The calling API is the same as before.