bossdjay/grubblerules icon
public
Published on 5/22/2025
Grubbl Rules

Rules
  1. App Purpose Grubbl is a community-powered restaurant and bar discovery app built around local conversation, real-time discovery, and user-driven rankings. Inspired by Reddit and Google Maps, it enables users to:

Upvote/downvote restaurants and bars to surface what’s best.

Participate in threaded discussions by region (e.g., Phoenix, Tempe, Scottsdale).

Use Love, Hate, and Save actions to track and personalize discovery.

Check in to places in real time and see where the community is active now.

  1. Technical Stack Overview 2.1 Core Framework React Native (bare workflow) with Expo Dev Client for native module support and local dev builds.

2.2 Key Libraries Mapbox (@rnmapbox/maps): Interactive map, user location, custom pins.

Firebase Auth: Email + SSO (Google, Meta, X) login.

Google Places API: Business import and details.

React Navigation: Tab/stack navigation.

Clearbit (future): Social enrichment of business profiles.

Expo Linking & Constants: App metadata, deep linking.

2.3 Data & State Context API + Hooks: App-wide state (user, filters, map).

Firestore (primary) or Supabase (TBD): Stores votes, comments, profiles, bookmarks.

  1. Dev Environment Node.js + Yarn: Dependency management.

VS Code: IDE with TypeScript and React Native tooling.

Expo CLI: Project scripts and native builds.

Android Studio / Xcode: Emulators for testing.

  1. Feature Overview 4.1 Home Screen Shows trending regional threads and communities.

4.2 Discovery Screen Collapsible Mapbox map (25%, 50%, 100%).

FlatList of synchronized cards with filters: Open Now, Highly Rated, Nearby.

Sorting: Distance, Rating, Reviews, Alphabetical.

Card actions: Love, Hate, Save.

Tap pin = open modal with photo, rating, address, website, directions, call.

4.3 Profile Screen Shows user stats: votes, saved places, check-ins, comments.

Displays membership role and earned badges.

4.4 Auth Flow Guests can browse.

Auth unlocks voting, saving, commenting, and profile activity.

  1. Mapbox Details Pins via Mapbox.Images.addImages()

User Location: Blue dot SymbolLayer

Controls: Map height toggle, center on user

Pin Behavior: Highlight/scale animation on tap

  1. User Roles Role Permissions Guest Browse only. Member Full access to voting, saving, check-ins, commenting. Influencer Verified user; elevated profile and feed priority. Journalist Verified media; post reviews, access analytics. Moderator Can remove content, flag posts, and enforce rules.

  2. Discussion System (Planned & Active) Post Types: Text, image, poll, and external link.

Threads: Nested replies with upvote/downvote at all levels.

Formatting: Lightweight markdown (bold, italic, links, bullets).

Post Flairs: [New Spot], [Deal], [Closed?], [Debate], etc.

Permalinks: For linking directly to threads or replies.

Notifications: For replies, mentions, trending posts.

Moderation: Flagging, shadowbanning, auto-merging duplicates.

Recurring Prompts: Auto-posted threads like “What’s New in Tempe?” or “Top Brunch Spots in Phoenix.”

  1. Roadmap Version Features 1.0 Discovery screen, Love/Hate/Save, profile system, SSO login 1.1 Comments and voting on posts, basic mod tools 1.2 “Here Now” check-ins, real-time heatmaps 1.3 Clearbit enrichment, social link scraping 1.4 Influencer/Journalist dashboards, advanced analytics, user matching

Documentation updated: May 21, 2025 Let me know if you’d like this exported as a Markdown doc or embedded into your GitHub wiki.