This is a demo of Fireproof, a new web database that's built from the ground up for distributed applications. This app showcases Fireproof's integration with web3.storage and IPFS. While Fireproof can run on any cloud, the developer-friendly defaults showcased here are designed to make it possible to write full featured apps without needing a backend.
In this example you login by validating your email address, and then upload images to your library. From there you can compose albums, and publish them to the web.
User accounts are self-sovereign, powered by DID and UCAN, which means they are tied to private keys that live in your device and which no software can extract. This means that your account is truly yours, but it also means your devices need to be online at the same each time you setup a new device, because device setup involves the old device cryptographically certifying the new device.
Part of the Fireproof hypothesis is that distributed identity and applications can be be made friendly enough for everyone, from developers to mainstream users. So while this demo relies on cutting edge technology, it's also designed to show how apps built like this can be compelling, fun, and usable.
Customize the style and layout of your gallery, then publish it to a plain HTML link.
To iterate from a starting point like this, into something people would use for real world, here are some ideas for additional features:
- Manual tagging workflows
- Auto tag all videos in an import
- Auto tag based on exif or other machine data
- Transcoding / browser optimizing
- Importing weird formats
- Non-public asset files (private metadata is no problem)
Things you'd get "for free" as they are part of the Fireproof roadmap, even if they are only nascent now:
- Multi-user collaboration on a metadata library
- Passkey (TouchID / FaceID) login (also WalletConnect)
- Multi-device sync (Already works)
Run the app locally by cloning the repo and then running:
npm install
npm start
Please run npx tsc
on pull requests to minimize cleanup.