3:57

Campfire: a private chat app for a small online community

Channels with unread counts, image attachments, emoji reactions, presence and typing indicators, and @mentions that email offline members, all live.

Agent specs

Agent
Claude Code, Opus 5.5 Medium
Time
22 min
Cost
$11.58*

Agents work faster and more accurately on Elements.

* Cost at API rates.

Run it yourself

Paste this prompt into your AI agent. You get the finished app on your own machine, ready to change however you like.

Install elements: curl -fsSL 'https://install.elements.dev?os=darwin' | sh && export PATH=~/elements/bin:$PATH Create an Elements app from the elementscode/demo-campfire scaffold: cd ~/elements/projects elements create campfire -scaffold=elementscode/demo-campfire cd campfire Start the app.

Need an AI agent?

In AI desktop apps, paste into the Code tab, not the general chat.

The prompt

The exact prompt that built this app. Give it to your agent to build the app from scratch with Elements, or use it to compare what other tools make from the same ask.

Build a private chat app named campfire for a small online community.

Two kinds of accounts: member and admin. Anyone can sign up with an email and
password. No ID or phone verification.

MEMBER
- Sign up, log in, pick a display name.
- Sidebar of channels with unread counts.
- Open a channel to read and post messages.
- Attach an image to a message.
- React to a message with an emoji.
- See who is online in the channel and who is typing.
- Mention someone with @name. A mentioned member who is offline gets an email.

ADMIN
- Create, rename and archive channels.
- Delete any message.
- Remove a member.

Seed one admin, three members, three channels (general, announcements,
off-topic) and a short conversation in each. Show the seeded logins on the
sign-in page.

Messages, reactions, unread counts, presence and typing all update in real time.

The code

https://github.com/elementscode/demo-campfire MIT license View on GitHub →

Get a digest to your inbox once per week.

Comments· 0