Skip to main content
← back
skip to case study

first internship, first real codebase. learn fast, ship features, and not break a flutter app already serving hundreds of thousands of users.

role
flutter intern
timeline
oct 2021 to jan 2022
stack
flutter · firebase
01first job

showing up barely knowing github

this was my first internship. i had written flutter on my own, but i hadn't worked inside a real team or a real codebase. day one meant figuring out branches, prs, and code review, the practical side of shipping with other people.

the bar was higher than my college side projects. the app was already live and being used.

02shipping

onboarding and dashboard at scale

i built parts of the onboarding and dashboard screens in flutter. tiny surfaces but every new user hit them. that meant honoring loading, empty, and error, not only the sunny path.

the app needed to handle 500k+ users across patchy networks, so i used riverpod for state and dio with retries and timeouts for the api layer.

the happy path is easy. the loading, empty, and error states are the product.
galleryopen any screen to enlarge · 3 shots
03polish

dark mode and the small stuff

i added dark mode across the screens i owned and nudged general ui polish along the way (spacing, type scale, hit targets). boring on paper but it keeps the product from feeling janky.

this was where i first learned that detail work compounds. shipping a ticket isn't always the same thing as finishing it.

outcomes
500k+ users
scale at the time
first prod ship
my first real release
flutter · firebase
stack