Inspiration

Reddit communities create years of shared history, but that history is usually scattered across old posts, mod announcements, subscriber milestones, and memories that only long-time members remember. New members often join without understanding what shaped the culture of the subreddit.

Chronicle was inspired by the idea that community memory is a moderation tool. When people understand a community's story, they are more likely to respect it, preserve it, and participate in good faith.

What it does

Chronicle creates a living history book for a subreddit. It collects important community moments and displays them as a beautiful scrollable timeline inside a Devvit custom post.

The timeline includes founding entries, top all-time posts, weekly highlights, moderator-created milestones, and community-nominated moments. Members can nominate posts by commenting !chronicle nominate, and moderators can approve or reject those nominations from the post menu.

Moderators can also add manual milestones, add notable posts directly, open the Chronicle post from the subreddit menu, and automatically pin the Chronicle post so the community can find it.

How we built it

We built Chronicle with TypeScript and Reddit Devvit. The app uses Devvit menu actions, triggers, scheduler jobs, app settings, Reddit API access, KV storage, and a custom webview.

The backend logic is split into collectors, storage helpers, shared types, and the main Devvit entrypoint. The webview renders the timeline with HTML, CSS, and JavaScript. KV storage keeps approved entries, pending nominations, stats, seen post IDs, and the Chronicle post ID.

The app initializes on install, creates a founding entry, optionally collects top posts, registers a weekly scheduler job, and listens for nomination comments.

Challenges we ran into

One challenge was making the app feel like a real moderator tool instead of just a visual timeline. The nomination queue, approval flow, manual milestone form, post menu actions, settings, and KV logging were all needed to make Chronicle usable in an actual subreddit.

Another challenge was the webview experience. The timeline needed to render well with zero entries, one entry, and many entries. We refined the visual design, loading behavior, vertical timeline line, filters, dashboard spacing, and entry expansion until it felt polished.

Accomplishments that we're proud of

We are proud that Chronicle turns community history into something moderators can actively maintain. It combines automation, community participation, and mod approval into one workflow.

We are also proud of the final presentation: the glowing timeline, archive dashboard, filterable entries, mod-focused menus, automatic pinning, and clean Chronicle icon make it feel launch-ready.

What we learned

We learned how to build a complete Devvit moderation app with custom posts, webviews, settings, triggers, scheduler jobs, Reddit API calls, and persistent KV storage.

We also learned that moderation tools can support community health indirectly. Chronicle does not remove content or punish users. It strengthens identity, continuity, and shared context, which can reduce moderation load over time.

What's next for Chronicle

Next, Chronicle could add richer moderation controls for editing entries, automatic subscriber milestone detection, yearly archive exports, timeline themes, comment-based community voting on nominations, and cross-subreddit showcase pages for communities that want to share their history publicly.

Built With

Share this project:

Updates