Skip to content
Andrés Cuello
Español
← All work
Case studyIndependent projectLive

ItsFluxo

A bilingual marketing site for ItsFluxo, a Colombian business that offers websites, content, Meta Ads and automations.

Status
Live at itsfluxo.com in Spanish and English.
Built with
Astro · TypeScript · Cloudflare Workers · R2 · Turnstile · Resend
Links
Visit site
Home page of itsfluxo.com in English, with the headline “Websites, content and ads that help you sell”.
Screenshot of itsfluxo.com/en

Context

ItsFluxo sells websites, content, Meta Ads and automations to businesses in Colombia. The site has to load quickly on mobile, rank for local searches and turn visits into booked calls, without a CMS or a heavy JavaScript framework.

What I built

  • Prerendered pages for home, services, results, process, contact, a blog and the legal documents, fully bilingual: Spanish at the root and every page in English under /en, linked with reciprocal hreflang. Legal texts live in an Astro content collection.
  • A contact endpoint on demand. Everything is static except /api/contact, which runs on Cloudflare Workers, checks a Cloudflare Turnstile token and sends the message through Resend. Secrets stay in the Worker runtime.
  • Consent first. Cookie preferences use Vanilla CookieConsent in Spanish, and the Meta Pixel loads only after the visitor accepts the Marketing category.
  • Motion with restraint. Simple reveals use CSS scroll-driven animations with a prefers-reduced-motion fallback. GSAP is reserved for the more complex sequences, with cleanup on every client-router navigation.
  • Images from R2 (cdn.itsfluxo.com) through Cloudflare image transformations, plus a sitemap and JSON-LD from a small SEO helper.

Decisions

  • Static first, one server route. Only the form needs a server, so the rest of the site is plain HTML from the edge.
  • One lifecycle module (pageLifecycle.ts) owns scroll, hashes and navigation events, so components don’t each reinvent them.
  • Typed i18n catalogs with localized slugs (/servicios ↔ /en/services), so each language gets natural URLs.

Status

Live at itsfluxo.com.