← Back to Blog

How BiteMap Works: The Tech Behind Video Restaurant Discovery

Building a TikTok-style video feed for restaurants isn't simple. Here's how we're doing it.

The Challenge: Building a Video-First Mobile Experience

Creating a smooth, engaging video feed is one of the hardest problems in mobile development. Videos need to load instantly, play smoothly, and not drain your battery. On top of that, we need to connect every video to real restaurant locations and make everything searchable and discoverable.

Here's how we're solving these challenges:

The Architecture

Native iOS with SwiftUI

We built BiteMap as a native iOS app using SwiftUI. While we could have used React Native or Flutter for cross-platform development, we chose native iOS for three key reasons:

  • Performance: Video playback needs to be buttery smooth. Native iOS gives us direct access to AVFoundation for optimal video performance.
  • User Experience: SwiftUI lets us create interfaces that feel natural on iOS, with smooth animations and gestures that users expect.
  • Future-proofing: We can immediately take advantage of new iOS features like widgets, Live Activities, and Vision Pro support.

Backend: Supabase

We're using Supabase as our backend infrastructure. It gives us:

  • Real-time database: PostgreSQL with real-time subscriptions for live updates
  • Authentication: Secure user management with social login support
  • Storage: Scalable video and image hosting with CDN delivery
  • Edge Functions: Serverless functions for complex business logic

Supabase lets us move fast without managing infrastructure, while still giving us the power and flexibility of PostgreSQL.

Our Tech Stack

Frontend: SwiftUI, AVFoundation, MapKit, CoreLocation
Backend: Supabase (PostgreSQL, Auth, Storage, Edge Functions)
Video Processing: FFmpeg for transcoding, CloudFlare Stream
Maps & Location: Google Places API, Custom location services
Analytics: PostHog for product analytics

Key Technical Challenges

1. Video Performance

The biggest challenge is making videos load and play instantly as users swipe. Nobody wants to wait 3 seconds for a video to buffer.

Our solution:

  • Aggressive preloading: We preload the next 2-3 videos in the feed before users even swipe to them
  • Adaptive bitrate: Videos automatically adjust quality based on network conditions
  • Smart caching: Recently viewed videos stay cached locally for instant replay
  • Optimized encoding: All videos are transcoded to multiple resolutions optimized for mobile playback

2. Location Intelligence

Every video in BiteMap is tied to a specific restaurant location. This is harder than it sounds.

Challenges we're solving:

  • Place matching: When a creator tags a restaurant, we need to match it to our database, even if the name is slightly different
  • Duplicate detection: Restaurants often have multiple names or locations. We deduplicate intelligently.
  • Radius-based search: Finding all videos within X miles of a location needs to be fast, even with millions of videos
  • Map clustering: Showing thousands of restaurants on a map without it looking cluttered

3. Content Moderation

With user-generated video content, we need to ensure quality and appropriateness. We use a combination of:

  • Automated checks: AI-powered content moderation for inappropriate content
  • Community reporting: Users can flag problematic content
  • Creator reputation: Trusted creators get more visibility

The Feed Algorithm

Unlike TikTok, which shows you content from anywhere, BiteMap's feed is hyper-local. Here's how we decide what videos to show you:

  1. Location relevance: We prioritize restaurants near your current location or saved areas
  2. Creator following: Videos from creators you follow always appear first
  3. Freshness: Newer content gets priority over old reviews
  4. Engagement: Popular videos (high saves, shares) get more distribution
  5. Diversity: We mix different cuisines and price points to show variety
"The goal is simple: show you the most relevant, authentic restaurant videos for where you are right now."

Integration With Delivery Platforms

One of BiteMap's key features is seamless integration with delivery and reservation platforms. When you find a restaurant you love, you can:

  • Order delivery through Uber Eats, DoorDash, or SkipTheDishes
  • Make a reservation through OpenTable
  • View the menu and hours on Google Maps

All without leaving the app. We built custom integrations with these platforms to make the transition seamless.

Privacy & Data

We take privacy seriously. Here's how we handle your data:

  • Location data: Only used for showing nearby restaurants, never sold or shared
  • Watch history: Stored locally on your device, used only to improve recommendations
  • No tracking: We don't use invasive advertising trackers
  • Data deletion: You can delete your account and all data at any time

What's Next

We're constantly improving BiteMap's technology. On our roadmap:

  • AI-powered search: "Show me spicy ramen under $15 near me"
  • Group features: Plan outings with friends and vote on restaurants
  • AR preview: Use your camera to see nearby restaurants in augmented reality
  • Smart notifications: Get notified when your favorite creator posts about a spot near you

Building BiteMap is a technical challenge, but it's worth it. We're creating something that genuinely makes discovering great food easier and more authentic.

Want to see it in action?

Join our waitlist for early access to the iOS app