A to-do app that allows users to share their lists in a stateless way


This web app was made to demonstrate how you can design applications to work in a stateless way by outsourcing certain tasks to the client. In sharemytodo, the to-do lists are saved in a key-value store while sharing is done by creating a message authentication code (MAC) of the list's ID and the permissions that are being shared such as read or write. The codebase is straight to the point and uses standard web APIs such as the Web Crypto. Everything was coded in TypeScript, including the static site which was developed with Svelte.

How they use Cloudflare

Cloudflare Workers KV is used as the key-value store and Workers are used for all the API endpoints, such as creating MACs and verifying them. The frontend or the web app itself is a statically generated site developed with Svelte that is hosted by Cloudflare Pages.