πŸ–₯️100 Days of Flutter

Welcome to 100 days of flutter. If you’re an absolute beginner in flutter, you’ve landed at the perfect place to kickstart your career in mobile engineering.

During the next 100 days, you’ll learn the most important concepts in Flutter such as:

  • Dart Basics to Advance

  • Setup & Installation

  • Widgets

  • Navigation

  • State Management

  • Networking

  • Persistence

  • Unit testing, Widget testing & a lot more.

By the end of the next 100 days, you’ll have built 6 impactful projects to gain self-confidence and of course, polish your resume to impress recruiters ;)

  • Netflix UI

  • Spotify UI

  • Instagram with all major features

  • X/Twitter with all major features

  • Google Docs Clone

  • Crypto Wallet


Day 0: Getting Ready

Before we start, let's set some expectations.

It’s important to read every word here. Don’t skip anything.

Breaking into software development isn’t easy. You need to be really good. If you're aiming for a high-paying job, you need to be among the best. But being the best is mostly about working hard and consistently.

Keep building and learning, you'll get there.

How to not quit?

Learning to code in 100 days is not easy, if it was everyone would be a coder. Feeling overwhelmed during this 100-day journey is COMPLETELY NORMAL, what’s more important is you don’t quit & keep moving.

Whenever you bump into a piece of code that you don’t understand yet, which you will a lot of times throughout this journey, think of it as a chance to upgrade your skills.

There’ll be multiple moments where you feel like ahhhhh i think it’s not for me, maybe i’m not smart enough to be a coder, trust me i’ve been in your place with all f*ckin self-doubts. Just google/chatGPT when you get stuck. Self-doubt is a fear of the unknown, once you know it, there’s no fear.

Here’s one prompt I designed that works really well for me:

Act as a flutter developer expert who specialises in breaking the concept into the first principle and explaining them using the Feynman technique. I’m having a hard time understanding this piece of code/information delimited by delimiter ####. #### <piece of code here> #### ---

Prompt: Can you explain this to me in the simplest language possible that even an absolute beginner in flutter can understand?

Here’s an example response:


Why documentation, why not video tutorials?

The best way to learn anything is by doing, the same applies to learning to code. 80% of your time must be spent on IDE while learning, most people do the opposite of this.

Don’t fall into tutorial porn.

More importantly, 90% of the time when you’re applying some deep-tech like blockchain, generative AI or AR/VR in your project, you won’t find a tutorial video for that. Therefore, having the skill to read & understand documentation quickly can set you apart in the software industry market. That’s why 100 days of flutter in documentation mode, not video tutorial :) I like this subreddit: Is reading documentation better than watching tutorials?


You’re not alone

You’re part of a group now. We have a community where you can talk about your progress, ask for help, and help others. We’re here to support each other. Trust me the biggest mistake i made while learning to code was not getting involved in communities. Helping & asking others is the best way to learn. I would even recommend you to just hop on our discord server, make a group of 3-4 people, hang out with them and start this 100-day challenge together. Who knows you end up co-founding a startup with these 3-4 people, at least that’s what i’m doing along with my friends.


How to attract opportunities

One last thing, the biggest mistake of my life was I never posted about my projects on socials. It's only been a year i started posting about my projects/learnings and the opportunities i got because of it whether internship/freelancing/full-time is insane. There is a specific term for this, building in public.

So here's a task for you, whenever the task for the day is over, post it on social, linkedin/twitter whatever you prefer. And you can tag me if you want, it'll make sure your post reaches a larger audience.

here's a template i have for you:

Hey friends, today I built a Spotify UI clone that seamlessly switches between light & dark themes!

During the process, I learnt Flutter's theming capabilities, state management, and UI components. Also, Learned the art of replicating intricate design details. 🎨

Balancing the exact look and feel of Spotify's intricate UI details was a little tricky, especially when toggling between themes. Had to iterate multiple times to get the animations just right!

cc: @iamyatendrak (if posting on twitter/x) / Yatendra Kumar (if posting on linkedin)

If you look closely the above template has 3 important parts,

  1. What did you build?

  2. Steps you followed to build this.

  3. Challenges you faced(most important)


Here’s the 100 days of Flutter!

Okay, I feel now we’re in a good place to start this challenge. I hope you didn’t skip any part above :))

Please don't complete 5 days in 1 day, abosrption>>>>>speed.

It's highly practical and hands-on, expect chewing some glass.

Day 1-30: Building the foundation

Day 31-60: Coming soon

Day 61-90: Coming soon

Last updated