Back to Portfolio

Riyad Al-Salheen Android App

A modern, high-performance Android application built with Kotlin and Jetpack Compose for reading and searching Islamic literature.

Kotlin Jetpack Compose MVVM SQLite Python (Data Tools)
01

Modern Android Architecture

Building a reactive, maintainable UI with Jetpack Compose and MVVM.

The application is architected using modern Android best practices, focusing on unidirectional data flow and declarative UI.

  • Jetpack Compose: Fully declarative UI layer, utilizing state hoisting and recomposition optimization for a smooth 60 FPS experience.
  • MVVM Pattern: Clear separation of concerns with MainViewModel managing UI state via StateFlow.
  • Single-Activity Architecture: Utilizes Jetpack Navigation Compose for seamless screen transitions.
  • Custom Rendering: Implemented a specialized HtmlText component to handle complex styled text rendering directly from the database.
Riyad Al-Salheen Main Screen

Main dashboard with book and chapter navigation.

02

Data Engineering & Search Optimization

Efficiently handling thousands of records with specialized search capabilities.

Search and Navigation

Optimized search results with highlighted keywords.

Full-Text Search & Normalization

To provide an enterprise-grade search experience, I developed a custom data pipeline to handle Arabic text complexities.

  • Python Data Pipeline: Developed scripts for database maintenance, HTML cleaning, and text normalization (removing tashkeel and variant characters).
  • Optimized SQLite: Leveraged a pre-populated SQLite database with custom indices for rapid data retrieval.
  • DataStore Preferences: Utilized Jetpack DataStore for persistent user settings like font size and theme.
  • Repository Pattern: Abstracted data operations behind a clean Repository interface for better testability.
03

Enhanced User Experience

Prioritizing accessibility and readability for long-form content.

Bookmarks

Bookmarks System

Efficient management of favorite content using a persistent storage layer.

Navigation Drawer

Modern Navigation

Intuitive navigation drawer for quick access to all application sections.

About Screen

Dark Mode & Scaling

Full support for system dark mode and adjustable font scaling for accessibility.

Back to Portfolio