# Elements vs HubSpot HubSpot is a customer platform for marketing, sales and service teams. Its Sales Hub is a hosted CRM: a team keeps contacts, companies and deals in HubSpot, moves deals through a pipeline, logs calls and emails, books meetings and reports on what is closing, on the web and in the HubSpot mobile app. HubSpot sells it per seat. The CRM has a free plan for a small number of users. Starter and Professional, which adds forecasting, sequences and custom reporting, are priced per seat a month, billed yearly or monthly, and Professional adds a one-time onboarding fee ([pricing](https://www.hubspot.com/pricing/sales)). Elements is not a CRM. It is an app environment an AI agent builds with, and the pieces a CRM needs are already in it: a Postgres database for contacts, companies and deals, sign-in with roles for owners and reps, a pipeline board that updates live, scheduled background jobs for task reminders, and email sent through an SMTP provider such as Postmark. A small team can have an agent build a CRM around the way it sells, and run it on a server it controls. HubSpot rents you a CRM by the seat; a CRM you build belongs to you. On HubSpot, the CRM, its integrations and its mobile app belong to HubSpot, and the price grows with every seat and every tier. A CRM you build has a fixed monthly cost, and it can share one database with the rest of your business: your newsletter, your store, your bookings, so a customer is one row and not four copies in four tools. What you give up is HubSpot's depth, its integrations and an app your next hire already knows. HubSpot's free plan and Starter cost less than running your own app, so the case for building is against Professional, and against renting a CRM that cannot see the rest of your business. ## What HubSpot Gives You That Is Hard to Build HubSpot is more than a table of contacts. An app you build will not match some of what it does. - **Integrations.** HubSpot connects to email, calendars and, by its count, ["Over 2,000 leading apps and web services"](https://www.hubspot.com/pricing/sales). In your own app, the data you already store is a query away, but a connection to an outside tool is code you write. - **The mobile app.** HubSpot has a mobile app for iOS and Android. Your CRM is a website, opened in the phone's browser. - **Sequences and marketing email.** Professional includes sequences and a daily allowance of email sends per user ([pricing](https://www.hubspot.com/pricing/sales)). Automated outreach at volume, and the sending reputation behind it, is real work. - **A platform that grows with the company.** Marketing Hub, Service Hub and the rest share HubSpot's CRM. A company that expects to add a marketing team and a support desk may want them on one vendor. - **Familiarity.** Your next sales hire may already know HubSpot. A CRM you build is one more thing to learn, and one more thing to maintain, even when an agent does most of the work. ## What Building It Looks Like A CRM for a small team is a small set of parts: contacts, companies, deals, activity, tasks and reports. The HubSpot features line up like this: | HubSpot feature | In an app you build with Elements | |---|---| | Contacts and companies | Pages in Elements HTML, rendered on the server, with records stored in your Postgres database ([html](/learn/man/html), [database](/learn/man/database)) | | A deal pipeline board | A board that updates in every open browser when someone drags a deal to a new stage, using a LiveTable ([livetable](/learn/man/livetable)) | | Deal timelines of notes, calls and emails | Rows logged against each deal, with every stage change recorded in the same transaction ([transactions](/learn/man/database/transactions)) | | Tasks and reminders | A cron job each morning that emails each rep the tasks due that day, through an SMTP provider such as Postmark ([jobs](/learn/man/jobs), [email](/learn/man/email)) | | Users, roles and team permissions | Sign-in and sessions, with owner and rep roles ([authentication recipe](/learn/man/recipes/authentication), [admin roles recipe](/learn/man/recipes/admin-roles)) | | Forecasting and custom reports | Forecast categories, weighted pipeline and charts against quota, recomputed as deals change ([live dashboard recipe](/learn/man/recipes/live-dashboard)) | | Invoices and payment requests | Stripe [Invoicing](https://stripe.com/invoicing/pricing) and [Payment Links](https://stripe.com/payments/payment-links), or Stripe Checkout from your app ([payments](/learn/man/payments)) | | Subscriptions for what you sell | Stripe Checkout in subscription mode, with status kept beside the customer's CRM record ([subscriptions](/learn/man/payments/subscriptions)) | | Your newsletter, store and bookings in the same CRM | Tables in the same database, so a reader, a buyer and a prospect are one list of people ([sql](/learn/man/database/sql)) | | Inbox plugins, the integrations catalog and the mobile app | No equivalent. These stay with HubSpot. | Stripe's own fees for Checkout, Billing, Invoicing, Tax and Radar are on [stripe.com/pricing](https://stripe.com/pricing). ## The Demos: Dealwren and Commitvane [Dealwren](https://elements.dev/demos/01a0f399-f3bb-7c53-af59-10b9fa312a32) is a CRM for a small sales team, built with Elements by an AI agent from one prompt. The owner invites reps by email. The team keeps contacts, companies and deals, with a pipeline board that shows each stage's total value and moves a deal when it is dragged. Each deal has a timeline of logged notes, calls and emails and every stage change. Follow-up tasks hang off a contact or deal, and at 8am each rep gets an email listing the tasks due that day. A dashboard shows pipeline value by stage, deals won this month and open deals per rep, and board moves and new activity update live. [Commitvane](https://elements.dev/demos/01a0f3a0-0fbf-7be6-a019-a2b92ce0ed93), also built from one prompt, is the forecasting half. Reps update their deals and submit a weekly call of commit and best case. Managers see quota, closed won, commit, best case and a weighted forecast for the team and each rep, in charts that update as reps make changes, with a weekly snapshot so the trend has history. Both demo pages carry their exact prompt, so your agent can build either one on your computer for you to adjust. The two can be one app, and so can your newsletter: [Letterhearth](https://elements.dev/demos/01a0f455-f25d-784c-a9d9-35a5841308ce) shows paid subscriptions and emailed posts on the same kind of database. ## Adding It Up Every team 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 sales team of three wants forecasting and sequences, which start at Professional, and also emails a newsletter to its customers and prospects. It pays for: | Subscription | What it charges by | |---|---| | [HubSpot](https://www.hubspot.com/pricing/sales) | Sales Hub Professional, per seat, plus a one-time onboarding fee | | [Mailchimp](https://mailchimp.com/pricing/marketing/) | By plan, priced by the number of contacts | To compare, add up what your team pays for these each month, counting the onboarding fee across the opening year, and set it beside the cost of an app of your own: - Elements at $100 a month, two licenses in all: the machine you build on and the server the CRM 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. That app carries the CRM, the forecasts and the newsletter, and Elements licenses machines, not users ([licenses](/learn/man/licenses)). Where it usually turns: - **Per-seat pricing grows with each hire.** On HubSpot, a fourth rep is a fourth seat. Elements' cost stays the same when the team grows. - **Several subscriptions add up.** The gap grows further if the same app also replaces a store or a booking tool. - **A single cheap tool is usually cheaper to keep.** HubSpot's free plan, or a few Starter seats, cost less than running your own app. If Starter does what your team needs, keep it, and build when you want your CRM in the same database as the rest of your business. The [subscriptions overview](/vs/subscriptions) works through other cases. ## When to Keep HubSpot - **The free CRM or Starter covers you.** Free is free, and a small team on Starter usually pays less than it would to run its own app. - **Your sales process lives in the inbox.** HubSpot's email and calendar connections and integrations take real work to replace. - **You rely on sequences at volume.** Automated outreach and its sending reputation are infrastructure. - **Marketing and support will join the same platform.** HubSpot's other hubs share its CRM. - **You would rather not run software.** HubSpot does the upkeep. ## Questions ### How much does HubSpot Sales Hub cost? HubSpot's CRM has a free plan for a small number of users. Sales Hub Starter and Professional are priced per seat a month, billed yearly or monthly, and Professional adds a one-time onboarding fee. The current figures are at hubspot.com/pricing/sales. ### Is building my own CRM cheaper than HubSpot? Usually not against the free plan or Starter. An Elements app of your own costs $100 a month for the Elements subscription, plus a server and an email provider. Against Professional, compare your seat count and the onboarding fee at hubspot.com/pricing/sales with that total; HubSpot charges per seat, and Elements does not charge per user. ### Can my CRM share data with my newsletter and store? Yes, when they are one Elements app. Contacts, subscribers, orders and bookings are tables in the same Postgres database, so a person who buys from your store and a deal in your pipeline are rows a query can join, with no integration between vendors. ### Can I move my contacts and deals out of HubSpot? Export your records from HubSpot, and an agent can import those contacts, companies and deals into your app's database. Check which activity history and attachments your export includes before you switch. ### Does an Elements CRM have a mobile app or inbox plugin? No. An Elements app is a website that works in a phone's browser. HubSpot's mobile app, inbox connections and integrations catalog have no equivalent in an app you build. The subscriptions overview at /vs/subscriptions covers how to weigh that against cost.