reLive
Concerts don't need to disappear after the lights go out. This project turns fan-shot videos into a complete, relivable concert—syncing footage from different perspectives into a song-by-song timeline. Built to rescue great shows from forgotten camera rolls, it transforms scattered clips into a shared memory of the night.
Inspiration
We go to a lot of concerts and film constantly, but those videos just sit in our camera rolls, unwatched and unorganized. We wanted a way to be more intentional about our concert memories—automatically organize them and make them easy to revisit.
What it does
reLive is a social platform for concert videos. Upload a video from your phone, and reLive automatically detects which concert you attended by extracting GPS coordinates and timestamps from the video metadata. It matches your video to the exact show—artist, venue, date, and setlist—creating an immersive page where you can relive that moment. Each concert becomes a shared space where you can see other attendees' perspectives, and your profile becomes a curated log of every show you've been to.
How we built it
Frontend: React mobile app with Capacitor for cross-platform deployment
Backend: Express.js with TypeScript, handling video uploads, metadata extraction, and concert detection
Database: PostgreSQL hosted on DigitalOcean's managed database service, with a seven-table schema (users, artists, venues, concerts, attendees, songs, videos) managed through node-pg-migrate for version-controlled migrations
Storage: DigitalOcean Spaces for video storage using S3-compatible API
Concert Detection Pipeline:
- Extract GPS coordinates and timestamps from video files using the
exifrlibrary - Query Setlist.fm API for concerts matching the timestamp
- Geocode venue locations using OpenStreetMap Nominatim (Setlist.fm returns city centers, not actual venues)
- Calculate proximity using Haversine formula to match GPS coordinates to venues
- Assign confidence scores based on distance and time matching
- Automatically populate concert details including full setlist data
Infrastructure: All hosted on DigitalOcean—backend server, managed PostgreSQL database, and Spaces for object storage
Challenges we ran into
Geocoding accuracy: Setlist.fm API returns city center coordinates rather than actual venue locations, which caused false negatives in our proximity matching. We solved this by integrating OpenStreetMap Nominatim to geocode precise venue addresses.
Timezone parsing: Apple's date format with timezone offsets caused parsing bugs in Node.js on Windows. We had to implement custom date parsing to handle metadata correctly.
Storage decisions: Initially considered Cloudinary, but switched to DigitalOcean Spaces due to file size limitations on free tiers and better pricing for concert video storage.
Accomplishments that we're proud of
Built a fully functional concert detection system in 24 hours that accurately matches videos to specific concerts, even when multiple shows happen on the same date in the same city. The confidence-based matching algorithm handles edge cases well and provides a seamless user experience.
What we learned
Metadata extraction is powerful but inconsistent across devices. Proper database migrations are worth the setup time, even in a hackathon. DigitalOcean's managed services significantly reduced DevOps overhead, letting us focus on core product features.
What's next for reLive
- Audio fingerprinting to detect specific songs within videos
- Social features for following friends and discovering concerts
- Integration with ticketing platforms for automatic concert logging
- Enhanced video editing tools for creating concert highlight reels
Log in or sign up for Devpost to join the conversation.