369 lines
17 KiB
HTML
369 lines
17 KiB
HTML
{% extends "main.html" %}
|
|
|
|
{% block extrahead %}
|
|
{{ super() }}
|
|
<script>
|
|
// Add data attribute for CSS targeting
|
|
document.body.setAttribute('data-md-template', 'home');
|
|
</script>
|
|
{% endblock %}
|
|
|
|
{% block content %}
|
|
<div class="md-content--home">
|
|
|
|
<!-- Hero Grid Section -->
|
|
<section class="hero-grid">
|
|
<div class="grid-container">
|
|
<!-- Main Hero Block -->
|
|
<div class="hero-main grid-card">
|
|
<div class="meta-badge">🤯 This Site Runs On Changemaker Lite</div>
|
|
<h1>The Only Free and Open Source Political Campaign Platform</h1>
|
|
<p>Stop paying thousands of dollars a month to corporate platforms just to be surveilled. Your supporters data deserves better. Run your entire political campaign on ~$200 hardware and
|
|
with fewer corporate dependencies every day.</p>
|
|
|
|
<div class="hero-ctas">
|
|
<a href="#solution" class="btn btn-primary">See The Solution</a>
|
|
<a href="#get-started" class="btn btn-secondary">Get Started</a>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Problem Statement Block -->
|
|
<div class="hero-problem grid-card">
|
|
<h3>The Problem</h3>
|
|
<div class="problem-list">
|
|
<div class="problem-item">💸 Canvassing: $100+/mo</div>
|
|
<div class="problem-item">📊 Nationbuilder: $500+/mo</div>
|
|
<div class="problem-item">📧 Mailchimp: $200+/mo</div>
|
|
<div class="problem-item">👁️ Surveillance: Always on</div>
|
|
<div class="problem-item">🔒 Vendor lock-in: Trapped forever</div>
|
|
<div class="problem-item">📉 Data ownership: Not yours</div>
|
|
<div class="problem-item">😠 Implicitly Supporting Evil Corporations</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Solution Stats Block -->
|
|
<div class="hero-stats grid-card">
|
|
<h3>The Solution</h3>
|
|
<div class="stat-grid">
|
|
<div class="stat-item">
|
|
<div class="stat-number">Runs on ~$200 Hardware</div>
|
|
<div class="stat-label">One-time cost</div>
|
|
</div>
|
|
<div class="stat-item">
|
|
<div class="stat-number">11</div>
|
|
<div class="stat-label">Campaign tools</div>
|
|
</div>
|
|
<div class="stat-item">
|
|
<div class="stat-number">Your Data</div>
|
|
<div class="stat-label">Localized & Secure</div>
|
|
</div>
|
|
<div class="stat-item">
|
|
<div class="stat-number">↓</div>
|
|
<div class="stat-label">Fewer corporate deps every day</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Trust Indicators -->
|
|
<div class="hero-trust grid-card">
|
|
<h3>Proven By</h3>
|
|
<div class="trust-items">
|
|
<div class="trust-item">
|
|
<span class="trust-icon">⚡</span>
|
|
<span class="trust-text">Powers BNKops.com</span>
|
|
</div>
|
|
<div class="trust-item">
|
|
<span class="trust-icon"> 🌈 </span>
|
|
<span class="trust-text">Liberation tech</span>
|
|
</div>
|
|
<div class="trust-item">
|
|
<span class="trust-icon">🛡️</span>
|
|
<span class="trust-text">Zero surveillance</span>
|
|
</div>
|
|
<div class="trust-item">
|
|
<span class="trust-icon">🚀</span>
|
|
<span class="trust-text">30-min setup</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- Solution Grid -->
|
|
<section class="solution-grid" id="solution">
|
|
<div class="grid-container">
|
|
<div class="section-header">
|
|
<h2>Your Complete Campaign Toolkit</h2>
|
|
<p>Simple, powerful tools designed for campaign staff - no technical skills needed</p>
|
|
</div>
|
|
|
|
<div class="services-grid">
|
|
<!-- Documentation Editor -->
|
|
<div class="service-card grid-card">
|
|
<div class="service-icon">✍️</div>
|
|
<h3>Campaign Content Editor</h3>
|
|
<div class="service-replaces">Replaces: Google Docs + WordPress (~$50/month)</div>
|
|
<ul class="service-features">
|
|
<li>Edit docs & blog posts</li>
|
|
<li>Live preview as you type</li>
|
|
<li>Simple formatting tools</li>
|
|
<li>Works in any browser</li>
|
|
</ul>
|
|
<div class="service-tool">Code Server</div>
|
|
</div>
|
|
|
|
<!-- Canvassing System -->
|
|
<div class="service-card grid-card featured">
|
|
<div class="service-badge">Field Team Essential</div>
|
|
<div class="service-icon">🚪</div>
|
|
<h3>Smart Canvassing</h3>
|
|
<div class="service-replaces">Replaces: Qumon (~$100+/mo)</div>
|
|
<ul class="service-features">
|
|
<li>Interactive voter maps</li>
|
|
<li>Track door knocks</li>
|
|
<li>Mobile-friendly</li>
|
|
<li>Works offline</li>
|
|
</ul>
|
|
<div class="service-tool">NocoDB + Map Viewer</div>
|
|
</div>
|
|
|
|
<!-- Email System -->
|
|
<div class="service-card grid-card">
|
|
<div class="service-icon">📩</div>
|
|
<h3>Email Blasts</h3>
|
|
<div class="service-replaces">Replaces: Mailchimp (~$200+/mo)</div>
|
|
<ul class="service-features">
|
|
<li>Simple email creator</li>
|
|
<li>Track opens/clicks</li>
|
|
<li>Unlimited subscribers</li>
|
|
<li>Pre-made templates</li>
|
|
</ul>
|
|
<div class="service-tool">Listmonk</div>
|
|
</div>
|
|
|
|
<!-- Voter Database -->
|
|
<div class="service-card grid-card">
|
|
<div class="service-icon">🗃️</div>
|
|
<h3>Voter Database</h3>
|
|
<div class="service-replaces">Replaces: NationBuilder (~$500+/mo)</div>
|
|
<ul class="service-features">
|
|
<li>Spreadsheet interface</li>
|
|
<li>Easy voter searches</li>
|
|
<li>Custom survey forms</li>
|
|
<li>Export walk lists</li>
|
|
</ul>
|
|
<div class="service-tool">NocoDB</div>
|
|
</div>
|
|
|
|
<!-- Automation -->
|
|
<div class="service-card grid-card">
|
|
<div class="service-icon">🤖</div>
|
|
<h3>Smart Automation</h3>
|
|
<div class="service-replaces">Replaces: Zapier (~$300/month)</div>
|
|
<ul class="service-features">
|
|
<li>Auto follow-up emails</li>
|
|
<li>Volunteer reminders</li>
|
|
<li>Donation thank yous</li>
|
|
<li>Pre-built workflows</li>
|
|
</ul>
|
|
<div class="service-tool">n8n</div>
|
|
</div>
|
|
|
|
<!-- Website -->
|
|
<div class="service-card grid-card">
|
|
<div class="service-icon">🌐</div>
|
|
<h3>Campaign Website</h3>
|
|
<div class="service-replaces">Replaces: Squarespace (~$100/month)</div>
|
|
<ul class="service-features">
|
|
<li>Pre-designed templates</li>
|
|
<li>Easy content updates</li>
|
|
<li>Built-in blog</li>
|
|
<li>Fast loading</li>
|
|
</ul>
|
|
<div class="service-tool">MkDocs</div>
|
|
</div>
|
|
|
|
<!-- Volunteer Management -->
|
|
<div class="service-card grid-card">
|
|
<div class="service-icon">👥</div>
|
|
<h3>Volunteer HQ</h3>
|
|
<div class="service-replaces">Replaces: Mobilize (~$200/month)</div>
|
|
<ul class="service-features">
|
|
<li>Shift scheduling</li>
|
|
<li>Automated reminders</li>
|
|
<li>Skills matching</li>
|
|
<li>Progress tracking</li>
|
|
</ul>
|
|
<div class="service-tool">NocoDB + n8n</div>
|
|
</div>
|
|
|
|
<!-- Linking Features -->
|
|
<div class="service-card grid-card">
|
|
<div class="service-icon">👀</div>
|
|
<h3> Mobile, Social, & Hot Link Friendly</h3>
|
|
<div class="service-replaces">Replaces: Linktree (~$20/month)</div>
|
|
<ul class="service-features">
|
|
<li>Automatic Social Cards</li>
|
|
<li>Hot Linking to All Assets & Headers</li>
|
|
<li>Documentation Indexing & Search</li>
|
|
<li>Progress tracking</li>
|
|
</ul>
|
|
<div class="service-tool">NocoDB + n8n</div>
|
|
</div>
|
|
|
|
<!-- Rapid Response -->
|
|
<div class="service-card grid-card">
|
|
<div class="service-icon">⚡</div>
|
|
<h3>Rapid Response</h3>
|
|
<div class="service-replaces">Replaces: Slack + Google Docs (~$50/month)</div>
|
|
<ul class="service-features">
|
|
<li>Real-time collaboration</li>
|
|
<li>Community Editing</li>
|
|
<li>Open source documentation</li>
|
|
<li>Version control</li>
|
|
</ul>
|
|
<div class="service-tool">Code Server + Gitea</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- Comparison Grid -->
|
|
<section class="comparison-grid">
|
|
<div class="grid-container">
|
|
<div class="section-header">
|
|
<h2>Corporate SaaS vs Changemaker Lite</h2>
|
|
<p>Why campaigns are switching to self-hosted FOSS</p>
|
|
</div>
|
|
|
|
<div class="comparison-table">
|
|
<div class="comparison-header grid-card">
|
|
<div></div>
|
|
<div class="compare-col">Corporate SaaS</div>
|
|
<div class="compare-col highlight">Changemaker Lite</div>
|
|
</div>
|
|
|
|
<div class="comparison-row grid-card">
|
|
<div class="compare-label">Monthly Cost</div>
|
|
<div class="compare-value bad">$1,200+</div>
|
|
<div class="compare-value good">$0 Self-Hosted</div>
|
|
</div>
|
|
|
|
<div class="comparison-row grid-card">
|
|
<div class="compare-label">Data Ownership</div>
|
|
<div class="compare-value bad">Their servers</div>
|
|
<div class="compare-value good">100% yours</div>
|
|
</div>
|
|
|
|
<div class="comparison-row grid-card">
|
|
<div class="compare-label">Surveillance</div>
|
|
<div class="compare-value bad">Always tracked</div>
|
|
<div class="compare-value good">Zero tracking</div>
|
|
</div>
|
|
|
|
<div class="comparison-row grid-card">
|
|
<div class="compare-label">Vendor Lock-in</div>
|
|
<div class="compare-value bad">Trapped forever</div>
|
|
<div class="compare-value good">Export anytime</div>
|
|
</div>
|
|
|
|
<div class="comparison-row grid-card">
|
|
<div class="compare-label">Customization</div>
|
|
<div class="compare-value bad">Limited options</div>
|
|
<div class="compare-value good">Full control</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- Get Started Grid -->
|
|
<section class="get-started-grid" id="get-started">
|
|
<div class="grid-container">
|
|
<div class="section-header">
|
|
<h2>Start Your Digital Liberation</h2>
|
|
<p>Three ways to break free from corporate campaign tech</p>
|
|
</div>
|
|
|
|
<div class="options-grid">
|
|
<!-- Plug & Play -->
|
|
<div class="option-card grid-card featured">
|
|
<div class="option-badge">Most Popular</div>
|
|
<div class="option-icon">🚀</div>
|
|
<h3>Plug & Play</h3>
|
|
<div class="option-price">~$400 (Built to Suit)</div>
|
|
<div class="option-features">
|
|
<div class="feature">✓ Pre-configured hardware</div>
|
|
<div class="feature">✓ 30-minute setup</div>
|
|
<div class="feature">✓ All 11 services ready</div>
|
|
<div class="feature">✓ Priority support</div>
|
|
<div class="feature">✓ Ships on request</div>
|
|
</div>
|
|
<a href="https://bnkops.com/hardware" class="btn btn-primary">Order Hardware</a>
|
|
</div>
|
|
|
|
<!-- DIY -->
|
|
<div class="option-card grid-card">
|
|
<div class="option-icon">🛠️</div>
|
|
<h3>DIY Install</h3>
|
|
<div class="option-price">Free</div>
|
|
<div class="option-features">
|
|
<div class="feature">✓ Use your hardware</div>
|
|
<div class="feature">✓ Docker compose</div>
|
|
<div class="feature">✓ Full documentation</div>
|
|
<div class="feature">✓ Community support</div>
|
|
<div class="feature">✓ Learn the system</div>
|
|
</div>
|
|
<a href="/getting-started" class="btn btn-secondary">Install Guide</a>
|
|
</div>
|
|
|
|
<!-- Managed -->
|
|
<div class="option-card grid-card">
|
|
<div class="option-icon">☁️</div>
|
|
<h3>Managed Hosting</h3>
|
|
<div class="option-price">$???/mo</div>
|
|
<div class="option-features">
|
|
<div class="feature">✓ We manage everything</div>
|
|
<div class="feature">✓ Your domain</div>
|
|
<div class="feature">✓ Daily backups</div>
|
|
<div class="feature">✓ 24/7 monitoring</div>
|
|
<div class="feature">✓ Still your data</div>
|
|
</div>
|
|
<a href="https://bnkops.com" class="btn btn-secondary">Learn More</a>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Cards in a row -->
|
|
<div class="row-cards">
|
|
<div class="final-cta grid-card">
|
|
<h3>Join the Movement</h3>
|
|
<p>Some of the biggest players in local politics are already using it; maybe give it a try?</p>
|
|
<div class="cta-buttons">
|
|
<a href="https://bnkops.com/newsletter" class="btn btn-primary">Get Campaign Tips</a>
|
|
<a href="https://docs.bnkops.com" class="btn btn-secondary">Read Documentation</a>
|
|
</div>
|
|
</div>
|
|
<div class="subscribe-card grid-card">
|
|
<h3>Subscribe</h3>
|
|
<form action="https://newsletter.bnkops.com/subscription/form" method="POST" target="_blank"
|
|
autocomplete="off">
|
|
<input type="hidden" name="nonce">
|
|
<p>
|
|
<input type="email" name="email" required placeholder="E-mail">
|
|
</p>
|
|
<p>
|
|
<input type="text" name="name" placeholder="Name (optional)">
|
|
</p>
|
|
<p>
|
|
<input id="48b84" type="checkbox" name="l" checked
|
|
value="48b841e7-841b-458b-95f8-63903a1c0912">
|
|
<label for="48b84">~ Weekly Updates</label>
|
|
</p>
|
|
<input type="submit" value="Subscribe" class="action-btn primary">
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
</div>
|
|
{% endblock %} |