Spotsy
A Google Maps list that became a travel guide among friends.
In June 2026 I went to São Paulo with some friends. Tips about places arrived as screenshots, links and loose messages in the group chat, and all ended up in the same place: a Google Maps list. The list keeps the address, but loses the rest — who recommended it, why it was worth it, what the people who already went thought.
Spotsy was the attempt to take that list seriously. A guide closed to the group, split into food, thrift shops, bars and cultural outings, where every recommendation has an author, a hand-written description and a place for the others to react and comment.
It took eleven days to build, between the end of May and the beginning of June 2026, and then it served exactly for that trip — and that's fine. It's a personal project, still private; maybe one day it will be open source.
Stack and implementation
Next.js 16 · React 19 · TypeScript · Tailwind CSS · Motion · Leaflet · Drizzle ORM · PostgreSQL / Neon
Place search uses Photon, over OpenStreetMap data: a single call returns name, coordinates and neighbourhood, with no key and no cost. The maps are raster tiles in Leaflet, without WebGL, to stay light on the phone; when a place has no coordinates, the card falls back to a gradient by category. The group's photos live in Vercel Blob, uploaded straight from the browser. Drizzle and PostgreSQL on Neon store people, recommendations, reactions and comments, and the session is a signed cookie, with no external login service.
A guide, instead of the group chat
You sign in with the same Instagram handle everyone already used to find each other. On the other side, the feed gathers food, thrift shops, bars and cultural outings in cards with a photo, the neighbourhood and the name of whoever recommended it — exactly what the Google Maps list dropped along the way.
Search the place, don't paste the link
To recommend, you just search the name inside the app: neighbourhood, category and location arrive filled in, and only the description is written by hand. If the place is already in Spotsy, a notice shows who recommended it first and publishing is blocked, so the guide doesn't repeat an address.
The page for the place
Tapping a card opens the page for the place: the photo up front, the Instagram handle, the address with a copy button, and the map with a shortcut to Google Maps. It's the screen that answers the practical question — where is it, how do I get there — without forcing anyone to leave the app and come back.
Near me
The second tab is a full-screen map: each outing is a pill with the name of the place, and tapping it raises a card with the photo that leads to the detail. Below, a draggable drawer shows the same list — with location enabled, it sorts by the closest and shows the distance to each one.
The trip after the trip
Beyond recommendations, the group posts the photos taken at the places. Each post attaches to a place already in the app — the list appears sorted by who is closest — and accepts up to ten images in a carousel, taken on the spot or from the gallery. Tapping one opens a full-screen viewer, with no bars, and side swiping between photos.
Who brought what
The profile gathers what each person put into the guide: the places they recommended, the photos they posted and what they liked from the others. It's the opposite of a shared list, where everything becomes a pile with no owner and nobody remembers where the best tip came from.
A cheers to Corner
Halfway through the trip, I mentioned the idea to someone and they showed me Corner, which already did this, and did it well. I didn't know it, I liked what I saw, and I became a user. Credit where it's due: finding out someone already solved your problem is one of the best things that can happen to a side project.