Pic it Up is a real-time, multiplayer scavenger hunt game where players race to find real-world objects and show them to their camera. Designed to get players up and moving, this mobile-first web app blends the fun of object detection with the thrill of fast-paced competition.
🟢 Live Demo • 📄 Devpost Submission
- Each round, all players are given a random object to find.
- Players scramble to locate the item in the real world.
- The first to present it to their camera (and have it detected correctly) wins the round and scores points!
- Rounds continue until a set score is reached.
| Area | Tech |
|---|---|
| Frontend | React, Next.js, TypeScript |
| Styling | CSS, ShadCN, Tailwind |
| Backend | Node.js, Socket.io |
| Object Detection | Browser Camera APIs + Tensorflow COCO |
| Deployment | Vercel (frontend), Heroku (backend workaround) |
- ✅ Real-time multiplayer with Socket.io
- 📷 Camera-based object detection via Web APIs
- 📱 Mobile-first responsive UI
- ⚡ Fast-paced rounds and instant feedback
- 🌍 Encourages physical movement and real-world interaction
- Cross-browser camera access and support for flipping camera
- Deploying a backend with WebSocket support (Vercel doesn't support sockets natively)
- Keeping the real-time gameplay smooth across devices and networks
- Built a fully functional real-time multiplayer web game in under 24 hours
- Integrated object detection into a fun and interactive format
- Overcame deployment limitations by creatively hosting the backend elsewhere
- Socket.io and real-time WebSocket communication
- Handling camera access and device constraints in browsers
- Deployment strategies for Node.js + WebSocket projects
- 🕹️ New Game Modes: Timed rounds, team-based challenges, and more!
- 🌟 UI Polish: Enhanced animations and transitions between rounds
- 🧑🤝🧑 Social Features: Leaderboards, invite links, and friend lobbies
- Gayane Petrosyan
- Philip Soitu
-
Clone the repo:
git clone https://github.com/tarakanner/ConUHacksIX.git cd ConUHacksIX/web -
Install dependencies:
npm install --force
-
Start the frontend server:
npm run dev
-
Start backend server (in another terminal)
cd ConUHacksIX/socketio-server && npm install && node server.js
This project was built for educational and demo purposes during a hackathon. Feel free to fork and expand on it — contributions are welcome!