Lock-in
Encrypted text, photo, and video storage & sharing. Worked in a team of 4 for Purdue's CS 307 class.
Problem
Notion, Google Docs, etc. are all not end-to-end encrypted (E2EE). This means they may encrypt your data for transit and at rest, but they hold the keys, and could hypothetically see your data. Surprisingly, E2EE platforms are quite rare.
Motivation
CS 307 is Purdue’s team-based software engineering course. I worked with 3 others to build this project: we started with charters and high-level design decisions all the way to debugging cryptography workflows at 3 AM…
Technical approach
- Frontend: React and TypeScript
- Backend: Node.js and Express
- DB: Supabase
All encryption and decryption happens on the frontend, using the AES-GCM encryption algorithm exposed by the Web Crypto API. Only ciphertext is sent to and recieved from the server and stored at rest.