
Build timeline
A Web3 book community that rewards reading with NFTs.
by @anushreeBetaMar 2026
8 build logs
Update #1@anushree
The core idea is working: read, keep a streak, and the streak mints an actual ERC-721 badge at 7, 30, 90 and 365 days. Plenty of apps track reading streaks. The difference here is that the badge is on-chain, so it is yours and it is verifiable by anyone — including a brand decid
Update #2@anushree
Spent the day on wallet connection and wrote it up properly afterwards, along with a diagnostic guide for when it goes wrong. Connecting a wallet is where most people bounce off a Web3 app. If that step is confusing, nothing behind it matters — so it got more attention than the
Update #3@anushree
Brands can now build a campaign end to end: set the eligibility criteria, choose digital or phygital, and send it for approval. The lifecycle runs draft, approval, pre-minting, active, completed. Pre-minting matters — the NFTs exist before the campaign opens, so a reader claimin
Update #4@anushree
You can share an NFT you have earned into the community feed. Wrote a quick-start for it and a short guide on where shared NFTs actually show up, because the first question everyone asked was where they went. A badge nobody can see is a receipt. A badge you can show is a reason
Update #5@anushree
Your own posts now collect on your profile instead of disappearing into the community feed. Small change, but it turns a profile into something worth visiting.
Update #6@anushree
Campaign creation was returning a 500 and it took a while to pin down. Fixed, and written up so I do not have to rediscover it. The pattern I keep hitting: the frontend sends a shape the backend model does not quite expect, and the error surfaces three layers away from the cause
Update #7@anushree
Image upload through Cloudinary was failing; that is fixed. Profile update was throwing its own 500 for a separate reason, and that is fixed too. Two different bugs with identical symptoms is a good argument for better error messages, which is going on the list.
Update #8@anushree
Fixed the quantity limit on claims — it was possible to request more than a campaign had allocated, which the contract would then reject at the worst possible moment. Wrote a testing guide covering the full user campaign flow so the next pass over this does not start from scratc
12 items shipped
Shipped 12 roadmap items
Reading streak trackingReading and rewards
NFT badges at 7, 30, 90 and 365 daysReading and rewards
Personal dashboard with stats and collectionReading and rewards
Batch minting for gas optimisationReading and rewards
Campaign wizard with custom eligibility rulesBrand campaigns
Draft to approval to pre-mint to active lifecycleBrand campaigns
Phygital campaigns and redemptionBrand campaigns
NFTs that unlock physical merchandise.
Escrow wallet for campaign fundsBrand campaigns
Admin review dashboardBrand campaigns
Communities and postsCommunity
NFT sharing to your profileCommunity
EventsCommunity