StreetBite / FoodTrucker

2019 - 2021

Aggregating London street-food vendors with Mapbox maps and combined Algolia search.

  • React
  • MongoDB
  • ExpressJS
  • Webflow
  • Mapbox
  • Algolia
  • Custom Authorization
  • Complex Map Interactions

My role: Frontend developer

StreetBite react app preview

Street Bite is an ambitious project built for a client who needed a way to aggregate street-food vendors in the wide London area. I have dealt with the front-end development and created a fully functional web application. The users can look up vendors either by searching for a specific food/cuisine or by browsing the interactive map and selecting their market of choice. Administrator could add new vendors, edit existing ones, and manage the whole platform and it's users.

The client arrived with the UI/UX design already resolved, so my job was turning it into a working front end against the Express and MongoDB API. Four kinds of account had to be served from one interface: foodies browsing for somewhere to eat, brands representing an individual stand, markets aggregating those brands into one location, and the administrator on the business owner's dashboard. Each gets a different shape of the same product, which meant a custom authorization layer and panels that change with who is signed in.

Search was the interesting problem. Both routes into the data, the text box and the map, have to land on the same result set, and a market is only a useful answer if it sits inside the area being looked at and is actually trading at the time being asked about. So the Algolia index had to carry geography and opening times alongside the text fields and resolve all three at once. Mapbox handled the map itself, with custom interactions rather than stock markers.

Client Review:

"Milutin designed and implemented the entire front end of a rather complex dynamic web application in React. That included integration with mapbox to dynamically show food markets on a map, -not so simple- search using algolia that involved searching in location + time + string query at the same time, users signup & signin, dynamic UI panels, image galeries and flows to suggest improvements. This was a large volume of work and a rather unconventional and challenging UI fro a front end engineer but he is always able to execute flawlessly. The entire process felt effortless since his collaboration with back end was super smooth. He can reason through problems very well, is great at communication and is always happy to explain the whys and hows behind his proposed implementation as well as further improvements that I did not even ask for but are always great additions to the solution."

Close