Skip to main content
skip to case study
01first job

showing up barely knowing github

my first internship. i'd written flutter on my own but never in a team codebase, so day one was branches, prs and code review. and the app was already live.

first job, screen 1
02shipping

onboarding and dashboard at scale

i built parts of onboarding and the dashboard: small screens every new user hits, so loading, empty and error states mattered as much as the happy path. for 500k+ users on patchy networks, riverpod for state and dio with retries and timeouts.

shipping, screen 1
shipping, screen 2
03polish

dark mode and the small stuff

i added dark mode to the screens i owned, plus spacing, type and hit-target fixes. that's where i learned shipping a ticket isn't the same as finishing it.

outcomes
  • 500k+ usersscale at the time
  • first prod shipmy first real release