Skip to content

adavidryu/bytez

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bytez

Find what to order — not just where to eat.

Bytez is a dish-first food review app for iOS. Most apps tell you where to go. Bytez answers the question people actually ask at the table: "What dish should I get?"


Demo

Watch the demo

Click the thumbnail to watch the demo on YouTube.


The problem

You’re at a restaurant. The menu is long. Yelp says the place is 4.2 stars — great, but that doesn’t tell you which of the 40 items is worth ordering. Generic review apps are built around venues, not dishes. So you scroll, guess, or ask the server. Bytez flips that: it’s built for the moment you’re staring at the menu and want to know what to get, not just whether the place is good.


What this is

Bytez is a dish-first food review app for iOS. You explore nearby spots on a map, open a restaurant, and then drill into individual dishes. Rate what you ordered with stars, tags, photos, and notes. When you’re deciding what to order next time, you search a dish name and get a quick verdict: average rating, top tags, and a latest photo — then you can dive into full reviews. The app surfaces restaurants that already have Bytez reviews so you see real dish-level intel before you go.

  • Explore — Map and list of nearby restaurants; places with Bytez reviews are prioritized so you see where the community has already contributed.
  • Dish-level reviews — Rate dishes with 1–5 stars, tags, photos, and text. Your review is tied to a specific dish at a specific restaurant.
  • Dish summary — Search a dish at a restaurant and see an aggregated snapshot: average rating, top tags, latest photo. One glance before opening individual reviews.
  • Dish suggestions — When writing a review, you see dishes others have already reviewed at that restaurant so names stay consistent and searchable.
  • Favorites — Save other users’ reviews to your list so you can revisit “that pasta” or “that bowl” later.
  • Profile — Avatar, display name, bio, and light/dark/system appearance. Your reviews and saved reviews live in your profile and in the main flows.

How it works

Explore — The app shows a map (default centered on a demo region; real location can be used) and loads nearby restaurants via MapKit search. Restaurants that have at least one Bytez review in the database are fetched and surfaced so the map and list highlight “reviewed” spots. You tap a place to open its detail view.

Restaurant detail — A single restaurant screen shows its info, a small map, and all Bytez reviews for that place. A dish search bar lets you type a dish name. If there’s an exact match (e.g. “Pad Thai”), you see a dish summary card: review count, average rating, top tags, and the most recent photo. Below that, every review for that dish. If there’s no exact match, you get filtered results by partial name. From here you can open the “new review” flow for this restaurant.

Writing a review — You pick the restaurant (from the detail screen), enter the dish name (with suggestions from existing dishes at that restaurant), set a 1–5 rating, add optional text, tags, and photos. Photos go to Supabase Storage; the review is stored in Postgres with links to the restaurant and your profile. Dish names are the key: consistent naming makes dish search and summaries useful for everyone.

Favorites — From any review card you can save a review to your Favorites tab. Saved reviews are stored in a junction table (user + review). Your Favorites list shows the full review (dish, rating, photos, tags, author) so you can revisit “what to order” later.

Profile — Sign in with email/password, Sign in with Apple, or Google. Your profile holds avatar, display name, and bio; avatar and food photos use Supabase Storage. Appearance (light/dark/system) is stored locally. “My reviews” and “Saved” are the two main lists; the rest of the app uses the same review and restaurant data.


Tech stack

Layer Technology
UI SwiftUI (iOS 17+). Tabs: Explore, Favorites, My Reviews, Profile. MapKit for map and local search; bottom sheets and list layouts for explore and detail.
Maps & location MapKit (MKLocalSearch for nearby restaurants), CoreLocation for user location. Restaurants are matched to the database by mapkit_id or coordinates when creating reviews.
Backend & data Supabase: Postgres for profiles, restaurants, reviews, and saved_reviews; Auth for email/password, Apple, and Google; Storage for avatars and food photos.
Auth Supabase Auth (JWT). Login/signup and OAuth callbacks; profile created on first sign-in and updated from Profile screen.
Images SwiftUI PhotosPicker, uploads to Supabase Storage (avatars, foods), in-memory caching for avatars and review photos so lists and cards load without re-fetching.

The app is native iOS: one Xcode project, no separate backend server. All persistence and auth go through the Supabase client in the app.


Bytez — so you stop guessing at the menu and start ordering what actually hits.


License

MIT — use it, change it, ship it. No warranty if you still order the wrong thing.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages