Self-Hosted Campaign Infrastructure

# Grow Power.
Don't Rent It.

Your — on your own infrastructure.

No corporate surveillance. No foreign interference. No monthly ransoms. A free* and open source toolkit built for growing political movements.

Explore the Demo → Schedule a Chat Source Code Documentation
✉ Advocacy Emails 🌎 GPS Canvassing 🎥 Video Library 📄 Landing Pages 📧 Newsletter Sync 📅 Volunteer Shifts 💬 Team Chat 🔒 Data Sovereignty
✉
Advocacy Campaigns
Email your representatives in 3 clicks
🌎
GPS Canvassing
Track door-to-door outreach in real time
🎥
Media Library
Host, schedule, and share your campaign videos
📅
Volunteer Management
Coordinate shifts, track attendance, grow your team
Quick Deploy on Linux w/ Docker
$ curl -fsSL gitea.bnkops.com/admin/changemaker.lite/raw/branch/main/scripts/install.sh | bash
0%
Data Ownership
$0
Self-Hosted
0+
Integrated Tools
FOSS
Open Source
Self-hosted by community organizers across Canada
🚧

### Now in Beta

Changemaker Lite is under active development and breaking changes are still being pushed. A stable release is expected by June 2026.

## Disconnected Roots

Traditional campaign tools weren't built for the reality of political organizing

📱

### Can't Find Answers Fast

Voters ask tough questions. Your team fumbles through PDFs, emails, and scattered Google Docs while the voter loses interest.

🗺

### Disconnected Data

Walk lists in one app, voter info in another, campaign policies somewhere else. Nothing talks to each other.

💸

### Death by Subscription

$100 here, $500 there. Thousands monthly on tools that don't work together and hold your data hostage.

🔒

### No Data Control

Your strategies in corporate clouds. Your movement's future in someone else's hands. Export? Good luck.

📵

### Not Mobile-Ready

Desktop-first tools that barely work on phones. Canvassers struggling with tiny text and broken interfaces in the field.

🏢

### Foreign Dependencies

US companies with US regulations. Your Canadian campaign data subject to foreign laws and surveillance.

## Software Should Grow Power, Not Extract It

Most campaign and political software is extractive by nature — designed to pull information from a community in order to influence politics. Your voter data in corporate clouds. Your strategies readable by foreign jurisdictions. Your movement’s future in someone else’s hands.

Changemaker asks a different question: “what tools are needed to grow change in a community?” Growing change means making connections between people, providing access to tools that create new opportunities, and deeply understanding the wants and needs of your movement — on infrastructure you control.

Organizational independence requires technological independence. Socialist movements will never outspend capital — but a thousand neighborhood mailing lists has more potential impact than any single organization. Workers, with the right tools, will build the future.

🤝

#### Distribute Power

Decentralized organizing is the way out. When knowledge and tools are widely distributed — not gatekept by leadership or locked behind vendor paywalls — movements become resilient.

🔒

#### Own Your Secrets

If you do politics, who is reading your secrets? Corporate platforms extract intelligence systematically. Self-hosted infrastructure means your strategies stay yours — no algorithmic surveillance, no foreign data laws, no backdoors.

🌱

#### De-Corp Your Stack

Every subscription to corporate software funds the machine you’re fighting. Free and open source tools reduce dependence on capital, eliminate vendor lock-in, and keep your movement’s resources where they belong — in the community.

Read Our Philosophy →

The Journey

## What if your entire campaign ran from one place you actually own?

Imagine a new volunteer walks up to your campaign office. Within minutes, they’re in your team chat, signed up for a canvassing shift, and synced across your map, newsletter, and event calendar — without creating accounts on five different platforms. That’s what an integrated, self-hosted stack makes possible. Below is everything you get from day one.

## The Network

50+ tools connected — each node strengthens the whole

📨

### Communication

Email campaigns, SMS outreach, newsletters, advocacy, and team chat

Public Campaigns — postal code lookup to find representatives and send advocacy emails
Newsletter sync dashboard
📬

#### Listmonk Newsletters

Full newsletter platform with subscriber management, templates, and analytics. Drop-in replacement for Mailchimp.

Unlimited subscribersTemplatesAnalytics
Campaign management with tracking
🎯

#### Influence Campaigns

Postal code to representative lookup. Automated advocacy emails to elected officials with tracking and response collection.

Rep lookupBullMQ queueTracking
Visual email template builder
✉

#### Email Templates

GrapesJS visual email editor with variable substitution, versioning, and instant preview. Build once, send everywhere.

Visual editorVariablesVersioning
Public campaign page with rep lookup
💬

#### Response Wall

Public response collection with moderation, upvoting, and verification. Showcase supporter voices on your campaigns.

ModerationUpvotingVerification
Team chat integrated into admin
🚀

#### Rocket.Chat

Self-hosted team chat with SSO integration. Automatic channel notifications for shift signups, canvass sessions, and campaign responses.

SSOChannelsSlack alternative
Async email queue with status tracking
🔔

#### Smart Notifications

Async notification queue for admin alerts and volunteer feedback. Shift reminders, session summaries, and signup confirmations.

BullMQRemindersSummaries
SMS outreach via Termux bridge
📱

#### SMS Campaigns

Text message outreach via Termux Android bridge. Contact lists, templated campaigns, delivery tracking, response sync, and device health monitoring.

Termux bridgeBullMQ queueResponse sync
Floating chat panel in admin
🗨

#### Chat Widget

Floating Rocket.Chat panel for logged-in team members. Minimizable FAB, auth-gated access, and settings-toggleable visibility across the admin interface.

Rocket.ChatAuth-gatedFloating
🗺

### Mapping & Canvassing

GPS tracking, door-to-door canvassing, geographic organization

Public Map — interactive Leaflet map with territory cuts, marker clustering, and support levels
Full-screen map with cuts and support levels
🌍

#### Interactive Map

Leaflet-powered map with multi-provider geocoding, color-coded markers, cuts overlay, and fullscreen mode.

6 geocode providersLeafletClustering
Mobile canvass map with GPS tracking
🚶

#### GPS Canvassing

Full-screen mobile canvass map with real-time GPS, walking route algorithm, visit recording, and outcome tracking.

GPS trackingWalking routesMobile-first
Territory cut management
✂

#### Polygon Cuts

Draw geographic boundaries on the map. Assign locations to cuts for organized canvassing territories.

Drawing modePoint-in-polygonSpatial queries
Public shift signup with capacity tracking
📅

#### Volunteer Shifts

Shift scheduling with public signup, confirmation emails, cut assignment, and capacity management.

Public signupEmail confirmCut assignment
Data quality dashboard for canvassing
📋

#### Walk Sheets

Printable walk sheet forms with QR codes for each cut. Take the field data offline with printed reports.

QR codesPrintableCut reports
Location management with NAR import
🇨🇦

#### NAR Import

Import Canadian National Address Register data with province/city/postal filtering, coordinate projection, and streaming.

2025 formatProj4Streaming
Community calendar with shift sync
📆

#### Gancio Events

Public event calendar synced from shifts via Gancio. OAuth integration, map markers for upcoming events, and embeddable GrapesJS block.

OAuth syncMap markersEmbeddable

Your message is only as strong as the channels that carry it. Once your team is connected and your territory mapped, you need to tell your story — through video, documentation, landing pages, and more.

🎬

### Content & Media

Video, photos, playlists, page builder, documentation, and web IDE

Media Gallery — browse videos, shorts, photos, and playlists with live chat and reactions
Video management with metadata
📹

#### Video Library

Upload and manage videos with FFprobe metadata, scheduled publishing, view analytics, emoji reactions, threaded comments, and live chat.

AnalyticsLive chatScheduling
GrapesJS drag-and-drop page builder
🎨

#### Landing Page Builder

GrapesJS drag-and-drop page editor with block library, custom components, and instant public publishing at /p/slug.

Drag & dropBlock libraryInstant publish
Material-themed documentation site
📖

#### MkDocs Documentation

Material-themed docs with full-text search, blog, social cards, and Gitea-backed page comments with anonymous posting and moderation.

Material themeCommentsBlog
VS Code in the browser
💻

#### Code Server

Full VS Code in the browser. Edit configuration, templates, and code from anywhere without SSH.

VS CodeBrowser IDEExtensions
Collaborative whiteboard
✏

#### Excalidraw Whiteboard

Collaborative diagramming and whiteboard tool. Plan canvassing routes, sketch campaign strategies, and brainstorm as a team.

CollaborativeDiagramsReal-time
Engagement analytics dashboard
📷

#### Photo Management

Album organization with bulk uploads, metadata extraction, and engagement tracking. Reactions, comments, and a public photo gallery.

AlbumsEngagementGallery
Public gallery with categories
🎵

#### Playlists

Curated video collections with admin, user, and public playlists. Drag-reorder, sidebar navigation, featured carousel, and dedicated viewer page.

CuratedPublic/PrivateReorderable
Video gallery with live chat
📲

#### Shorts Feed

TikTok-style vertical video feed for clips under 60 seconds. Autoplay, sorting modes, and mobile-optimized swipeable interface.

Vertical videoAutoplayMobile-first
📊

### Data & Automation

Database browsing, workflow automation, version control, search, and utilities

Public Homepage — hero section, upcoming shifts, latest videos, and activity feed
Airtable-alternative data browser
🗄

#### NocoDB

Airtable-alternative database browser. Browse, filter, and export your campaign data through a spreadsheet-like interface.

Read-onlyFiltersExport
Visual workflow automation
⚡

#### n8n Workflows

Visual workflow automation. Connect APIs, trigger actions, and build custom integrations without code.

Visual builder400+ integrationsWebhooks
Self-hosted Git with CI/CD
📦

#### Gitea

Self-hosted Git repository. Version control for your campaign code, configs, and documentation.

Git hostingIssuesCI/CD
QR code generator
📱

#### Mini QR

QR code generator for walk sheets, campaign materials, and event signage. Instant PNG generation.

PNG outputEmbeddablePublic API
Ctrl+K global command palette
⌘

#### Command Palette

Global Ctrl+K search across pages, campaigns, locations, users, and settings. Fuzzy matching, recent items, and keyboard-driven navigation.

Ctrl+KFuzzy searchKeyboard-first
Organization and nav settings
⚙

#### Navigation Settings

Customizable public nav menu with feature toggles, custom external links, drag-reorder, and real-time preview. Control what visitors see.

Drag-reorderFeature flagsCustom links
🛡

### DevOps & Security

Tunnel management, monitoring, security hardening, and backups

Observability Dashboard — Prometheus metrics, Grafana dashboards, and alert management
Tunnel management dashboard
🌐

#### Pangolin Tunnel

Expose your self-hosted services to the internet without port forwarding. Newt container integration with automatic SSL.

No port-forwardAuto SSLNewt
Prometheus + Grafana monitoring
📈

#### Prometheus + Grafana

12 custom metrics, 3 dashboards, alert rules, and service health monitoring. Full observability stack.

12 metrics3 dashboardsAlerts
Role-based access control
🔏

#### Security Hardened

13-finding security audit addressed. JWT rotation, rate limiting, XSS prevention, encrypted secrets, HSTS headers.

Audit completeRBACEncryption
Email testing with MailHog
💾

#### Automated Backups

PostgreSQL dumps, Listmonk data, uploads archive, and optional S3 upload. One-command backup script.

PostgreSQLS3 optionalScripted
Organization security settings
🔐

#### Vaultwarden

Self-hosted Bitwarden-compatible password manager. Secure credential sharing for your team with real-time sync and browser extensions.

BitwardenTeam sharingEncrypted
Multi-service user provisioning
👥

#### User Provisioning

Automatic account sync across Rocket.Chat, Gitea, Vaultwarden, and Listmonk. Eager or lazy strategies with per-user status tracking and bulk sync.

4 servicesAuto-syncLifecycle hooks

A movement that can’t sustain itself financially will always depend on someone else’s goodwill. Own your revenue the same way you own your data — with tools that put every dollar directly into your cause.

💳

### Fundraising & Commerce

Donations, subscriptions, product sales, and supporter monetization

Pricing Plans — subscription tiers with monthly/yearly billing and feature comparison
Public donation page
💰

#### Donation Platform

Accept one-time donations with configurable suggested amounts, anonymous giving, and automatic tax receipts via email.

StripeAnonymousReceipts
Plan management dashboard
🔄

#### Subscription Plans

Recurring revenue with tiered plans, monthly and yearly billing, and automatic renewal management. Replace Patreon.

RecurringTiersMRR tracking
Public product storefront
🛒

#### Product Shop

Sell digital products, event tickets, and merchandise. Inventory management, download delivery, and capacity limits.

Digital goodsEventsInventory
Revenue analytics dashboard
📊

#### Payment Dashboard

Revenue analytics with subscriber counts, MRR tracking, donation history, and CSV exports for accounting.

AnalyticsCSV exportRefunds
In-gallery promotion manager
📢

#### Gallery Ads

Promote donations, products, and subscriptions within the media gallery. Visibility targeting, scheduling, and click analytics.

TargetingSchedulingCTR tracking
Custom branded donation pages
📝

#### Donation Pages

Custom branded donation pages with configurable amounts, thank-you messages, and public slugs. Multiple campaigns with independent branding and goals.

Custom brandingSlug URLsGoals
👥

### Social & Community

Friendships, activity feeds, achievements, groups, reactions, and real-time notifications

Wall of Fame — volunteer spotlight, achievement leaderboards, and community recognition
Volunteer friend connections
👥

#### Friend System

Friend requests, suggestions, pokes, cross-module badges on campaigns, shifts, and the map.

Friend requestsSuggestionsPoke
Public homepage with activity
📰

#### Activity Feed

Real-time SSE feed of friend activity across campaigns, shifts, canvassing, and responses.

Real-timeSSECross-module
Volunteer achievements leaderboard
🏆

#### Achievements & Notifications

Milestone badges, real-time notification bell with friend requests, pokes, comments, and alerts.

BadgesBell UIReal-time
Personal calendar with layers
👫

#### Groups & Teams

Auto-groups for shift teams and campaign crews, custom groups, and shared updates.

Shift teamsCampaign crewsCustom groups
Gallery with reactions and chat
😍

#### Reactions & Comments

6 emoji reactions with floating animations, threaded comments with word-filter safety, pagination, and auto-notification.

6 emoji typesThreadedContent safety
🇨🇦

### Data Sovereignty

Canadian-built, privacy-first, no foreign surveillance, no lock-in

🏠

#### Canadian Residency

Built in Edmonton, Alberta. Hosted on Canadian soil. Subject only to Canadian law. No Patriot Act exposure.

Alberta-builtCanadian law
🔓

#### No Lock-in

Export everything anytime. Standard PostgreSQL database, standard file formats. Switch away whenever you want.

Full exportStandard formats
🛡

#### Privacy First

No analytics tracking your users. No corporate data mining. Your supporters' data protected by architecture, not policy.

No trackingBy design
👁

#### No Surveillance

No NSA. No FISA courts. No corporate oversight. Complete operational security for your political organizing.

Zero surveillanceOpSec

## Living Network

Real sites powered by Changemaker Lite in production today

🏳️‍🌈
Pride Corner
Community hub for LGBTQ+ advocacy and resources
✓ Live
🏛
Public Interest Alberta
Policy advocacy and democratic engagement
✓ Live
✊
Free Alberta
Fighting for equitable access to food and systemic policy change for all Albertans
✓ Live
🗳
Linda Lindsay
Progressive political campaign platform
✓ Live
🤝
Alberta Democracy Taskforce
Defending democratic rights and freedoms
✓ Live
⚡
BNKops
Liberation technology and hosting services
✓ Live
6+
Live Sites
24/7
Uptime
$0
Monthly Fees
100%
Data Ownership

## Pricing

No hidden fees. No usage limits. No surprises. Self-host Free Forever

### Self-Hosted

$0
forever

- All 45+ campaign tools
- Unlimited users & data
- Complete documentation
- Community support
- Your infrastructure
- 100% open source

Installation Guide

For tech-savvy campaigns

Most Popular

### Pre-Configured

Contact
for pricing

- Everything in Self-Hosted
- Hardware included
- Pre-installed & configured
- 30-minute setup
- Training included
- Canadian support

Get a Quote

Ready out of the box

### Managed Hosting

Custom
monthly

- We handle everything
- Canadian data centres
- Daily backups
- 24/7 monitoring
- Security updates
- Priority support

Contact Sales

For larger campaigns

### Compare Your Savings

Average campaign using corporate tools: $1,200–$4,000/month

Same capabilities with Changemaker Lite: $0 (self-hosted)

See detailed cost breakdown →

## Ready to Grow Your Network?

Join campaigns using open-source tools to build real political power.

Schedule a Chat → Read Documentation
30-minute setup Your data stays yours No monthly fees

### What does free* mean?

Changemaker Lite is 100% free and open source software — no license fees, no subscriptions, no vendor lock-in. Running it in production does require a few external dependencies:

- 🖥 A Linux server or hardware — something to run the stack on (old laptop, mini PC, VPS)
- 🌐 An internet connection — to serve traffic to the public
- 🏷 A domain name — ~$10–15/yr for a custom domain
- 🔗 A production URL / tunnel — for public-facing deployment (can be deployed privately without one)
- ✉ An SMTP email provider — free tiers exist, but the most capable and secure are paid
- 📱 An Android phone — required for SMS campaigns (uses Termux as a bridge to send texts)
- 💳 A Stripe account — for credit card payments and donations; e-Transfer also integrated for direct bank payments