Selected Work — 2025
A restaurant discovery app for Australian food lovers. From first screen to App Store approval — built fast, built right, built to last.
Apple Sign In is mandatory for App Store submission when social login is offered. A dedicated Firebase iOS app registration was required — the web app's audience token doesn't satisfy Apple's native auth check. Google OAuth sits alongside it. Session persistence keeps users logged in across restarts.
The home feed surfaces curated collections by time of day. Tapping into any collection shows real restaurants with photos, ratings, and price — in list or map view. A restaurant detail page shows the full picture: reviews, photos, hours, and a direct share button to send it to friends.
Built on Google Places API, Firebase Firestore, and a Bayesian ranking engine. Two-layer caching cuts API cost by 90%. Geofenced to Sydney, Melbourne and Brisbane. Native iOS sharing built in.
Native iOS binary compiled in the cloud, distributed via TestFlight, and shipped to the App Store — all in a single sprint. Zero rejections from Apple review.
.ipa is produced ready for TestFlight distribution. Every build is reproducible from the same commit.eas.json defines the build profile (simulator, internal, production). Bundle ID and Apple Team ID are set once.eas build --platform ios uploads the project archive to Expo's build queue..ipa.dishcover.app/privacy). Required for any app that uses Sign In with Apple or collects location data.NSLocationWhenInUseUsageDescription), and photo library access declared in app.json.autoIncrement: true in eas.json bumps the build number automatically. Signed with distribution certificate.Shipped — 2025