Skip to main content
Algo Vortex
Back to case studies
Hospitality
Gusto

Gusto social food discovery app case study

Maps, feed, and restaurant profiles

Gusto is a social food discovery app. Users explore restaurants on maps, post dish photos, read community reviews, and follow a feed shaped by friends and taste instead of anonymous star averages alone.

Gusto cover screenshot

Project intent

Gusto is a social food discovery app for people who do not trust empty star averages. Discovery should be shaped by taste and people you follow, with a map you can browse and photos that show the plate. Star walls hide whether a place fits your crowd.

That means a social loop that still feels fast on mobile: posts, reviews, notifications, and profiles that stay useful when you are already standing on a sidewalk deciding where to walk next. Web sits alongside for browsing, but the core experience is built for phones in the wild.

Hospitality discovery fails when every place looks the same on a star list. Gusto bets on social proof you can inspect: who posted, what the plate looked like, and where it sits on the map. The product should feel useful while you are already outside, not only when you are planning from a desk.

Friends and photos are the ranking signal the product wants to earn. Maps provide place and distance. Together they answer "where should we eat" with more than a cold average score.

Challenge

Star averages hide whether a place fits your crowd. Diners wanted recommendations from people they trust, on a map they can browse, with photos that show the plate. Building that needs maps, media, and a mobile social loop that still feels fast when the network is spotty and the photo upload is large.

Restaurant detail pages had to carry menu context, reviews, and media without turning into a slow dump. Trending cuisines and discovery maps needed place data that stayed current. Notifications and preference settings had to keep the feed personal without burying the map. The stack also had to support App Store and Play Store clients plus a web surface on shared AWS services.

Photo uploads and map tiles fight for attention on mobile networks. A feed that stalls or a map that janks loses the diner before a review is written. Restaurant pages also had to mix menu context, reviews, and media without turning into a slow scroll of everything at once. Preferences and notifications needed to personalize without hiding good nearby options.

Moderation and media quality matter as soon as the feed gets real. Blurry plates and spammy posts poison discovery. The system needed clear post and restaurant models so future moderation rules had somewhere to hang.

Solution

We shipped React Native and React clients with Express and Django services on EC2 and ECS. RDS PostgreSQL stores social and place data. Amazon S3 holds community photos and restaurant media. Google Maps Places, Map SDK, and geolocation power discovery. Sentry covers crashes. CloudWatch covers server logs. Mobile targets the App Store and Play Store. Web sits on Vercel.

The feed, profiles, reviews, and map share the same place and social models. Dish posts upload to S3 and attach to restaurant and user graphs. Trending cuisines and discovery map views read from that same data so the product does not fork into a map app and a social app that disagree about what is nearby.

We kept mobile and web on shared Express and Django services so a restaurant edit or a new review appears everywhere. React Native carries the posting and on-the-go map loop. React on Vercel covers browsing. Sentry and CloudWatch watch crashes and server logs because a broken upload path kills the social loop faster than a missing feature does.

Trending cuisine views reuse the same place graph as the map, so a spike in posts can surface without a separate trend database. Notifications nudge people back to threads they care about without turning the app into an alert firehose.

Architecture

React Native and React clients call Express and Django services running on EC2 and ECS. PostgreSQL on RDS holds users, follows, posts, reviews, and restaurant records. Photo uploads go to Amazon S3, with references stored beside the social objects so feeds and restaurant pages can load media without stuffing blobs in the database.

Discovery uses Google Maps Places, Map SDK, and device geolocation to place restaurants and trending cuisine views on the map. Notifications and preference settings adjust what the feed prioritizes. Sentry catches mobile and API crashes. CloudWatch watches ECS and EC2 logs. Vercel hosts the web client against the same APIs, so place data and social graphs stay consistent across surfaces.

ECS and EC2 host the API fleet. RDS holds the social graph and place records. S3 stores media. Google Maps Places and the Map SDK feed discovery and geolocation. Preference settings adjust feed ranking without inventing a second place database. One truth for restaurants and posts across App Store, Play Store, and web.

Security and access

Community photos and restaurant media upload to Amazon S3 with references stored beside posts and place records in PostgreSQL. Location discovery uses Google Maps Places, Map SDK, and device geolocation on the client and API path.

Sentry covers mobile and API crashes. That matters when upload or map flows fail outdoors. User media stays in object storage so blobs do not sit in the database next to social graphs.

Key features

  • Discovery map for local spots and trending cuisines
  • Community reviews and dish posts with photo uploads
  • Social feed, profiles, notifications, and preference settings
  • Restaurant detail screens with menu context and media
  • React Native apps for App Store and Play Store
  • Shared AWS services for mobile and web clients

Results

  • Discovery map for local spots and trending cuisines
  • Community reviews and dish posts with photo uploads
  • Social feed, profiles, notifications, and preference settings
  • Mobile and web on shared AWS services
Gusto social feed of dining activity and posts
Gusto social feed of dining activity and posts
Gusto restaurant details screen with menu and info
Gusto restaurant details screen with menu and info
Gusto community reviews for local dining spots
Gusto community reviews for local dining spots
Gusto trending cuisines discovery screen
Gusto trending cuisines discovery screen

Technology stack

React NativeReactExpressDjangoPostgreSQLAmazon S3Google Maps APIVercelAWS ECS

Frequently asked questions

Want to talk through a similar build? Contact Algo Vortex or browse the full FAQ.

Want to talk through a build?

Need a dedicated team or a clear project plan? We match engineers to your stack and put a first plan on the calendar.

Get in touch
Book a call