Building a Predictable Paginated News Feed on Android
What I learned combining MVVM, Retrofit, Coroutines, and Paging 3 across three screens and three REST endpoints.
Project context
Mandiri News was developed during the Bank Mandiri x Rakamin Project-Based Virtual Internship in March 2026. I was responsible for building a mobile flow that could browse and continuously load business news from paginated REST data.
The delivered scope covered three primary Android screens and integrations with three REST endpoints.
The pagination challenge
The central engineering challenge was keeping the interface responsive while new pages were loaded. Loading, empty, success, and failure states also needed to remain predictable as users moved through the feed.
Architecture and implementation
I structured the application with MVVM to separate interface state from data access. Retrofit handled the REST layer, Kotlin Coroutines handled asynchronous work, and Paging 3 coordinated endless scrolling and page loading.
- Separate presentation and data responsibilities with MVVM
- Represent API loading and failure states explicitly
- Load additional pages without blocking the interface
- Keep the feed stable when results are appended
Result and lesson
The project received an Excellent rating with a score of 88.71/100. It strengthened my understanding of production-oriented Android architecture, API state handling, and the details that make a paginated experience feel reliable.