A month of Flutter
Tags: flutter, firebase, tutorial
Published: 2018-12-01 19:34:20

---
title: A month of Flutter
author: abraham_williams
layout: article
permalink: /a-month-of-flutter/
category: Development
photo: png
tags: Flutter, Firebase, Tutorial
summary: Building a Flutter app in a month with Firebase.
series: a-month-of-flutter
canonical_url: https://bendyworks.com/blog/a-month-of-flutter
cover_image: https://thepracticaldev.s3.amazonaws.com/i/t4ap7gaags53bjdaz73p.png
published: true
---

_Originally published on [bendyworks.com](https://bendyworks.com/blog/a-month-of-flutter)._

Recently Uri Shaked wrote an [inspiring article](https://medium.com/@urish/what-i-learned-from-my-blogging-every-day-challenge-45f5a3e95634) about his experience publishing a blog post each day for a month. I've decided to combine his great idea with my goal of becoming a better [Flutter][flutter] developer. **For the month of December, I will be building a Flutter app and writing a daily blog post about the process.**

## My goals

- Become a better Flutter developer
- Practice writing concise blog posts
- Practice writing project requirements

## What I am building

For this challenge I will be building Birb, an image sharing social network dedicated to birds. An Instagram for birds, if you will.

Since I have not built the app yet, I don't actually know how much will get accomplished in December. Here are my planned [MVP](https://en.wikipedia.org/wiki/Minimum_viable_product) features:

- Global stream page of all posted images
- User authentication
- Image posting
- User profile page
- Individual image page
- Comments on image page

If I finish the MVP, I'll add more features. Some potential features, in no particular order:

- Push notifications
- \#hashtags on images
- A/B Testing
- Themes
- Friendship graph/following
- Friends stream of images
- Liking images

## What to expect

Every day* I will create a new blog post describing my most recent progress. Over the month these small steps will hopefully add up to a nice app. The blog posts will mostly be short and to the point, covering a small widget or feature.

As this will be an ongoing development project where I will be experimenting with different patterns, don't expect everything to be implemented perfectly the first time. There will be refactors and bad choices along the way. I will, however, be following best practices like writing tests, running [CI](https://travis-ci.org/), linting, etc.

If you are new to professional development worfklows, you can follow the [process](https://github.com/abraham/birb/projects/1) and get a peak into how projects can be run. I will be writing the stories and implementing the features and my colleague [Pearl][pblatteier] will be reviewing progress and code.

## Technologies

Some of the technologies I plan to use in Birb:

- Flutter (duh)
- Firebase Firestore for a database
- Firebase Auth for user authentication
- Firebase Cloud Storage for hosting images
- Firebase Cloud Functions for serverless computing
- Material Design for aesthetics
- Device media APIs

## How can I be a part of it?

What to be more involved? Here are some areas to start:

- [Open issues](https://github.com/abraham/birb/issues/new) with suggestion of better approaches or ideas for the app
- Follow along with the series and build your own app
- Follow [@abraham](https://twitter.com/abraham) and [@pblatteier][pblatteier] notifications of new posts
- [Share this on Twitter](https://twitter.com/intent/tweet?text=A+month+of+@Flutterio+with @abraham&url=https://bendyworks.com)
- Star the [GitHub repository](https://github.com/abraham/birb)

See you tomorrow when I create the initial Flutter app.

P.S., if you are in the Madison area, come to GDG Madison's [Flutter Live Viewing Party](https://www.meetup.com/gdgmadison/events/256182934/) on December 4th.

_*Posting every day is my intention but I may take some days off._

[flutter]: https://flutter.io
[pblatteier]: https://twitter.com/pblatteier