Restaurant discovery
Browse halal restaurants, see which options are nearest to the user, and check opening hours before travelling.
Helping New Zealand's Muslim community discover halal food, nearby masjids, prayer information, and product-verification answers in one connected experience.



A directory is only valuable when people can quickly find the right result. I identified opportunities to simplify the interface, make search more forgiving, and reduce the work required to load data from Firestore.
The contribution combined product initiative with implementation: recognising the need, proposing a direction, and delivering improvements without waiting for a narrowly specified ticket.
The experience connects place discovery, worship, and product verification instead of treating them as unrelated utilities.
Browse halal restaurants, see which options are nearest to the user, and check opening hours before travelling.
Find masjids around the user's current location and view prayer times needed to plan a visit.
Scan a packaged product's barcode to check whether an existing database record identifies it as halal.
Discover relevant Muslim and halal-friendly businesses alongside food and worship information.
Fuzzy search improved resilience to partial terms and imperfect spelling, helping users reach relevant listings with less friction than exact matching.
When a customer scans a barcode that is not yet in the database, the request does not end at “no result.” The product captures the unknown barcode and starts a structured manufacturer-enquiry workflow.
The app checks the product barcode against the halal database.
If no record exists, the barcode and customer request enter the follow-up queue.
Automation organises the product context and sends a manufacturer enquiry about ingredients and halal status.
The manufacturer response is tracked and associated with the original product enquiry.
The final manufacturer response can be forwarded back to the person who requested verification.
I reworked how application data was structured and fetched to reduce unnecessary Firestore reads. The result was a more efficient loading path and a stronger foundation for controlling cloud costs as usage grows.
The interface redesign began by recognising that the experience could be clearer. I planned and delivered the change end to end, treating the product outcome—not simply code completion—as the measure of success.
Exact performance and cost measurements are not published here because they have not been independently verified. The case study focuses on the decisions and contribution that can be defended in a technical conversation.