01 / Hero
A cafe discovery product, not a cafe directory.
CafeMaps helps people in Ho Chi Minh City choose a place by mood, location, price, opening state, and the kind of visit they are planning.

02 / Discovery
Search starts broad, then narrows by real visiting context.
The live product exposes cafe listing, keyword search, guided filters, open-now state, price ranges, districts, vibe, purpose, distance, and cafe detail pages.

03 / Personalization
The quiz turns taste into a discovery shortcut.
Instead of making every visitor tune filters manually, CafeMaps adds a taste quiz: a lightweight route from preference to suggested places.

04 / Your Places
Inspect, save, and return without starting over.
Cafe detail, gallery, saved cafes, saved folders, and visited places keep discovery continuous across desktop browsing and mobile recall.Saved
Keep promising cafes close.Visited
Separate memory from intent.Personal discovery
Make the next search start warmer.

05 / Community
Community contribution is structured before it becomes inventory.
The contribution path asks for a Google Maps link, short reason, and optional real photos, then sets clear expectations around review and moderation.

06 / Editorial / CMS
A product needs an operating layer.
The CMS supports Blog publishing, cafe management, users, and community contributions so the discovery surface stays current.

Content
BlogCurated guides create another route into discovery.Operations
CMSCafes, users, and contributions stay manageable.07 / System
A full-stack spatial product.
Location, discovery, contribution, and personal taste had to work as one system.DiscoveryPlace dataCMSMedia / maps
Product surface
- Next.js
- React
- TypeScript
Operations
- NestJS CMS
Spatial data
- Supabase
- Postgres
- PostGIS
Services
- Google Maps API
- Cloudinary
08 / Reflection
The hard part is reducing comparison work.
Less scanning. Better first moves.
Context
People choose cafes by mood, purpose, and situation, not distance alone.Defaults
Good discovery reduces decisions before users start filtering.Trust
Real photos, community input, and saved places make recommendations feel personal.