Azan Market
A halal grocery app for families who were driving across town for items that were often out of stock.

Finding specific halal groceries meant a car trip to a specialty store — and a decent chance the item was gone. Azan Market was built so a parent could order the weekly shop without that trip.
Role
I was the frontend engineer on the mobile app and the web admin, and I grew into the backend as we shipped. I owned the shopping UI, checkout, and the feel of the order flow. The API and MySQL schema were a team effort; I worked on the parts the app actually hit.
Constraint
This is grocery, not a demo store. Stock changes, orders have to be trackable, and the UI has to work in more than one language. A busy parent will not wait on a spinner to add milk. We treated "weekly shop in a few minutes" as the product requirement, not a slogan.
What I built
- Product browsing, wishlist, and checkout in React Native / Expo, with TypeScript and Redux.
- Live order tracking so the customer knows when food actually arrives.
- Multi-language UI — the catalog is useless if half the household cannot read it.
- The store-facing web app in React and Ant Design, so the same catalog and orders could be managed without a second system.
Stack
- Mobile: React Native, Expo, Redux, Formik, TypeScript
- Web: React, Redux, Ant Design, Formik, TypeScript
- Backend: Flask, Python, MySQL
What I would do differently
I would have split customer and ops state earlier. Redux on both the app and the dashboard accumulated "whatever the screen needed" and made later features slower than they should have been.
Screens








