← Back to home

Doxx

ReactTypeScript

A web3 notebook linked to your ENS name. Edit text, upload files and images, and publish to the decentralized web.

Screenshots

Doxx screenshot 1
Doxx screenshot 2
Doxx screenshot 3

Problem Statement

Doxx is a web3 notebook linked to your ENS name or Ethereum address. It uses IDX, Ceramic, IPFS, and Web3.storage to publish your documents on the decentralized web.Use Doxx as a blog, profile, journal, homepage, wiki, and more. Create pages, edit text, upload files and images, and embed rich content like videos, bookmarks, and NFTs. Create a profile linked to your ENS name to share your docs with others on the decentralized web. Your docs and identity are yours.

Solution

Doxx is heavily inspired by Notion's seamless editor and data model. I was especially interested in exploring the challenges of building a responsive, real time app backed by decentralized storage. It's hard!Everything in Doxx is a block. Pages, text, and content blocks like headers, callouts, images, files, and embeds are all TileDocuments stored in Ceramic streams. That means each block has an immutable version history.Doxx uses IDX to link your ENS name or Ethereum address to your documents. Doxx maintains an IDX index of blocks and pages linked to your IDX profile.Profile pages read data from both IDX and ENS text records. They use the IDX "basic profile" schema, plus a custom schema for storing social account usernames.Image and file uploads are stored on IPFS using web3.storage.Doxx itself is a TypeScript + React app hosted on ENS + IPFS. If your browser supports ENS resolution, you can access it directly at doxx.eth.

Hackathon

HackFS 2021

2021

Prizes

  • 🏆

    Ceramic Pool prize

  • 🏆

    Best use of Ceramic or IDX

  • 🏆

    ⭐️ HackFS Finalist

  • 🏆

    Protocol Labs Pool Prize

Contributors