60 Days Of Flutter : Building a Messenger from Scratch

Aditya Gurjar
4 min readAug 11, 2019

--

In this series I’ll be building Messio, A messenger app from scratch using Flutter and writing a daily blog post about it. My goal with this series will be to become a better flutter developer and also practice writing concise blog posts. Now, before you think that 60 days is too long, I’d like to mention that I’ll be writing the series over 60 days and it won’t necessarily have 60 parts. You can expect it to be around 40 parts.

Photo: Getty Images/ Kiyoshi Hijiki

What Am I Building

For this series I’ll be building Messio, A messenger. The distinguishing point for Messio from other messengers will be it’s ease of use and taking a different approach from the conventional messaging navigation flow to a more convenient gesture based navigation.

For this project I’ll be using the BLOC Pattern . I’ll be dividing the development into two phases. The first set of MVP Features:

  • Peer to peer chat
  • Attachments
  • Registration using GoogleAuth
  • Emoji support
  • Voice messages
  • Media bookmarks/Custom categories
  • Profile
  • Gesture-based navigation

Since I haven’t built the app yet so I’m uncertain about the timelines. If everything finishes on/before time I’ll do a second set of features. The second set of features will be:

  • Privacy settings
  • Search
  • Personal/shareable cloud storage for messages and media
  • Double tap to save media to gallery

Mock Designs

To start with I’ve scribbled the rough designs to give you an idea of what I’ll be building. Again, the end result might or might not be similar but this should give you a look into what I’ll be building.

Mock designs for some key pages

How Will I Go About It

Everyday I’ll write a new blog post describing my most recent progress on the app. The posts will be short and precise and list all the resources I will be using during the development.

I’ll also be following all the best practices and strictly following test-driven development.

What I’ll Use

Some of the technologies I plan to use for Messio are:

  • Flutter ( Do I even need to mention that?)
  • Firebase Firestore for database
  • Firebase Auth for authentication
  • Firebase Cloud Storage for hosting images

How Can You Contribute?

Posts In This Series

Show Your Support

Press the clap button below if you liked reading this post. The more you clap the more it motivates me to write better!

--

--

Aditya Gurjar

Mobile Engineer. Writing Mostly about Mobile Dev, Mobile DevOps, and a lil bit of life.