← Back to Replit Expert

OkaySo

Snap a photo of wherever you're at, and get summarised reviews instantly.

I created the app just for myself, so it's not live publicly.

OkaySo is a mobile web app that lets you get summarised reviews for any bar, restaurant or other location you're at. Just take a photo outside and within a few seconds the app works out where you are, pulls its Google reviews, and summarises them — telling you the good and the bad.

Key features

  • Search quickly by taking a photo
  • Uses AI on the photo + GPS to work out exactly where you are
  • Pulls live reviews from Google Maps
  • AI summary covering the good, the bad, tips and scams to know about
  • It's a PWA so no need to download anything

Tech used

  • Built and hosted on Replit
  • React + Vite (PWA, mobile-first)
  • Node.js + Express for the API layer
  • PostgreSQL + Drizzle ORM for scan history
  • SerpAPI for Google Maps search and reviews
  • OpenRouter (Mercury 2 and Gemini Flash 2.5) for photo analysis and review summarisation

The story

I've wanted to build this app for a long time. Every time I'm on vacation with my wife we'll be walking, find a place that might be good — then she'll spend the next 5 minutes scrolling Google reviews to see what it's like and check for any scams.

Boring, so I figured an app could make this easier.

I figured that AI models were advanced enough to OCR information from a picture of a venue as most places have name signs or other clues. But this alone wouldn't be enough — especially for chain locations. Location awareness would be required, which is simple on mobile. I searched and found SerpAPI which would be able to handle location search for coordinates, and pull reviews for the chosen location.

Replit has a built-in integration with OpenRouter making the AI step easy. I went with Gemini Flash 2.5 for image analysis and Mercury 2 for location picking and review summaries — both models were the fastest I tested at doing this.

Once it was working I spent a few hours tidying up the design and handling errors. Now working, the app takes about 3–5 seconds to deliver the summary.

View on GitHub →