Solar President
One Big Beautiful Bill — commercial solar tax-credit calculator and lead funnel before the July 5, 2026 deadline.
Solar President is a tax-credit-stacking calculator and lead funnel for commercial solar buyers — Investment Tax Credit, Domestic Content Bonus, and 100% year-one bonus depreciation combined into a single 47%-plus incentive number. The site is built to convert deadline-driven traffic before construction must begin on July 5, 2026, with bold Trump-era political styling and a lead pipeline behind it.
- Go
- html/template
- Inter (Google Fonts)
- Lucide icons
- Schema.org LocalBusiness
- Vanilla CSS/JS
- Apache (reverse proxy)
- systemd
Solar President is a vertical landing-and-lead site for commercial solar — built around the one-big-beautiful bill stack of federal incentives that, layered correctly, pushes the effective subsidy on a qualifying commercial system past forty-seven percent. The whole site exists to translate a deadline (construction must begin before July 5, 2026) into qualified leads while the window is open.
The math the site sells
- Investment Tax Credit (ITC) — the baseline 30% federal credit on commercial solar.
- Domestic Content Bonus — an additional 10% when components meet the American-made threshold.
- 100% Year-One Bonus Depreciation — the remaining basis written off in year one rather than amortized.
- Stacked example: a $1M commercial system yielding ~$478,500 in combined first-year tax incentives. The site lays the math out so a CFO can see the bottom line without a calculator.
Conversion design
- Deadline-first hero — the July 5, 2026 countdown is the most important element on the page; every section flows back to "before construction begins, you qualify; after, you don't."
- Schema.org LocalBusiness markup for search visibility on commercial-solar queries.
- Curated political styling — Trump whiteboard graphics, war-room imagery, J-Pow / Musk math bits. The audience self-selects; the conversion rate rewards the styling decision.
- Lead capture piped into the same admin pattern we ship across our other Go sites — honeypot, rate limit, Postmark notification, SQLite ledger.
How it's built
Single Go binary with html/template and SQLite — the same stack pattern as the rest of the company-site fleet. Inter via Google Fonts, Lucide for icons, vanilla CSS/JS, Schema.org LocalBusiness, sitemap, robots.txt. The site loads fast, indexes cleanly, and has nowhere for a CMS pipeline to break in the middle of a campaign.
Why "Solar President"
The name is the brand position. Commercial solar policy lives or dies by who is signing the bill, and the current bill — branded into every section as "the One Big Beautiful Bill" — is the most generous it has ever been or is likely to be again. Solar President is what you point at when you need the deadline-driven traffic, in the political register the deadline lives in, to convert in time.
Straight from the source
The project's own README.
Rendered in place — every link, image, and code block carried over from the repo. The page below is what a contributor would see opening the project for the first time.
DarkLabel
A white-label lead management platform built with Go. Features a public-facing website with service information and contact form, plus a full admin panel for managing leads and email communications. Fully configuration-driven — customize business name, colors, services, and more via environment variables.
Features
Public Website
- Responsive, mobile-first design
- Service listings and business information
- Contact form with validation and honeypot spam protection
- SEO optimized (meta tags, sitemap, structured data)
- Configurable color scheme via CSS variables
Admin Panel
- Lead management with status tracking (new, contacted, closed)
- Email inbox (Postmark inbound webhook)
- Compose and send emails via Postmark
- Email forwarding configuration
- Trash/spam management for leads and emails
- Session-based authentication with rate limiting
White-Label Ready
- All branding configured via environment variables
- Dynamic service options (JSON configuration)
- Customizable color palette (primary, secondary, accent)
- No hardcoded business names, addresses, or phone numbers
Tech Stack
- Backend: Go (standard library, no frameworks)
- Database: SQLite with WAL mode
- Email: Postmark API
- Frontend: Vanilla HTML/CSS/JS, Lucide icons
- Deployment: systemd service behind nginx
Quick Start
# Copy environment config
cp .env.example .env
# Edit .env with your business details
# Build
make build
# Run locally
make run
The app will start on the configured port (default: 8123).
Configuration
Copy .env.example to .env and configure all variables:
| Variable | Default | Description |
|---|---|---|
PORT |
8123 |
Server port |
DOMAIN |
localhost |
Your domain name |
ADMIN_USER |
admin |
Admin login username |
ADMIN_PASS |
changeme |
Admin login password |
BUSINESS_NAME |
My Business |
Displayed throughout the site |
BUSINESS_PHONE |
(555) 000-0000 |
Contact phone number |
BUSINESS_EMAIL |
[email protected] |
Contact email address |
BUSINESS_ADDRESS |
Your City, ST |
Business location |
BUSINESS_TAGLINE |
Professional services you can trust |
Hero/meta tagline |
BUSINESS_HOURS |
Mon-Fri: 9am-5pm |
Displayed on contact page |
SERVICES_JSON |
[{"value":"general","label":"General Inquiry"}...] |
Contact form service options |
COLOR_PRIMARY |
#1e293b |
Primary brand color |
COLOR_SECONDARY |
#334155 |
Secondary brand color |
COLOR_ACCENT |
#3b82f6 |
Accent/highlight color |
POSTMARK_TOKEN |
(empty) | Postmark server API token |
POSTMARK_FROM |
(empty) | Postmark sender address |
REPLY_SUBJECT_TEMPLATE |
Re: Your Inquiry - %s |
Email reply subject (%s = business name) |
Services Configuration
The SERVICES_JSON variable accepts a JSON array of service options for the contact form:
[
{"value": "consulting", "label": "Consulting"},
{"value": "support", "label": "Technical Support"},
{"value": "sales", "label": "Sales Inquiry"},
{"value": "other", "label": "Other"}
]
Project Structure
.
├── cmd/main.go # Entry point, routing, middleware
├── internal/
│ ├── config/ # Environment configuration
│ ├── database/ # SQLite initialization and migrations
│ ├── handlers/
│ │ ├── admin/ # Admin panel handlers
│ │ └── public.go # Public page handlers
│ ├── mailer/ # Postmark email client
│ ├── models/ # Data structures
│ ├── ratelimit/ # IP-based rate limiting
│ ├── session/ # Session management
│ ├── templates/ # Template rendering
│ ├── testutil/ # Test helpers
│ └── validation/ # Form validation
├── static/
│ ├── css/ # Stylesheets
│ └── js/ # JavaScript
├── templates/ # HTML templates
│ ├── admin/ # Admin panel templates
│ ├── base.html # Base layout
│ └── *.html # Public pages
├── data/ # SQLite database (gitignored)
└── .env.example # Environment template
Commands
make build # Build the binary
make run # Run locally
make restart # Rebuild and restart systemd service
make logs # View service logs
make status # Check service status
Customization
Colors
Override the default slate/blue palette with any hex colors:
COLOR_PRIMARY=#1a1a2e
COLOR_SECONDARY=#16213e
COLOR_ACCENT=#e94560
These are injected as CSS custom properties and cascade throughout the site.
Templates
HTML templates are in the templates/ directory. They use Go's html/template package with template variables for all business data. No hardcoded values need changing — everything flows from the configuration.
License
MIT License. See LICENSE for details.
Build something like this
Want a tool like this for your shop?
We've shipped this kind of thing before. Twenty-minute intro call, no slides.