Technical Highlights

Key technical challenges and the solutions I implemented.

Deterministic Quiz Randomization

Context: Educational App

Problem

Quiz questions needed to be randomized per student attempt while ensuring fairness and reproducibility. A naive shuffle would produce different orderings on each access, breaking consistency.

Solution

Used seeded randomness (Collections.shuffle with a Random seeded by attemptId) so each attempt always generates the same question order. To address the hidden risk of instructors modifying questions mid-attempt, we blocked structural changes to any quiz with active in-progress attempts.

Result

Quiz randomization is deterministic per attempt, and in-progress students are protected from structural changes — guaranteeing fairness, reproducibility, and data integrity without snapshot duplication.

Device Lifecycle Management

Context: Educational App

Problem

Students were restricted to one device, but when they changed or lost their phones, they had to contact the admin directly to regain access. This worked at small scale, but with thousands of users it became chaotic and unmanageable.

Solution

Instead of removing the restriction, we redesigned it into a proper lifecycle. Devices were registered with metadata, refresh tokens were bound to device identifiers, and a device reset request flow was introduced where students submit a reason and admins approve or reject with full context.

Result

Single-device enforcement remained strict, but the process became scalable, auditable, and no longer dependent on manual back-and-forth communication.

Installer Source Detection

Context: Mobile Infrastructure

Problem

During force updates, users were redirected to the wrong store due to manufacturer-based detection logic.

Solution

Replaced manufacturer-based detection with installation source detection using actual installer information.

Result

Resolved incorrect routing, ensuring users reach the correct store regardless of device brand.

Arabic Search Normalization

Context: 3arabawy App

Problem

Multiple Unicode representations caused incorrect search results.

Solution

Normalized Arabic characters and removed diacritics.

Result

Accurate and consistent Arabic search behavior.

Pagination Optimization

Context: 3arabawy App

Problem

Severe performance drops on low-end devices due to heavy blur rendering.

Solution

Removed heavy blur rendering from list views.

Result

Significant scrolling performance improvement.

Device Orientation Detection

Context: Party Player App

Problem

UI locked in portrait mode while video required automatic landscape full-screen.

Solution

Developed native Flutter plugin using accelerometer and motion sensors to detect real-time orientation.

Result

Accurate full-screen transitions without changing system rotation settings.