Protocol Engineer Brian and Head of Design Ryan recently attended DWeb Camp 2023 in the California redwoods. DWeb Camp is a five-day retreat for builders and creators constructing tools, making apps, and cultivating a community around the decentralized web. While there, they presented a workshop on the ODD SDK using WNFS and the ODD App Template. The workshop invites participants to create ODD Avatars, like the one below.

Our marketer Becky, transmogrified!

Creating Your ODD Avatar

After grabbing a copy of the workshop code from GitHub, you'll first complete the Transmogrify activities. These activities will enable you to upload a photo in the public file system (WNFS) and run Tensor Flow.js over it. This adds the signature ODD eyeballs to the image over the eyes of the person in the image (this mostly works for people, but we've also seen it work on illustrations!).

The ODD Haskell High Priestess

First, create a public avatars directory path. Then, create the directory on your local machine and verify it is in your local file system.

Now it's time to complete the Summon activities. Summon enables the gallery view. The activities are similar to the previous ones, with an additional activity enabling the "delete" function. When finished, you can view your transmogrified image in the gallery. There is also a link to the image hosted on IPFS.

Served with Your Choice of Nodes

IPFS doesn't persist an image - instead, it assigns it a CID (content identifier in the form of a hash) and enables storage and sharing across the nodes in the network. Over time, if a file isn't being requested very often, eventually, it will be "garbage collected" and removed from the node to make room for other content. To ensure that your files remain on IPFS, you must use a "pinning" service to persist them. When you use ODD SDK, Fission persists (or pins) them to our node. (NOTE: We don't run a paid pinning service, but we currently offer complementary pinning to ODD SDK users).

However, if you choose to move your content to another node or change the delivery gateway, all of this can be done very easily! For example, to change the delivery gateway, you only need to change the domain in the code and refresh the ODD Avatars app. When you click on the IPFS link, you'll see it's using a different gateway. The content is being pulled temporarily to the node behind that gateway. But again, make sure to use a pinning service if this is content that you wish to keep around!

Fission will never lock you into our services, and we always build to open source and interoperable standards.

Collect Your Favorite Avatars

This activity utilizes the public file system in WNFS. Since all the files are public, you can use the CIDs of those files and add them to your own gallery. Currently, there is no way to search for CIDs in IPFS (though we're working on it!), but if you know the CID, you can plug it into the function we built into the app.


This was a lot of fun to put together, and we hope you enjoy making your own ODD avatars. We'd love to see what you come up with! Tag us on social media so we can see your ODD creations.

Workshop Code

ODD Avatars App

And if you'd like to learn more about ODD SDK, you can visit the website or join the #ODDSDK channel on Discord.