Inspired by Pointer Pointer
The frontend uses SvelteKit.
The backend runs on a Cloudflare worker with an Apollo server.
The assets are stored in Cloudflare's R2 Storage and accessed from the worker.
Cat data (filename, size, coordinates) is stored in Cloudflare Workers KV. The worker queries KV with the geohash of the cursor.
GraphQL Code Generator is used to make the resolvers and queries strongly typed.
cd workers
npm i
./node_modules/.bin/wrangler login
npm run build
npm run start
cd frontend
cp .env.example .env
npm i
npm run dev