Kippis — The Beverage Lab
A premium beverage ordering app for Egypt — built for Kippis, a specialty drinks brand. Customers can browse a curated menu, build fully custom drinks with the MoodMixer, track orders in real-time, earn loyalty points, and find the nearest Kippis store. Available on iOS and Android with full Arabic RTL support, biometric login, and integrated payments (Mastercard & Apple Pay).
Project Overview
Kippis is a premium specialty beverage brand in Egypt — positioning itself as a Beverage Lab where drinks are an experience, not just an order. The Kippis mobile app brings this premium feel to the customer's phone: a beautifully designed ordering experience with curated drink categories (mocktails, iced coffee, soft drinks), a one-of-a-kind MoodMixer for building fully custom drinks, real-time order tracking, loyalty rewards, and store discovery.
The app is fully bilingual (English and Arabic) with complete RTL layout support, biometric login (fingerprint and Face ID), secure payment processing via Mastercard and Apple Pay, and QR code scanning for in-store pickup. Built as a Flutter app with a Laravel backend REST API, Firebase for real-time order status and push notifications.
App Screenshots
Real-Time Order Flow
From ordering to pickup — every step is tracked in real-time so customers know exactly when their drink will be ready.
App Modules
Key Features
Results & Impact
Challenges & Solutions
Allowing users to mix a base, choose a size, adjust smoothness and intensity, and add extras creates a huge matrix of possible combinations. Solved with a step-by-step builder flow with live preview and smart defaults — so the experience feels guided and fun, not overwhelming.
Showing live order status (Received → Mixing → Ready) without draining the battery requires Firebase Realtime DB / Firestore push-driven updates — the app listens for changes and updates the UI instantly without repeated API calls.
Premium brand feel demands pixel-perfect UI in both Arabic (RTL) and English (LTR). Flutter's directionality system handles the layout mirroring, but custom animations and transitions needed individual RTL-aware treatment to preserve the premium look in both languages.
