Arc CMS as an App Foundation

Start Your Next App Where Most Projects End

Sign-in, roles, email, payments, an admin area and a CMS, ready on day one. Copy the repository, switch off what you don't need, and write only what makes your app yours.

  • MIT licensed
  • Angular 21 and Firebase
  • 8,000+ automated tests
  • 100+ pages of docs

What You Don't Have to Build

The parts every product needs and nobody wants to rebuild, working and tested before you write your first feature.

Sign-in

Email with codes, Google, and phone with a PIN, on one page. Password resets never leave your app.

Users and Roles

Roles travel in signed claims, checked by security rules and server functions.

Payments

One-time and subscription checkout through Dodo Payments, with Stripe and PhonePe coming soon. Plans, credits and premium-only pages.

Email Engine

Transactional and marketing email through Gmail, SMTP or Resend, with logs and one-click unsubscribe.

Admin Area

Users, content, audience, email, media and settings, ready for your team. Add your own screens to its menu.

Member Area

A signed-in home for your users, with profile, billing and account deletion.

Installable App

An installable PWA with icons, offline start and an update prompt, switched on in one line.

Content and Search

Content types, media, site search and SEO for your product's marketing pages.

How It Works

Your app is a copy of Arc CMS with your own code in a custom space. Arc CMS never touches that space, so its updates never conflict with your work.

  1. 1

    Copy

    Copy the repository and point it at your Firebase project with npm run arc:configure.

  2. 2

    Choose

    Switch off the features your app doesn't need in one file. They leave no menu, page or function behind.

  3. 3

    Build

    Add your pages, routes, Cloud Functions, security rules and menu items in the custom space.

  4. 4

    Upgrade

    Pull each Arc CMS release with a git merge. npm run check:core confirms you never edited core.

One File to Shape the App

Each app keeps its choices in src/custom/: the features it uses, its brand, its routes, its sign-in rules, and changes to the admin and member menus by item id and role.

Arc CMS ships these files empty and never edits them again.

Example: src/custom/features.ts
// src/custom/features.ts
export const CUSTOM_FEATURES: FeatureChoice = {
  off: ['sms', 'payments'],
  on: ['pwa'],
};

The Foundation, Up Close

What each part does for you, and where you take over.

Sign-in and accounts

Sign-in People Finish

Email and password, Google, or phone with a 6-digit PIN, all on one page. New addresses and numbers are confirmed by a code. Forgotten passwords are reset in place, accounts can link an extra email or phone, and you choose strict or simple password rules. For shared devices, there are PINs and app accounts with no email at all.

One sign-in page
  • Email and password, confirmed by a code
  • Continue with Google
  • Phone with a 6-digit PIN
  • Forgotten passwords reset in place

Payments

Charge for Your App

One-time and subscription checkout through Dodo Payments, with Stripe and PhonePe coming soon. A pricing page, prepaid credits and tiered prices come with it. Lock a page, a section or a route to a plan: the plan is written only by the server, so nobody can promote themselves. Payment emails and webhook handling are done.

Checkout and plans
  • Dodo Payments: one-time purchases
  • Subscriptions
  • Prepaid credits and tiered prices
  • Pages, sections and routes locked to a plan
  • Stripe and PhonePe coming soon

Email and automations

Talk to Your Users

Transactional and marketing email through Gmail, SMTP or Resend, with a brand kit, a block composer and a full log. Automations react to sign-ups, payments and your own app's events by sending an email, adding a notification or changing a list.

An automation rule that sends a welcome email when someone joins a signup form

Admin and member areas

Two Areas, Yours to Shape

Give the admin area your name, logo and colours, add your own screens to its menu, and change or hide Arc CMS's items by id and role. Members get their own area with profile, billing and account deletion, which you extend the same way.

A member area, ready
  • Profile
  • Billing
  • Account deletion
  • Your own screens, added the same way

Installable and offline

An App People Can Install

Turn on the PWA and Arc CMS makes every icon size from one image, adds a service worker, opens without a connection, and asks before switching to a new version. An offline data cache is one setting away.

Installable, works offline
  • Every icon size from one image
  • A service worker, set up
  • Opens without a connection
  • Asks before switching to a new version

Content and marketing

Your Marketing Site Comes Free

The same install runs your product's website: content types, a media library, site search, structured data and llms.txt, signup forms and email campaigns. One login for the app and its marketing.

The Arc CMS article editor with the Checks tab open, scoring the draft 80 out of 100

Already Have an App?

Install Arc CMS next to your Firebase app as its admin area, content store and email engine. Neither app touches the other's data.

Kept apart

Its Own Database, Functions and Site

Arc CMS keeps its own Firestore database and storage bucket, and its own hosting site if you want one. Every function it deploys is prefixed arccms-.

Share a Firebase project 

Your users, emailable

Your App's Users as an Audience

Read your app's user collection as live lists, filtered by their fields, and email them from Arc CMS. Fields that look like credentials are never shown.

Connect your app's users 

One sign-in

Shared Accounts, Clear Rules

Both apps share one sign-in pool. Arc CMS uses its own claim names, so your app's roles and Arc CMS access never mix.

The account contract 

Built the Way You'd Build It

A modern stack, real tests and documentation that keeps up with the code.

Tested

More than 8,000 automated tests, a type check in every test run, and security rules tested on the Firebase emulator.

Documented

More than 100 pages of docs, checked by tests so they never name a file, script or feature that no longer exists.

Guided Deploys

npm run deploy builds for the right project, checks every new function, and releases the site in one step. CI deploys are documented too.

Dev, Staging, Production

Each Firebase project has its own settings, and a build can never talk to the wrong one.

  • Angular 21
  • Firebase
  • TypeScript
  • TipTap
  • Vite
  • Vitest

How Arc CMS Compares

Against paid starter kits, including where they are the better choice.

Arc CMS compared with ShipFast, Supastarter and MakerKit
FeatureArc CMSShipFastSupastarterMakerKit
PriceFree (MIT)$199 to $249 one-time$349 to $1,499 one-time$299 to $599 one-time (Lite is free)
StackAngular 21, FirebaseNext.js, MongoDB or SupabaseNext.js, Nuxt or TanStackNext.js, React Router or TanStack, Supabase
Admin areaFull adminNot listedSuperadminSuper Admin
Website and CMSFull CMS, static pages, SEO, llms.txtBlog and SEO helpersMDX blog and docsBlog and docs
Email marketingLists, broadcasts, drips, automationsTransactional emailTransactional emailTransactional email
Sign-inEmail and password, Google, phone with PINGoogle, magic linksPasskeys, OAuth, 2FA, magic linksSupabase or Better Auth
Teams and organisationsNot yet (admin and user roles)Not listedYesYes
PaymentsDodo Payments; Stripe and PhonePe coming soonStripe, Lemon SqueezyStripe, Lemon Squeezy, Polar, Creem, DodoStripe, Lemon Squeezy, Paddle
Where the others win: a starter kit fits better if you need teams and organisations, Stripe, or a React and Next.js stack.

Prices and features as of October 2026, from each vendor's website.

Questions Developers Ask

The things worth knowing before you copy the repository.

Yes. Arc CMS is MIT licensed: use it, change it, and sell what you build, with no licence fees.

Firebase gives you sign-in, a database, storage, functions and hosting with no servers to run. Angular 21 gives the admin and member areas a typed, structured base. If your team works in React, a React starter kit will suit you better.

Your code lives in the custom space, which Arc CMS never edits. Merge each release from the Arc CMS repository, run npm run check:core and the tests, then deploy.

Build it as a general feature or plug point in Arc CMS and pull it into your app. That keeps every copy upgradeable, and the change helps everyone.

Yes. Your app's own Firestore rules, storage rules and indexes go in their own files and are combined with Arc CMS's before every deploy.

Not yet. Arc CMS has admin and user roles, and your app can add its own roles through custom claims.

Payments run through Dodo Payments today, with Stripe and PhonePe coming soon. Sign-in codes by SMS go through MSG91, with a test provider for development. Email works with Gmail, SMTP or Resend.

Day-to-day development runs against a real Firebase project, so keep a separate project for development. Security rules are tested on the Firebase emulator.

Tell Us About Your App

Share a few lines about what you're building: who it's for, the main features, and your timeline. We'll reply by email with next steps.

Rather build it yourself? Start with the app docs.

We use your details only to reply. Privacy Policy

Built with Arc CMS · your site, your code, your data