Check out the Issue Explorer
Looking to fund some work? You can submit a new Funded Issue here.
### User Story
[comment]: # (As a , I want to so that .)
As a user of Gitcoin who loves my Gitcoin Avatar, I would love to save my gitcoin avatar to my 3box profile so that I can use it in other dapps. It makes me look cool and digital.
### Why Is this Needed
[comment]: # (Describe the problem and why this task is needed. Provide description of the current state, what you would like to happen, and what actually happen)
*Summary*: this is needed so I can use my gitcoin avatar throughout the web3 ecosystem via 3Box.
The Gitcoin Avatar builder allows users to create a fun avatar for their Gitcoin user account.
3Box is building a distributed social profiles network for Ethereum. 3Box provides users with a [profiles dapp](https://3box.io) and developers with [distributed database infrastructure](https://github.com/3box/3box). 3Box dapp allows users to create a profile, log into dapps, store their information and more, while [3Box.js](https://github.com/3box/3box-js) enables your dapp to interact (set/get) with 3Box profiles.
[comment]: # (Feature or Bug? i.e Type: Bug)
### Current Behavior
[comment]: # (Describe what actually happened.)
Right now Gitcoin saves my avatar on their server, I also want to save a copy in my 3Box.
### Expected Behavior
[comment]: # (Describe what you expected to happen.)
I would be over the moon to see this happen:
Add a button (or something) to the Gitcoin Avatar Builder page that allows the user to save their avatar file to 3Box. Might work something like this:
1. Gitcoin app front-end would need to integrate 3Box.js
2. User clicks "Save to 3Box" on the Avatar Builder page. Only users who have previously connected an ethereum account to their Gitcoin account will see that button.
3. Gitcoin app presents the user with a 3Box consent message via the user's web3 browser signing interface (MetaMask, Status, or whatever), which authorizes the Gitcoin app to write and read from the user's 3Box. This is best supported by a modal that provides the user with a bit more information on why Gitcoin is asking them to do this. (But this is completely optional and def not required.)
4. User approves the message.
5. Gitcoin saves an entry to the user's public profile using box.public.set(gitcoin.avatar: 'IPFSHash').
### Definition of Done
[comment]: # (Any other information that would be useful, bullets are helpful.)
Gitcoin avatar saves to 3Box profile. User can go to 3Box.io and see the file in their feed, and other developers can look up the public entry using getProfile(address) which is available via 3Box.js. The task would be finalized once a PR is submitted to the gitcoinco/web repo containing all of the code required to implement the solution described above.
### Additional Information
[comment]: # (Any other information that would be useful, content, screenshots, etc.)
Would love to collab with the Gitcoin team on finding a solution here! hmu