The project
Debt.com is one of the most-visited debt-relief sites in the US, and millions of people land on it every year. I didn't design the site, but I keep a lot of it running, day in and day out. The two biggest things I've built on it are the entire Spanish side and the FinTalk Awards voting system, both on the site's new Astro and Strapi platform.
The challenge
Two builds on a platform that was still settling in. When Debt.com moved off WordPress, the Spanish site had 1,776 pages that needed to come along without losing their search rankings on the way. And FinTalk's public vote had lived in a WordPress poll plugin that didn't survive the move, so the 2026 awards needed a real voting system built from scratch, one that could hold up against bots and ballot stuffing.
The approach
For the Spanish side, I planned before I moved anything. Every page got exported and counted, Spanish pages were paired with their English twins so hreflang works, pages with no English match got a redirect decision, and the riskiest steps were tested on a practice copy first. For FinTalk, every vote is its own record, so the live tally, the daily cap, and the analytics all read from the same place and can't drift apart. Cloudflare Turnstile keeps the bots out, and each voter gets three votes per category per day, tracked with a salted hash so no one's IP is stored in the clear.
What I built
- Built the entire Spanish side of Debt.com on the new Astro and Strapi platform
- Planned and ran a 1,776-page move off WordPress
- Paired Spanish and English pages for hreflang, and mapped redirects for pages with no English match
- Built the FinTalk Awards 2026 voting system, in English and Spanish
- Live tallies and a results dashboard, all read from the same vote records
- Vote integrity: Cloudflare Turnstile, a flood limiter, and a daily cap of three votes per category
- Ongoing front-end work and upkeep across the site