# Elements vs Circle Circle is a hosted community platform for creators, coaches and brands. A creator runs [discussions, member chat, courses, events and live streams](https://circle.so/) under their own brand, with a member directory, gamification and analytics. Around the community, Circle sells memberships and course access through a branded checkout with paywalls and affiliates, sends email broadcasts and automations through its Email Hub, builds landing pages, and offers AI agents and workflows. Members use the community on the web or in Circle's iOS and Android apps. Circle charges a monthly plan fee, billed yearly, and its plans (Professional, Business, Scale and Circle Plus) step up in admins, spaces, live stream limits and AI credits. Every plan takes a [transaction fee on each sale](https://circle.so/pricing): 2% on Professional, 1% on Business and Scale, and 0.5% on Circle Plus. Email Hub is an add-on, charged on top of the plan. Elements is not a community platform. It is an integrated app environment for building web apps, built for people and their agents, and a community uses many of its parts: a Postgres database for members, posts and courses, sign-in, file uploads, live updates that reach every open browser, email sent through an SMTP provider such as Postmark, scheduled background jobs, and Stripe payments for one-time purchases and subscriptions. You describe the community you want, and your agent builds it as one app on your own server. On Circle, your community lives inside a product built for everyone, and the bill grows with your success: the plan steps up as you add admins, spaces and live stream hours, and a share of every membership you sell goes to Circle. An app you build is shaped around your members, at a fixed monthly cost, and Circle's transaction fee is gone. Every part shares one database, so a course student, an event guest and a chat member are one person, in one list. ## What Circle Gives You That Takes Work to Build Circle is a mature, integrated product. Some of what it does takes real work to build on your own. - **Native mobile apps.** Members can use Circle's iOS and Android apps on every plan, and Circle Plus [puts your own brand on them](https://circle.so/pricing), with push notifications. An Elements app is a website. It works in any phone's browser, without an app store between you and your members. - **Live video.** Circle streams live video to members, with [attendee and hour limits by plan](https://circle.so/pricing), and keeps [replays of events](https://circle.so/events) in the community. Live video is not built into Elements, so it is something you build, and your agent can build it for you: the stream, and the room around it, where the chat, the list of who is in the room and the audience questions update in every open browser ([presence recipe](/man/recipes/presence), [channel](/man/channel)). - **Email deliverability.** Circle's Email Hub sends your broadcasts and looks after the sending reputation. Sending from your own app means picking a provider and authenticating your domain with it. - **Circle's AI tools.** Circle AI comes with every plan, and Scale adds AI agents and moderation, all running on credits included in the plan. These belong to Circle. - **No upkeep.** Circle keeps the platform running and ships new features. A community app of your own needs looking after too, though your agent can take on most of it. ## What Building It Looks Like A community is a set of parts: members, conversations, courses, events, payments and email. Here is where each Circle feature would come from, in Elements or in Stripe: | Circle feature | In an app you build with Elements | |---|---| | Discussion spaces with posts, comments and likes | Posts and comments in your Postgres database that appear in every open browser as they are written ([LiveTable](/man/livetable), [live comments recipe](/man/recipes/live-comments), [likes recipe](/man/recipes/likes-toggle)) | | Chat and direct messages | Rooms with live messages, unread counts, typing indicators and who is online ([chat rooms](/man/recipes/chat-rooms), [unread counts](/man/recipes/unread-counts), [typing indicator](/man/recipes/typing-indicator), [presence](/man/recipes/presence)) | | Member accounts and profiles | Sign-in and sessions, with members as rows in your own database ([authentication recipe](/man/recipes/authentication), [session](/man/session)) | | Spaces for some members only | Access checked on the server for every page and every write ([team-partitioned table](/man/recipes/team-partitioned-table), [admin roles](/man/recipes/admin-roles)) | | Member directory | A searchable list of members with filters ([search and filter recipe](/man/recipes/search-filter)) | | Courses | Pages in Elements HTML with courses and lessons in your database, and files uploaded through a form ([html](/man/html), [database](/man/database), [file upload recipe](/man/recipes/file-upload)) | | Events | Event pages with RSVPs, and emailed reminders scheduled as background jobs ([jobs](/man/jobs), [email](/man/email)) | | Paid memberships and paywalls | [Stripe Checkout](/man/payments/checkout) in subscription mode, with Stripe Billing retrying failed cards and each member's status kept in your database ([subscriptions](/man/payments/subscriptions)) | | Affiliates | Referral links recorded on each signup and payment, as rows in your database ([payments](/man/payments)) | | Email digests and broadcasts | Email templates in Elements HTML, sent through an SMTP provider, with digests on a schedule ([email](/man/email), [jobs](/man/jobs)) | | Gamification and analytics | Points, leaderboards and engagement figures that a background job recalculates, on a page that refreshes itself ([live dashboard recipe](/man/recipes/live-dashboard)) | | Website and landing pages | Public pages in the same app ([marketing page recipe](/man/recipes/marketing-page)) | | Sales tax and fraud screening | [Stripe Tax](https://stripe.com/tax/pricing) and [Stripe Radar](https://stripe.com/radar/pricing) | | Branded native apps and Circle's AI tools | No equivalent. These stay with Circle. | Stripe publishes what it charges at [stripe.com/pricing](https://stripe.com/pricing). Because members, courses, events and chat are tables in the same database, you can invite everyone who bought a course to a private space, or email the members who came to last month's event, without exporting a list. ## The Demos: Threadmoor, Glowhollow, Lecturemint and Gatestub Four demos show the parts, each built with Elements by an AI agent from one prompt: - [Threadmoor](https://elements.dev/demos/threadmoor-a-discussion-forum-for-a-woodworking-community-53h3832x): a discussion forum for a woodworking community. Topics with photos, quoted replies, likes, marked solutions, live topic lists, a daily digest and moderator tools. - [Glowhollow](https://elements.dev/demos/glowhollow-a-private-chat-app-for-a-small-online-community-i4v9ozt1): 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 members who are offline. - [Lecturemint](https://elements.dev/demos/lecturemint-online-watercolor-courses-for-a-painting-3lg12ccb): online watercolor courses. Courses sold by card, lesson videos with notes and progress, live lesson questions, and revenue and completion figures. - [Gatestub](https://elements.dev/demos/gatestub-tickets-qr-check-in-and-sales-for-a-small-music-mzhdcsq6): tickets for a small music venue. Card checkout, one QR code per ticket by email, sales per show, and a check-in page on a phone. Each demo page has the exact prompt. Give one to your agent and it builds that same app on your computer, for you to reshape around your own community. Built together, they are one app with one list of people. ## Adding It Up Every community is different, so this section shows how to make the comparison for your own rather than making it for you. *This is an example, not a customer.* A coach runs a paid community with a course and monthly live sessions, and emails members each week. They pay for: | Subscription | What it charges by | |---|---| | [Circle](https://circle.so/pricing) | By plan, billed yearly, plus a transaction fee on each sale | | [Circle Email Hub](https://circle.so/pricing) | An add-on charged on top of the plan, by number of contacts | To compare, add up what you pay Circle each year, including its fee on every membership you sell, and set it beside the cost of your own app: - Elements: $100 per month for two licenses, one on the computer you build with and one on the server the app runs on ([pricing](/pricing)). - A server from [DigitalOcean](https://www.digitalocean.com/pricing/droplets). - An email provider such as [Postmark](https://postmarkapp.com/pricing), priced by the number of emails sent each month, or [Amazon SES](https://aws.amazon.com/ses/pricing/), metered per email. Card fees apply either way: [Stripe](https://stripe.com/pricing) charges a percentage plus a fixed fee per card payment, and Stripe Billing adds a fee on recurring charges. Where it usually turns: - **The transaction fee grows with your revenue.** Circle takes its percentage of every sale on every plan. In your own app that share stays with you, so the more you sell, the wider the gap. - **Plans step up with your community.** More admins, more spaces or more live stream hours move you up [Circle's plans](https://circle.so/pricing). Your own app's cost does not change with any of them. - **Add-ons and tools alongside add up.** Email Hub is charged on top of the plan. If you also pay for a booking tool, a form builder or a CRM, add those, since each becomes a table in the same app. - **A small community on the entry plan can cost about the same.** With few sales and nothing alongside it, the two can come out close, and Circle includes the upkeep. The [subscriptions overview](/vs/subscriptions) works through the build or buy decision for other subscriptions. ## When to Keep Circle - **You are on Professional, with few sales, and it covers you.** The entry plan can cost about what running your own app does. - **Your members live in the app store.** If a branded native app with push notifications is central to your community, Circle Plus includes one. - **You would rather not run software.** Circle does the upkeep. ## Questions ### How much does Circle cost? Circle charges a monthly plan fee, billed yearly, on four plans: Professional, Business, Scale and Circle Plus. Every plan also takes a transaction fee on each sale, from 2% on Professional down to 0.5% on Circle Plus, and Email Hub is an add-on charged on top. The current figures are at circle.so/pricing. ### Is my own community app cheaper than Circle? It depends on your plan and your sales. Your own Elements app costs $100 per month for two licenses, plus a server, an email provider and Stripe's fees. Compare that with your Circle plan, its add-ons and its transaction fee on what you sell. The more you sell, and the more tools you pay for beside Circle, the more likely your own app costs less. ### Can an Elements app run live streams? Yes, as something you build. Live video is not built into Elements, and your agent can build it for you: the stream, and the room around it, where chat, the list of who is in the room and audience questions update in every open browser. ### Can I move my Circle members and content to my own app? Your agent can import members, posts and course content into your app's database from exports. Before you switch, confirm with Circle and Stripe how existing paid memberships move, since recurring billing is tied to the payment processor. ### Does an Elements app have a mobile app? An Elements app is a website, and it works in the browser on any phone. Circle offers iOS and Android apps, and on Circle Plus they carry your own brand.