Skip to content
🎲 MERN web app that (pseudo)randomly picks a highly-rated restaurant near your current location
JavaScript CSS HTML
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


One-click for a (highly rated) random restaurant near you for the not-picky eater :)

Since my wife can never decide where she wants to go out to eat - I had to create an elegent solution we can both agree on, so...

I've built a mobile first, MERN web app that picks a highly-rated, (pseudo)random restaurant near your current location with a click of a button.

What else this app does? It lets you select a search radius ( = how much you are willing to travel) and after creating a user account (and logging in) you will be able to store the places you visited/liked and write notes on them describing the experience for your future-self.

What I used

This web app was created using React.js, Node.js & Express router, Passport.js (with a custom middleware for user auth), MongoDB & Mongoose (ODM).


The app uses the user current location telemetry (geolocation from you mobile device / browser) to request the relevant data from popular restaurant rating services (Zomato & Yelp). Next, the data is re-parsed and aggregated to fit our predetermined parameters (avg-rating, number of votes, distance, etc...) and then displayed to the user (after being shuffled and randomized).

We use Google Maps & Places to display the restaurant location and allow navigation to the restaurant (from your current location) upon clicking on the address link.

The resultant phone number is clickable - you can "click to call" on the number on mobile devices ("tel" URI scheme).


Live demo (deployed to Heroku):

Screenshot Dine-Tonight

iPhone-X Screenshot


This app is still work-in-progress [WIP] and therefor does not have the full intended functionality (yet).

Currently in development:

  • User Auth (passport)
  • Database integration

Future development:

  • Additional data sources
  • Statistics
You can’t perform that action at this time.