Back to all Case Studies Android Case Study

My Story App

A story-sharing Android app that combines authentication, image uploads, API-driven feeds, and optional location context.

GitHub repo
My Story app logo
Mobile case study My Story
RoleAndroid Developer
ProgramDicoding Project
StackKotlin, REST API, Maps
FocusAuth, upload, map stories
My Story app preview
Upload Optimization -80%

Image file size reduction through compression before upload.

Upload Speed <5s

Average upload time on 3G network connections.

Feed Capacity 1000+

Stories browsable with constant memory footprint.

A complete story-sharing flow, from login to map context.

My Story combines several common mobile product requirements in one project: authentication, API feeds, image upload, and map-based exploration.

The Challenge

Handling image uploads while maintaining responsive UI required optimizing file size before transmission. Paginated feed fetching needed efficient memory management to prevent OOM crashes on lower-end devices. Location permission flows demanded careful lifecycle handling, and story feed synchronization required pagination tokens and cache invalidation logic.

Approach

I implemented image compression using bitmap scaling before multipart upload submission. Token-based authentication was stored securely using encrypted SharedPreferences. Pagination utilized offset-based parameters with local caching to support infinite scroll patterns. Location updates integrated with MapFragment lifecycle, and feed pagination used Paging library for efficient memory management.

The Impact

  • Implemented image compression reducing upload size by 80%, achieving sub-5-second upload times on 3G connections.
  • Built token-based authentication with refresh token rotation and secure storage using EncryptedSharedPreferences.
  • Designed Paging library-based feed implementation supporting scrolling through 1000+ stories with constant memory footprint.
  • Integrated location geocoding with fallback to manual location selection, providing story context without compromising user privacy.
My Story screen previews
Build notes

Implementation Highlights

01

Media & Authentication

  • Multipart form-data upload handling
  • Token-based session management
  • Image compression before upload
02

Content Feed Architecture

  • Paginated API responses
  • Feed caching and refresh logic
  • Location geocoding integration
03

User Experience Features

  • Image gallery and camera integration
  • Location permission workflows
  • Infinite scroll for feeds
Visual placeholder

Replace with story feed, upload, and map screens.

Visual placeholder

Replace with user flow diagram: login, publish, explore.

A compact product exercise with real mobile building blocks.

This app strengthened my ability to connect UI, API data, media upload, and location features into one coherent Android flow.

Project Review

"Replace this with a course reviewer note or learning reflection."

This is a placeholder review block for the case study layout.

RaafiHilmi

Mobile developer focused on Flutter, Android, API integration, and reliable app flows.