Skip to content

savevsgames/friends-without-benefits

Repository files navigation

FRIENDS WITHOUT BENEFITS

Object Recognition Scavenger Hunt powered by React, Socket.IO, PeerJS, and TensorFlow

License: MIT Node 16+ React 18+ Vite Socket.IO PeerJS TensorFlow.js


Production Link

Live App on Render → https://friends-without-benefits.onrender.com

FRIENDS WITHOUT BENEFITS is a multiplayer scavenger hunt game where you use your webcam to find common objects, score points, and climb the leaderboard. We trained our own custom TensorFlow model to recognize objects in real‐time. Now you can play against friends, share video feeds, chat, and see who can spot items fastest!

This project is built by the same team behind Tomogatch.ai. We’re exploring new ways to blend machine learning and real‐time communication in fun, interactive web apps.


Table of Contents


Features

  • Object Detection with a custom TensorFlow model
  • Multiplayer Mode: share webcam feeds, see each other’s hunts
  • Real‐Time Chat via Socket.IO
  • Leaderboards & User Profiles
  • Authentication (Sign Up / Sign In) with JWT
  • Theme Switching (Dark/Light)
  • MongoDB for persistent data storage
  • Timed hunts, skip features, & much more!

Tech Stack

Front End Back End Tools & Services
  • React (18.x)
  • Vite
  • TypeScript
  • Tailwind CSS
  • Express + Node
  • Apollo Server
  • GraphQL
  • Mongoose
  • TensorFlow.js
  • Socket.IO + PeerJS
  • Custom ML Model
  • Render Deploy

Some of our key packages include:

  • @apollo/client, @apollo/server (GraphQL integration)
  • @tensorflow/tfjs (custom object detection)
  • peerjs & socket.io (real‐time and P2P communication)
  • mongoose (MongoDB ODM)
  • react-icons for UI icons
  • @mui/material for additional UI components

We also used OpenCV, ml5, Microsoft Custom Vision, Google Colab, Coco SSD, and MobileNet during R&D, but ultimately settled on a custom TF model.


Installation & Setup

  1. Clone the repo:
    git clone https://github.com/YOUR-ORG-OR-USER/friends-without-benefits.git
    cd friends-without-benefits
  2. Install dependencies for both server and client:
    npm install
    npm run setup
  3. Configure environment variables:
    • Create .env files for server/client if needed.
    • Example variables: PORT, MONGODB_URI, JWT_SECRET, NODE_ENV=development.
  4. Development mode:
    npm run dev
  5. Build for Production:
    npm run build
  6. Start (production):
    npm start

Usage

  1. Sign Up or Log In.
  2. Start a Scavenger Hunt: You’ll see a timer, items to find, and your webcam feed.
  3. Object Detection: Move your camera around to detect objects. When recognized, you earn points.
  4. Multiplayer: Challenge friends or random players, share live video feed, and trash talk in chat!
  5. Leaderboards: See who’s on top, track personal bests.

Check the live production link to play with others in real time.


Team

Developer Email GitHub
Greg Barker [email protected] @savevsgames
Thomas Stemler [email protected] @OccultParrot
Souad Hassen-Bouzouita [email protected] @SouadHB
Dario Zambrano [email protected] @DarioZambrano

We have also collaborated on Tomogatch.ai and other AI/ML projects.


License

This project is licensed under the MIT License. Feel free to fork, modify, and share—just credit us where appropriate!


About

friends-without-benefits

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •