A free campaign website you own.

Install it into your own Cloudflare account with one button.

Built for Democratic candidates running down the ballot.

The site your voters see

The demo shows a made-up candidate. Every part of it comes with the kit.

The demo campaign site for Jordan Rivera, a made-up State House candidate. A Rivera for State House logo in navy and red sits above a wide photo of an old farmhouse at dusk, with the headline A neighbor who shows up and red Donate and white Volunteer buttons.

The opening of the demo site. Open the demo to scroll the rest.

  • Opening

    A big photo, your headline, two buttons.

  • About

    Your bio and headshot.

  • Issues

    Where you stand.

  • Endorsements

    Who’s backing you.

  • Events

    With add to calendar.

  • Volunteer

    A signup form.

  • Donate

    Links to your ActBlue page.

  • How to vote

    Official state links and your own dates.

  • Footer

    Your “Paid for by” line, required.

The Logo and colors screen in the editor, with the note: Your site takes its colors from your logo. We adjust them if text on them would be hard to read. Fields read Jordan Rivera, State House District 112, Democrat, Tennessee and Central time. Below them is the uploaded logo, RIVERA in navy over for State House in red, with Replace image and Remove buttons and a Describe the logo field that reads Rivera for State House.

Colors come from your logo

Readable on purpose
If white text on a color would be hard to read, the kit darkens it.
Three type styles
Pick the one that suits your campaign.
Ready for Google and AI tools
Structured data about you and your events, a sitemap, share images and a plain summary for AI tools.

Four steps to a live site

You edit the words and the order. The design holds.

The Issues screen in the editor. A Show this section switch is on. The Heading field reads Where Jordan stands. Below it, an issue titled Roads you can drive on says: Fix the worst stretches of Route 9 and Mill Creek Road first, and publish the repair list so you can see what’s next. Move up, Move down and Remove buttons sit under it, and a second issue, Schools that keep good teachers, starts below.
  1. Click the install button

    Bring free Cloudflare and GitHub accounts and a setup code you make up.

  2. Open your site and sign in

    Type your setup code, then use Face ID or a fingerprint.

  3. Fill it in and publish

    Add your logo, photos and “Paid for by” line.

  4. Connect your web address

    Optional. Ask whoever holds your GoDaddy or Squarespace login.

Read the full setup guide

Free to install, free to run

There’s no paid tier and no one to pay.

The cost of each part of Stump
PartCostWhy
Stump$0Open source, under the MIT license.
Cloudflare’s free plan$0No credit card. About 100,000 page requests a day.
GitHub$0A free account holds your copy of the code.
Spam check$0Cloudflare Turnstile. About 2 minutes to set up.
Your own web addressOptionalYour site works on a free Cloudflare address too.

Your site, your volunteer list

Signups stay with you
They’re stored in your Cloudflare account, and the people who make Stump never see them. Staff can download them as a spreadsheet.
No ads, no tracking scripts
Spam protection on the volunteer form comes from Cloudflare Turnstile.
No passwords
Staff sign in with Face ID, a fingerprint or their phone. Admins invite others with a one-time link.
The demo campaign site on a phone. The Rivera for State House logo and a red Donate button run across the top. Below, a photo of an old farmhouse at dusk sits behind the headline A neighbor who shows up, a line about fixing roads and funding schools, and Donate and Volunteer buttons.

Fair questions

Is it free, with no catch?

Yes. Stump costs nothing and has no paid tier. It runs on Cloudflare’s free plan in your own account, and the code is open source under the MIT license.

What does Cloudflare charge?

Nothing on the free plan, and it needs no credit card. Cloudflare sets its own terms, and those can change.

Do you see our volunteer list?

No. Signups are stored in your campaign’s own Cloudflare account, and the people who make Stump can’t get to them.

Can we use our own web address?

Yes. Connecting it moves your domain’s settings to Cloudflare, so you’ll need whoever holds the login where you bought it, like GoDaddy or Squarespace. Until then, your site works on a free Cloudflare address.

What if we get a lot of traffic?

The free plan allows about 100,000 page requests a day, which is plenty for a state house race. Cloudflare’s docs say that past the limit, visitors get an error page until the count resets at midnight UTC.

Who’s behind this?

A volunteer web developer, as a personal project.

Is this legal advice?

No. Election rules differ by state. Check yours with your treasurer before you publish.

Before you install

  • Setup takes 30 to 60 minutes.
  • Connecting your own domain is the slow part.
  • Updates aren’t automatic. You pull them in when you want them.
  • Anything you buy, like a domain, is your campaign’s expense.
  • This isn’t legal advice. Check your state’s rules with your treasurer.