0%
Joseph Mondragón
Español LET'S TALK

Volvo “Despega tu Negocio”: B2B contest platform · Case study

After-sales contest · Landing page + platform · Jul – Oct 2026

Volvo Group Peru rewards its customers with a trip to its truck plant in Brazil. I built the contest platform: entry lookup, registration, a participant list that updates itself every day and a draw anyone can verify.

The landing page follows Volvo’s design; behind it there’s an API, an operations panel and a daily automation that connects the contest to the client’s sales data.

The starting point: A campaign ready to launch, that needed real data.

The contest had an approved design and clear mechanics: every liter of lubricant or service plan adds entries to the draw. Purchases lived in Volvo’s sales system and were summarized in a Power BI report. That participant list had to reach the website every day, and the contest had to be run end to end.

What we agreed to build

  • Public lookup Each customer sees their entries with their RUC (tax ID) or DNI (national ID).
  • Up-to-date list Purchases reach the website with no manual work.
  • Verifiable draw A result that a third party can reproduce.

The landing page: Volvo’s design, faithful on every screen.

I built the landing page from the client’s mockups, with precise mobile adjustments and animations that turn off if the visitor prefers reduced motion.

Home page of the Despega tu negocio contest with the Volvo plant in Curitiba
Design: Volvo. Front-end build and development: Joseph Mondragón.
Contest home page on mobile
Home
Entry lookup by DNI or RUC on mobile
Entry lookup
Contest mechanics: entries per liter on mobile
How to win

Behind the landing page: A platform that runs itself every day.

  • What I saw: The participant list came out of a client Power BI report every day. What I did: A daily automation exports it, cleans it, loads it and sends an email if anything changes. (9:15 — every morning, since August 13)
  • What I saw: An incomplete report could leave customers without their entries. What I did: A safeguard that holds back a load if more than 1% of participants disappear, until someone confirms it. (1% — safeguard threshold)
  • What I saw: A prize like this had to be auditable. What I did: A weighted draw over a frozen participant list, reproducible by a third party, with a dry run and an official PDF record. (35 — automated backend tests)

Each load is a complete, isolated participant list: reloading the same file doesn’t duplicate entries, and rolling back to a previous load takes seconds.

Privacy: A public lookup that exposes no one.

In Peru the RUC is public, so the lookup had to protect the client’s customer base as much as it showed entries.

  • Never confirms who’s participating The lookup responds the same whether or not the ID exists, and the name is shown masked.
  • Rate limits and anti-bot Rate-limited lookups and bot verification on registration.
  • Clear consent Two separate consents, in line with Peru’s Personal Data Protection Law.
  • Panel with roles Auditor, operator and administrator, with a log of every action.
  • Measurement without personal data Conversions in Google Analytics and Meta without sending any customer information.
  • Evidence-based diagnosis When the Meta pixel wasn’t recording, I documented that the fix belonged in the account settings, not the site.
Prize and contest mechanics section
Prize and mechanics, as the customer sees them.

Technologies: What I built the platform with.

  • Frontend: HTML, Sass, GSAP
  • Backend: Go, Gin, PostgreSQL
  • Automation: Python, Playwright, Power BI
  • Infra & analytics: Cloudflare, Docker, Google Analytics, Meta

The result: A contest that updates itself, protects its participants and can be audited from start to finish.

  • 1 — automatic update per day
  • 1% — safeguard threshold for incomplete data
  • 35 — automated backend tests
  • 50 — commits in one month of development

Visit despegatunegocio.pe

Case studies

Let's talk.

Have a project in mind? [email protected]