corey.consulting

Case study · Brand + Web + Data

A full digital strategy in 30 days.

How a first-time political campaign went from no brand, no site, no analytics to a fully operating digital presence — custom-built, voice-aligned, and instrumented to tell in-district voters from everyone else.

Client
First-time candidate, Michigan State House (anonymous)
Industry
Political campaign · 10+ person team
Scope
Brand, web, platforms, custom analytics
Year
2025

At a glance

Greenfield to launch in one month.

Four deliberate phases. One person. One accountability line. No templates, no campaign-in-a-box, no third-party pixels baked into the front-end.

Client
Candidate for Michigan State House of Representatives (anonymous)
Engagement
Brand, web, platform build, custom analytics
Industry & size
Political campaign · 10+ person team
Published
2025

Headline stats

30

Days from kickoff to fully launched digital presence.

15+

Custom pages shipped, plus utilities and a news/blog system.

4

Platforms built end-to-end — site, volunteers, newsletter, admin.

1

Person — solo build across brand, web, platforms, AI, analytics.

Most consultants spend more time making presentations about the work than doing the work itself. I cut the bloat and execute on day one.
Corey Collins

01

The challenge

Greenfield. Everything, at once.

The client was a first-time candidate for the Michigan State House of Representatives with a 10+ person campaign team. No existing brand. No website. No voice guide. No way to tell who was paying attention. Outreach had started, but nothing related to the digital project existed yet.

A political campaign is one of the few business environments where “we need everything, and we need it yesterday” is literally the job description. The calendar doesn't move. Election day is election day. Every week without a site, a voice, or a way to measure reach is a week of runway lost.

Symptoms on the ground

  1. 01No brand system — no voice, no messaging pillars, no visual language beyond a logo.
  2. 02No digital presence — no site for voters to find, no place to surface issue positions.
  3. 03No capture at scale — no way to intake volunteers, newsletter signups, or voter contact.
  4. 04No analytics — no signal on where interest was coming from, what was landing, or whether ad spend was reaching actual constituents.
  5. 05A campaign clock that was already ticking.

Election day is election day. The calendar doesn't move.

Runway → shipped

02

Why I got the call

Known quantity. Day-one execution.

They had seen my work before. They knew I could start executing on day one at a higher quality bar than what a traditional agency would hand them in month two.

That's the whole pitch. A first-time campaign doesn't have the bandwidth to manage a vendor relationship, review decks, or wait out a discovery phase. They needed someone who would sit down with the team, agree on the voice, and start building.

Three reasons this engagement got the call

01

Prior trust

They'd seen the work. They knew the quality and the velocity before anything started.

Relationship

02

Full scope, one seat

Brand, web, platforms, analytics, AI tooling — one person, one accountability line, no second vendor.

Scope

03

Built for the clock

Political timelines are non-negotiable. A 30-day stand-up isn't a stretch goal; it's the floor.

Tempo

A first-time campaign can't afford a six-week discovery phase. What they can afford is one person who's done this before and starts building on day one. Everything in this study flows from that call being right.

03

Phase 01 — Foundation

Voice and pillars before pixels.

Four weeks. Four deliberate phases. The first one didn't touch software. The team and I aligned on the things software can't fix later: who the candidate was, what they stood for, and how they were going to sound saying it.

A voice guide written in week one is what lets an AI-assisted post generator in week three sound like the candidate — not like every other campaign on the internet.

What week one produced

  • Campaign pillars and issue-level positioning, agreed with the team.
  • A brand voice guide, usable by both humans and models.
  • A technical architecture for the site and the three internal platforms.
  • Alignment on what “done” looked like for day 30.

04

Phase 02 — The build

Four platforms. One stack. One month.

Weeks two and three were the build. Fully custom — Vite, React, Node, Express — no templates, no off-the-shelf campaign-in-a-box product, no third-party tracking pixels baked into the front-end.

A political campaign needs control over its own data surface for security and trust reasons. Every request a voter makes to the site should go to the campaign's infrastructure, not to a marketing tech vendor.

What shipped

Platform 01

Public site

15+ custom pages. Candidate, pillars, issues, events, contact, district lookup. Utilities + news/blog.

Platform 02

Volunteer mgmt

Custom intake, role assignment, contact info, and the admin backend that works with it.

Platform 03

Newsletter

Signup flows, list management, and a drafting surface that respected the brand voice from Phase 01.

Platform 04

Admin & analytics

Internal control surface. Logins, CMS, the AI post pipeline, and the custom dashboards the team used to decide.

The only piece of the brand package I didn't build was the logo itself. Typography, color, visual language, component library, voice — all part of the same sprint.

05

Phase 03 — The quiet hero

A district lookup that doubled as a quality signal.

The analytics layer was fully custom. Cookie-free. No third-party trackers. UTM-aware, component-click aware, origin-aware — and all of it sitting in a database the campaign owned.

A Google Maps API integration let any visitor type an address and get an instant “yes, you're in the district” or “no, you're not” — and turned out to be the quiet hero of the analytics story. Every use of it was a voter-confirmed, self-attested, in-district ping. Not inferred from IP. Not guessed from a ZIP code.

What the campaign could suddenly see

Ad sources — in-district vs. out

Which spend reached constituents, which burned on out-of-district clicks.

Organic referrals — real vs. curious

Which inbound brought actual voters, which brought out-of-state lurkers.

Converting pages

Which pages turned lookups into contact submissions, newsletter signups, or volunteers.

Drop-off points

Where flows broke, down to the component click.

06

Phase 04 — The operating system

The AI pipeline that kept running after launch.

The site was the deliverable. The operating system was the unlock. Inside the admin platform, we stood up a content pipeline the campaign could run every week without me.

The brand voice from Phase 01 sat in the admin as a first-class object the AI pipeline read from. The weekly scrape pulled in news the campaign could respond to. Post ideas, creative copy, and a suggested treatment came out of a single button. The required campaign disclaimer was stamped automatically.

The weekly content pipeline

Step 01

Firecrawl weekly scrape

Issue-relevant news, auto-pulled.

Step 02

Topics + brand voice

Stored in admin as first-class objects.

Step 03

OpenAI API generates

Copy · header · subtext · CTA.

Step 04

9 aspect exports

Ready-to-post, disclaimer stamped.

Final impact

What 30 days of deliberate execution actually shipped.

Time to live

30 days — kickoff to fully launched campaign infrastructure.

Scope built

4 custom platforms — public site, volunteer mgmt, newsletter, admin/analytics.

Pages

15+ custom pages plus utilities and a news/blog system.

Traffic (3 months post-launch)

Organic visits in the hundreds from real constituents. Paid visits in the thousands, attributed by UTM.

Quality signal

District-lookup usage — self-attested, in-district voter signal, captured without third-party tracking.

Operating system

AI post + creative pipeline running weekly, on-voice, with automatic disclaimer compliance.

Headcount

1 — solo build, with alignment and approval from the campaign team.

Conclusion

A first-time campaign with no brand, no site, and no analytics went live in 30 days with a fully custom digital stack — one they own and control. The site got them in the game. The analytics told them what was working. The AI pipeline let a 10-person team operate like a much larger one. And the issues pages told the campaign what their own voters cared about — before the campaign had to guess.

Everything in this study was built in a month. Everything is still running.

Have a similar problem?

Send me a message. We'll know in one call if this fits.

Short note is fine. I reply the same day, usually within an hour.

Browse more work

All case studies