i feel therefore i write
A dedicated web platform built to share a curated poetry collection with the world, focusing on emotional resonance and clean presentation. Poems live in Notion, sync daily to Firestore via a Cloudflare Worker cron, and render edge-rendered for fast cold loads.

Tech Stack
Next.js 15, Notion API, Firebase, Cloudflare
Features
- Notion → Firestore Sync
- Anonymous Likes
- Fuzzy Search
- Edge Rendering
What I Built
Wrote a server-only Firestore client for the edge: it mints its own OAuth2 token from the service-account key using Web Crypto and talks to Firestore over REST, because the admin SDK is Node-only and this runs on Workers.
Wrote the Cloudflare Worker's scheduled handler that pulls poems out of Notion and syncs them into Firestore, so publishing a poem is a Notion edit and nothing more.
Put likes on batched writes with
increment, so the displayed count can't drift away from the set of people who actually liked.Built the poem index, the reader, the login flow, and the like button that reconciles optimistically and then settles.
Put a shared secret between the Worker's cron and the Next.js deployment - the Worker calls
/api/syncwith anx-sync-secretheader and refuses to run without it, so the sync endpoint cannot be triggered by anyone who finds the URL.