← Back to Portfolio
Android App · Live Production

DailyDeals

Bilingual Arabic/English smart shopping companion for the Egyptian market. Full RTL support, three-tier caching for instant offline loads, interactive Leaflet branch maps, and live on Google Play serving 5 governorates.

Live · Google Play 5 Governorates Arabic RTL Three-tier Cache
DailyDeals — Home screen showing active deals
5 Egyptian Governorates Served
3 Caching Layers (Firestore / Local / Memory)
2 Languages (Arabic RTL + English)
Live Google Play Store Status
Core Features

Built for Egypt's Market

🌍

Bilingual RTL Support

Full Arabic and English UI with proper right-to-left layout, culturally appropriate date formats, and localised number formatting. Powered by i18next with zero layout regressions.

Three-Tier Caching

Firestore remote data, local AsyncStorage persistence, and in-memory Redux state — ensuring instant catalogue loads and full offline resilience even on slow Egyptian mobile networks.

🗺️

Interactive Branch Maps

Leaflet-based maps with direct-call buttons and navigation integration for national retailers (Carrefour, etc.) and local businesses. Filter by governorate in one tap.

🛒

Smart Shopping Basket

Persistent basket with live price calculation, a favourites system, and real-time deal status tracking — Active, Upcoming, or Expired — surfaced with colour-coded banners.

📍

Location-Based Filtering

Dynamic store filtering based on the user's current governorate. Automatically surfaces the most relevant deals and branches without manual selection.

📊

Error Monitoring & Analytics

Sentry integration for crash reporting and error monitoring. Redux-managed ad-frequency control prevents over-exposure and keeps the experience clean.

Store Directory

Find any branch, call in one tap

A full interactive directory of national and local retailers. Each listing shows opening hours, contact number, Leaflet map location, and live deal count. Direct-call and Google Maps navigation built in.

Leaflet.js Firebase Firestore Direct-call integration
DailyDeals — Store directory and branch map
Shopping Basket

Persistent deals tracker

Add deals to your basket across sessions — the three-tier cache keeps everything in sync whether the user is online, offline, or switching devices. Real-time total calculation with currency-aware formatting.

AsyncStorage Redux i18next · RTL
DailyDeals — Shopping basket and price summary
Tech Stack

Mobile-First · Offline-Resilient

// Frontend
React NativeExpoTypeScript
// State & Storage
ReduxAsyncStorageFirebase Firestore
// Maps & i18n
Leaflet.jsi18nextRTL support
// Monitoring
SentryEAS BuildGoogle Play
App Screens

Bilingual Interface

DailyDeals — Home / Deals screen DailyDeals — Store branch map DailyDeals — Basket view DailyDeals — Arabic RTL interface