Organizing my articles for Flutter and Server Side Dart

All of my Medium articles below are friend links, so anyone can read them without a Medium subscription. If you are ever blocked from reading one of my articles, just come here to get the friend link. …

Understanding the difference between deep and shallow copying

Photo by Kelly Sikkema

When you create a collection in Dart, the contents of the collection are mutable. You can see that in the following example:

final myList = ['sheep', 'cow'];
myList.add('horse'); // [sheep, cow, horse]
myList.remove('cow'); // [sheep, horse]
myList[0] = 'goat'; // [goat, horse]

The five-step process and how it relates to software engineering

Elon Musk describing his five engineering principles (screenshot from Everyday Astronaut interview)

I recently listened to Elon Musk’s interview from Tim Dodd of the Everyday Astronaut as Elon gave him a guided tour of the SpaceX Starbase site. …

A guide to using the mailer package

Photo by Brett Jordan

When an important event happens on your Dart server, it would be nice to get a notification. One way to do that is to send yourself an email. This article will cover how to do that using the mailer package.

You’ll create a…

Comparing plain old Dart, JSON, YAML, and environment variables

Photo by Adi Goldstein

By now you’re used to setting configuration options in pubspec.yaml, but what if you want to define your own config values and read them inside your app? How do you do that? …

A full step-by-step tutorial

If you’re only playing short audio clips in your app, then generally a simple audio player plugin will work. However, for longer audio forms like music or podcasts, this is often insufficient. Let’s say you start playing a podcast but then leave this app to check…

Navigating null safety with no implicit casts or implicit dynamic types

Switching to Dart 2.12 with sound null safety was overall pretty painless…except for one thing: All my JSON to object conversions broke, and it was super difficult to figure out how to make the errors go away.

In this…

Skilled work

Programming is difficult. Although it’s not so hard to get the Counter app running, becoming an expert at a framework like Flutter and a language like Dart takes time, probably years. So in this article, I’ll give some advice to help you get to the next level.

There are a…

There’s so much more than flutter pub get

Modified screenshot from

If you’ve been working with Flutter for any length of time, you’ve probably run flutter pub get in the terminal or at least seen a popup about it from your IDE. The Pub tool has a lot more than just get to…

Loading, looping, seeking, shuffling, and editing

This tutorial will teach you how to play and navigate multiple songs using the Just Audio plugin for Flutter. You’ll learn about loading audio sources, seeking to another song, repeating a song or playlist, randomizing the song order, and editing the contents of the…


Flutter and Dart developer. Twitter: @suragch1

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store