--- title: "A discussion forum with a daily digest, built by Claude Code on Elements" author: "@chris" author_url: https://elements.dev/u/@chris published: 2026-09-30T20:17:14.761Z url: https://elements.dev/demos/a-discussion-forum-with-a-daily-digest-built-by-claude-code-53h3832x kind: post format: article --- # A discussion forum with a daily digest, built by Claude Code on Elements by [@chris](https://elements.dev/u/@chris) ยท 2026-09-30 ## Description Topics with photos, quoted replies, likes, marked solutions, live topic lists, a daily digest and moderator tools. Threadmoor needed topic lists that update as people post, replies that land on every open copy of a thread, image uploads, a daily email digest and moderator controls. Each of those is a part of Elements, so the agent spent its 30 minutes on the forum itself. - **Live topic lists.** Topics are a LiveTable opened on the front page, per category, on the unanswered tab and on the pinned strip, 25 at a time. A database trigger announces each new topic and fresh reply, so every open list moves as the forum does. - **Live threads.** Posts and likes are LiveTables. A reply, with its quote, appears on every open copy of the topic, and marking a solution or hiding a post updates every screen, the previous solution included. - **Moderation as function calls.** Moderators pin, lock and move topics with `@rpc` functions, each checked against the signed-in user's role. - **Image uploads.** The editor uploads photos through an rpc that returns the markdown to embed them, and a route serves each image under its content hash. - **A daily digest.** One cron line runs a job each morning that queues an email for every member with new replies in the topics they follow, one job per member so each retries on its own. - **Data from SQL files.** Three migrations define the forum, add four categories with solutions turned on for Help, and seed nine members, thirty topics, replies, likes, avatars and woodworking photos.