Back to projectsCase study

Luis Carlos Segura — the campaign ended, the site stayed alive.

A full stack platform for a 2026 campaign for Colombia's Senate: lead-capture forms, a leads dashboard and two-way automated emails. When the campaign wrapped, the same site became the digital home of his track record — instead of being scrapped and rebuilt from zero.

PoliticsFull StackLeads DashboardSocial Medialuiscarlossegura.com
Luis Carlos Segura at a community gathering
The challenge

A campaign plays out in weeks: everyone who leaves their information needs to be contacted fast, and no one has time to comb through a shared inbox. And once the campaign ends, the site usually gets left to rot right when people start searching for who the candidate is.

The solution

A custom backend with a leads dashboard and two-way automated emails, so the team could respond the same day. And an architecture built to last: once the campaign closed, the site pivoted to track record and press while keeping the backend, forms and domain intact.

Phase 1 · 2026 Senate campaign

A capture machine, not a brochure.

Lead-capture forms

Several forms spread across the site — contact, volunteer sign-up and citizen proposals — all writing to the same lead database.

Leads dashboard

The campaign team saw every submission in its own panel: who wrote in, from which form and about what topic, no fighting with spreadsheets.

Anti-spam protection

Cloudflare Turnstile on every submission, so the database filled up with real people, not bots, in the middle of the campaign.

Automated emails

One form, two emails, zero manual work.

Every submission fires the same sequence, in seconds, with no one having to copy data anywhere.

01

Someone fills out the form

The submission passes anti-spam validation and gets saved to the backend's lead database.

02

Internal email to the team

The team gets an instant email with the details and the full message, so they can respond without logging into the panel to check.

03

Confirmation email to the citizen

The person gets their own confirmation: their message arrived and someone will read it. No one is left wondering into the void.

Phase 2 · After the campaign

From asking for the vote to telling the story.

Same technical foundation, a different goal. Today the site tells 24 years of public service instead of pushing a candidacy.

Track record as the centerpiece

The site stopped asking for the vote and started telling the story: council member since age 18, Secretary of Education, Mayor of Chía, and the work happening today on the ground.

Press room

A news section pulling together national and regional media coverage, including the video that sparked the national debate on civility.

Citizen proposals

The law-proposal form stayed active: people keep sending in ideas, and the same backend receives and notifies on them.

Tech stack

Built to survive a campaign, and everything after it.

Backend

  • Java + Spring Boot
  • PostgreSQL
  • API on its own subdomain
  • Deployed on Hetzner

Frontend

  • Vue.js
  • Tailwind CSS
  • Deployed on Cloudflare

Automated emails

  • Resend
  • Internal notification to the team
  • Confirmation to the citizen
  • Custom HTML templates

Tracking & Social

  • Custom first-party events
  • Cloudflare Turnstile
  • Social media management during the campaign
  • Content for Instagram and TikTok
On the ground

A lifetime of knocking on doors.

Luis Carlos Segura at a community gathering
Luis Carlos Segura with neighbors in Chía
Presenting the 2016-2019 Municipal Education Plan
A door-to-door walk with the community
A community celebration on the ground
Luis Carlos Segura greeting a resident
Classroom work during his time as Secretary of Education
Meeting with the community on the ground
Social

We ran social media through the whole campaign.

Strategy, production and publishing for @luiscarlosseguraa throughout the 2026 Senate campaign — a few pieces:

Want something like this for your brand?

Design, development and content, under one team.

Let's talk