A feedback board you own.

Make a board, hand out its address, and every thread and reply lands in your own table. A person who writes to you never signs in: the page carries a Turnstile challenge, and nothing appears until you approve it (or immediately, if you choose that).

Three tables

board, thread, comment. That is the whole data model: no framework, no Postgres, no second identity store.

Moderation first

Anonymous posts wait in a queue by default; an owner can publish at once, hide a post, or close a thread.

One account's rows

Every row carries account_id and every query is scoped through it — a board of another account does not exist for you.

What a visitor does

Opens https://zpe.vc/feedback/b/<public-id>, writes a thread, answers the challenge. No account, no password, no cookie.