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.
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.