Shipaton 2025 - Day 36 - Room Backed Lessons List Sorted by Topic

Shipaton 2025 Day 36: Room-backed Lessons screen for Learn Lithuanian Android app - A→Z topic sort boosts discoverability with navigation and readies filters.

Mantas Butenas

9/6/20251 min read

red apple fruit on four pyle books
red apple fruit on four pyle books

Introduction

Today’s Shipaton push was all about turning raw lesson data into a clean, predictable catalog. I wired up the Lessons screen to the Room database through the repository layer and shipped a default alphabetical (A→Z) sort by topic. The result: learners now land on an organized list that’s easy to scan, faster to navigate, and ready for future filters.

Why This Matters

✔️ Predictable structure: When topics are alphabetized, your eyes know where to look. “Adjectives” will always come before “Cases,” which comes before “Verbs,” etc.

✔️ Faster scanning: Grouping by topic reduces cognitive load because learners can jump straight to the section they care about.

✔️ Future-proofing: With sorting in place, adding filters becomes straightforward.

The Approach

I followed a standard Android architecture path: Room → DAO → Repository → ViewModel → UI.

✔️ Room persists lessons locally for instant loading and offline access.

✔️ DAO exposes explicit queries, including sorting.

✔️ Repository provides a single source of truth, abstracting data sources.

✔️ ViewModel collects data as a stream for the UI to render reactively.

✔️ Jetpack Compose UI groups lessons by topic.

Conclusion

Stay tuned for more updates from this Shipaton adventure as I implement more features that will make learning Lithuanian even more enjoyable! Let's make this experience one that resonates with our learners and encourages them to embrace this beautiful language.

Experienced Android Developer with Jetpack Compose & Kotlin Multiplatform skills.

© 2026. All rights reserved.