A todo list that lives in contract storage
A todo list where tasks live in contract storage instead of a database, so people can see what you are working on without you publishing anything.
Built on Base. Tasks tagged with hashtags, sorted chronologically, completion tracked, Next.js and ethers.js on the front, no server anywhere.
The whole thing rests on gas. Storage is the expensive EVM operation and tag strings are variable-length, so a task with three hashtags costs noticeably more than one with none, and the user has no idea why. Chronological order and tag filtering both want an index, and an index in contract storage is what turns an affordable app into an unaffordable one. So reads come from events and get reconstructed client-side, which is the part of “fully onchain” that quietly is not, because the reads now depend on a log-reading provider.
The idea it was testing held up in numbers: this app is absurd on mainnet at any gas price and costs cents on Base. That gap is the difference between a category of application existing and not existing.