Inspiration
Inspired by our own struggles trying to manually export our Snapchat memories from the app. As there’s no web tool to backup your memories off of Snapchat, we built one.
What it does
If you want to get off Snapchat, or just backup your precious memories, Snapsaver lets you easily do just that. We do all the work in bulk downloading all your files and backing them up files to your own Google Drive, so you’re in charge of your own files.
How we built it
- Backend:
- The API is built using Node.js and Fastify in TypeScript
- Uses a Postgres database to store users, Google Cloud for OAuth and Google Drive API
- Deployed on railway.app
- Frontend:
- The UI is built using Node.js and Next.js (a React framework) in TypeScript
- Uses Axios.js for the HTTP client and Tailwind CSS for styling
- Deployed on vercel.app
Challenges we ran into
We started this project last week’s hackathon, and for this hackathon, we made a lot of improvements.
Our major challenge last week is we were exporting to AWS S3 which is costly on us to scale, creates security and privacy concerns for the user. We were also trying to create a Zip folder locally from thousands of files, which was computationally expensive and inefficient.
This hackathon:
- We now use Google Drive. User owns and controls their data, as it should be. This simplified approach solved our major challenge.
- We also completely revamped the frontend and redesigned and fixed a lot of bugs in the API to make it work.
Accomplishments that we're proud of
- Fully functional! ⭐ Tested on 5500 photo and video memories,
- Initial processing of takes 3 minutes
- Saving them Google Drive takes 23 minutes, totalling 9.36 GB
- Getting all the moving parts to work together
- Collaborating as a sibling duo
What we learned
- Solving all our challenges above, i.e. everything to do with multi-media upload and download
- Working with new packages
What's next for Snapsaver
- Use queues to process multiple users download requests. This helps us efficiently work with the limited RAM/Memory/Storage we have.
- Speeding up download time to save to Drive
Built With
- fastify
- google-cloud
- nextjs
- postgresql
- prisma
- typescript
Log in or sign up for Devpost to join the conversation.