Portfolio
All work20 / 28

Café Map

A café finder that stops asking Google — it pulls place data once, stores it, and serves everything after that from its own database.

Café Map
Client
Private client
Year
2022
Engagement
Freelance
Live site
Internal tool, not public
Scope
  • Frontend
  • Backend
Stack
  • React
  • Ant Design
  • Node.js
  • Express
  • MongoDB
  • TypeScript
  • Google Maps

About the project

A private commission: a map for finding cafés nearby, carrying the details that decide whether you actually go — opening hours, rating, price level, photos.

The interesting half sits behind it. Google's Places API is metered and paged, so the site does not call it per visit. A fetch endpoint sweeps an area, walks the paginated results, skips anything already stored under its place id, pulls the full detail record for the rest, and writes it to MongoDB. From then on the map reads from our own database, and the collected set can be exported as a spreadsheet.

I built both halves alone over about a month and a half — Express and TypeScript on the server, laid out in routes, controllers, services and models; React with Ant Design on the front. The site is no longer online.