Skip to content
Available for new opportunities

Oscar Arenas

Senior Frontend Engineer React · Next.js · TypeScript · Design Systems

  • Now: Senior Technology Engineer at Publicis Global Delivery (PGD)
  • Bogotá, Colombia (UTC−5)
  • Open to remote (LATAM · US · EU)
  • English: Professional working proficiency

17+ years shipping web products for global brands — frontend architecture, design systems and accessibility, with AI-augmented delivery.

Years of experience
17+
Product squads using my component libraries
90
Engineers mentored
12

About

I build fast, accessible frontends and the design systems behind them.

Senior frontend engineer with 17+ years shipping web products for global brands. I specialize in React, Next.js and TypeScript, design systems, accessibility (WCAG 2.2) and Core Web Vitals, with Node.js on the back end. At Publicis Global Delivery (Publicis Sapient) I led the front-end architecture of a North American sports league's digital platform and built React component libraries adopted across 90 product squads. I mentor engineers on TypeScript, accessibility and performance, and use AI for coding, review and delivery to move faster without compromising architecture.

For recruiters

What I’m looking for

Answers to the questions recruiters usually ask in a first call. Anything else, just ask.

Target roles
Senior / Staff Frontend EngineerTech LeadAI-augmented product engineer
Engagement
Full-time · Contract
Work mode
Remote-first; compatible with LATAM, US and EU time zones. Hybrid in Bogotá possible.
Usual hours
Monday to Friday, 09:00–17:00 Bogotá time (UTC−5)

Recruiter FAQ

Can we hire you as an employee, or only as a contractor?

Based in Colombia. Available as remote employee (EOR) or independent contractor worldwide; relocation open to discussion.

When could you start?

Start date by agreement; typically 2–4 weeks.

How good is your English?

Spanish: Native · English: Professional working proficiency

What are your salary expectations?

Open to discuss; depends on role, scope and market.

When can we talk?

Usually Monday to Friday, 09:00–17:00 Bogotá time (UTC−5). Book a call or send me an email.

Experience

Experience

  1. Present

    Publicis Global Delivery (PGD) (opens in a new tab)

    Bogotá, Colombia · Hybrid

    Senior Technology Engineer

    Focus: Frontend · Experience Technology

    Scope: Front-end architecture lead · 12 engineers mentored · component libraries used by 90 product squads

    • Delivered experience-led digital products for Fortune 500 clients across retail, finance and telco within Publicis Sapient's global delivery network.
    • Led the front-end architecture of a North American sports league's digital platform (dashboards and ecommerce), built on Next.js (App Router), TypeScript and a headless CMS.
    • Partnered with design and product teams to translate Figma systems into production-grade React component libraries adopted across 90 product squads.
    • Mentored 12 mid-level engineers on TypeScript patterns, accessibility and Core Web Vitals optimization.
    • Next.js
    • TypeScript
    • Node.js
    • React
    • Tailwind CSS
    • GraphQL
    • Vercel
    • Jira
  2. DevSavant

    Bogotá, Colombia · Remote

    Senior Frontend Developer

    Scope: Senior IC · end-to-end feature owner · distributed LATAM/US team

    • Senior IC on a small, distributed team delivering Next.js + Node.js applications for US clients.
    • Designed and shipped a SaaS dashboard, e-commerce storefront and internal tools using Next.js, TypeScript and Supabase, replacing a legacy system.
    • Owned the full feature lifecycle from technical scoping to production deploy, working async across LATAM/US time zones.
    • Next.js
    • React
    • Node.js
    • TypeScript
    • Supabase
    • PostgreSQL
  3. Endava (opens in a new tab)

    Bogotá, Colombia · Hybrid

    Senior Software Engineer

    Focus: Frontend architecture

    Scope: Technical leadership on modular frontend architectures · global financial and retail clients

    • Provided technical leadership on modular frontend architectures for global financial and retail clients.
    • Refined state-management patterns and CI/CD pipelines, shortening feedback loops and increasing release confidence.
    • Partnered with architects and product owners to translate business rules into maintainable React and TypeScript components.
    • React
    • TypeScript
    • Redux
    • Node.js
    • Jest
    • Webpack
  4. Globant (opens in a new tab)

    Bogotá metro area · Hybrid

    Senior Frontend Developer

    Scope: Senior IC · drove TypeScript, design-system and accessibility work across 3 teams

    • Senior IC at one of LATAM's largest digital product companies (NYSE: GLOB), embedded in client teams across media, finance, telco and streaming.
    • Built payment methods and streaming apps using React, Redux and Node.js.
    • Drove migration to TypeScript, design-system rollout and accessibility audits across 3 teams.
    • React
    • JavaScript
    • Node.js
    • Redux
    • CSS-in-JS
Show 3 earlier roles
  1. Telintel

    Bogotá, Colombia

    Senior Frontend Developer

    • Built and maintained internal tooling and customer-facing applications for a Colombian telecom software company using JavaScript, Angular, React and Polymer.
    • Modernized legacy JavaScript codebases, introducing modular patterns and reusable UI components.
    • JavaScript
    • Angular
    • React
    • Polymer
    • HTML5
    • CSS3
  2. 1A Hosting

    Remote

    Web Designer & Developer

    Scope: Independent practice · 67 sites delivered end to end

    • Ran a freelance web design and development practice in parallel to full-time roles, delivering 67 sites for small and mid-sized businesses in Colombia.
    • Handled end-to-end delivery: design, front-end implementation and DevOps/server maintenance.
    • HTML5
    • CSS3
    • JavaScript
    • PHP
    • MySQL
    • Linux
  3. HostDime Global (opens in a new tab)

    Remote

    Web Designer

    • Early-career web designer at a US-headquartered hosting company, building a foundation in HTML/CSS, design tools and web fundamentals.
    • Handled server maintenance and server security alongside design work.
    • HTML5
    • CSS3
    • JavaScript
    • jQuery

Role fit

Check how Oscar fits your role

Paste a job post to see which requirements have evidence in the resume, ask about the experience, get a CV focused on your role or request a call. It all runs in your browser on the published resume data.

What you paste or type here stays in your browser; it is not uploaded. Usage analytics never include your text, and analytics cookies are set only if you accept them. Privacy

19 agent tools · WebMCP

Smarter matching (optional) · Off · keyword matching

Compares meaning instead of keywords, so it understands paraphrases and job posts in Spanish, Portuguese or French.

Downloads 138 MB once: the model (135 MB) from Hugging Face and the runtime (3 MB) from jsDelivr. It stays stored in this browser and runs on your device.

Compare a job post with the resume

Paste the job description, in any language. You get how many requirements have evidence in the resume, the experience behind them and what is not covered.

CV focused on your role

Reorders the experience and certifications around a focus. Copy it as Markdown or open the printable PDF version.

Ask about the experience

Each answer quotes the resume passages it is based on. Nothing is made up: if there is no evidence, it says so.

Book an intro call

Usual availability: Mon–Fri, 9:00–17:00 Bogotá (UTC-5). Pick a preference and confirm it by email or on the scheduling page. Nothing is booked until you send it.

Selected work

Architecture, key decisions and outcomes, restated from the experience above.

  • This site: an agent-ready resume

    Personal · 2025 – Present · Design, engineering and content

    Bilingual static site (Astro + Tailwind CSS) whose resume data is published as HTML, JSON-LD and resume.json, with on-device semantic search, WebMCP tools for AI agents and PDF/DOCX CVs generated at build time.

    • Astro
    • TypeScript
    • Tailwind CSS
    • Transformers.js
    • WebMCP
    • JSON-LD
    • Puppeteer
    • Playwright
    • Vitest
    • GitHub Actions
    • Lighthouse CI
    • Firebase Hosting
    Problem, architecture & decisions

    Problem

    Recruiters and their AI agents need resume data they can read, verify and query, not only a PDF.

    Approach

    One typed data module drives every surface (page, JSON-LD, resume.json, CV files, agent tools); search and tools run in the browser against the published data.

    Result

    19 agent tools, and CVs in 2 languages as PDF (3 focus versions), Word and Markdown, generated from the same data on every release.

    Architecture

    • Astro static site in English and Spanish; one typed data module (resume.ts) feeds the HTML, JSON-LD, resume.json, the PDF/DOCX generators and the agent tools.
    • On-device semantic search: passage embeddings (multilingual-e5-small) are precomputed at build time and only the visitor’s query is embedded in the browser with Transformers.js on WebAssembly.
    • 19 WebMCP tools: 12 imperative tools registered with document.modelContext (navigator.modelContext in older browser builds; also exposed as window.oscarResume) and 7 declarative <form toolname> tools that also work as plain HTML forms.
    • CV pipeline: Puppeteer prints the /print/ route to PDF (a default version and two focus versions) and html-to-docx builds the Word file, in both languages, on every release; all of them, and the Markdown CV, are rendered from one CV model (scripts/lib/cv-model.ts).
    • Quality gates: Vitest unit tests, Playwright end-to-end and axe accessibility tests, Lighthouse CI budgets and a CV regression check run in GitHub Actions.

    Key decisions

    • Static first: every agent capability runs in the browser against resume.json, so the site needs no server to work.
    • Precompute passage vectors at build time and download the ~135 MB model only when the visitor turns semantic search on, so it never blocks rendering or uses data by default.
    • JSON-LD is generated from the same data as the page, so search engines and agents see the same facts as people.
    • A Zod schema validates the resume data before every build, so broken dates or missing translations fail the build instead of shipping.
    • Built with AI-assisted coding and review (Claude Code), under strict TypeScript and that pre-build content check.

    Outcomes

    • 19 agent tools
    • 2 languages, 10 CV files per release (6 PDF, 2 Word, 2 Markdown)
    resume-oscarenas.web.app/
    Read the case study (This site: an agent-ready resume)
  • Digital platform for a North American sports league

    Publicis Global Delivery (PGD) · Publicis Sapient · Nov 2023 – Present · Front-end architecture lead

    Dashboards and ecommerce for a major sports league, built on Next.js App Router, TypeScript and a headless CMS, delivered through Publicis Sapient’s global network for a Fortune 500 client.

    • Next.js (App Router)
    • TypeScript
    • React
    • Headless CMS
    • GraphQL
    • Tailwind CSS
    • Vercel
    Problem, architecture & decisions

    Problem

    One platform had to serve two very different surfaces, content-heavy dashboards and an ecommerce storefront, fed by a headless CMS.

    Approach

    Led the front-end architecture: Next.js App Router with server components for content, client islands for interactive dashboards, a typed GraphQL layer over the CMS and a shared design-system package.

    Architecture

    • Next.js App Router with React Server Components for content-heavy pages and client islands for interactive dashboards.
    • Headless CMS as the content source, consumed through a typed GraphQL layer.
    • Shared design-system package consumed by dashboards and storefront alike.

    Key decisions

    • Chose App Router over Pages Router to stream server-rendered content and keep the client bundle small on ecommerce routes.
    • Typed the CMS schema end to end so content model changes surface at build time, not in production.

    Outcomes

    • Fortune 500 client
    • Multi-surface: dashboards + ecommerce
    Read the case study (Digital platform for a North American sports league)
  • React component libraries adopted by 90 product squads

    Publicis Global Delivery (PGD) · Publicis Sapient · Nov 2023 – Present · Design-system engineer & mentor

    Translated Figma design systems into production-grade React component libraries, adopted across 90 product squads, while mentoring 12 mid-level engineers on TypeScript, accessibility and Core Web Vitals.

    • React
    • TypeScript
    • Figma
    • Design tokens
    • Storybook
    • Tailwind CSS
    Problem, architecture & decisions

    Problem

    Figma design systems had to become production-grade React components that many product squads could adopt.

    Approach

    Partnered with design and product teams; design tokens as the single source of truth, accessible primitives first, and accessibility and performance acceptance criteria for every component.

    Result

    Adopted across 90 product squads; 12 mid-level engineers mentored along the way.

    Architecture

    • Design tokens as the single source of truth, exported from Figma and consumed by CSS and TypeScript.
    • Accessible primitives first (WCAG 2.2), composed into product-specific components by each squad.

    Key decisions

    • Kept the library headless where possible so squads could theme without forking.
    • Paired every component with accessibility and performance acceptance criteria before release.

    Outcomes

    • 90 product squads adopting
    • 12 engineers mentored
    Read the case study (React component libraries adopted by 90 product squads)
  • SaaS dashboard, storefront and internal tools on Next.js + Supabase

    DevSavant · Aug 2021 – Aug 2023 · Senior IC, end-to-end feature owner

    Designed and shipped a SaaS dashboard, an e-commerce storefront and internal tools for US clients with Next.js, TypeScript and Supabase, replacing a legacy system, working async across LATAM/US time zones.

    • Next.js
    • React
    • TypeScript
    • Node.js
    • Supabase
    • PostgreSQL
    Problem, architecture & decisions

    Problem

    A legacy system had to be replaced for US clients by a small, distributed team.

    Approach

    Incremental replacement, feature by feature, on Next.js with Supabase as the backend, owning each feature from technical scoping to production deploy.

    Result

    Legacy system replaced by three products: a SaaS dashboard, a storefront and internal tools.

    Architecture

    • Next.js front end with Supabase (Postgres, auth, row-level security) as the backend.
    • Incremental replacement of the legacy system, feature by feature, behind the same URLs.

    Key decisions

    • Supabase over a custom API to let a small team ship auth, storage and data access without operating servers.
    • Owned scoping through deploy to remove hand-offs in a distributed team.

    Outcomes

    • Legacy system replaced
    • 3 products: dashboard, storefront, internal tools
    Read the case study (SaaS dashboard, storefront and internal tools on Next.js + Supabase)
  • Payment methods and streaming apps, TypeScript migration

    Globant · Apr 2018 – Jul 2020 · Senior Frontend Developer

    Built payment methods and streaming applications with React, Redux and Node.js for media, finance, telco and streaming clients, and drove the migration to TypeScript, a design-system rollout and accessibility audits across 3 teams.

    • React
    • Redux
    • Node.js
    • TypeScript
    • CSS-in-JS
    Problem, architecture & decisions

    Problem

    Payment and streaming apps for several clients, with 3 teams that needed a common base: types, a design system and accessibility.

    Approach

    Incremental TypeScript migration starting with the payment domain, a design-system rollout and accessibility audits across the 3 teams.

    Result

    TypeScript, a shared design system and accessibility audits adopted across 3 teams.

    Architecture

    • Redux for predictable payment state; Node.js BFF layer in front of client APIs.

    Key decisions

    • Migrated to TypeScript incrementally, starting with the payment domain where type errors cost the most.

    Outcomes

    • 3 teams adopting TypeScript, design system and a11y audits
    Read the case study (Payment methods and streaming apps, TypeScript migration)
  • 67 websites for Colombian SMBs

    1A Hosting · Jan 2009 – Apr 2018 · Designer, developer and ops

    Ran a freelance web design and development practice in parallel to full-time roles, delivering 67 sites end to end: design, front-end implementation and DevOps/server maintenance.

    • HTML5
    • CSS3
    • JavaScript
    • PHP
    • MySQL
    • Linux
    Problem, architecture & decisions

    Problem

    Small and mid-sized businesses in Colombia needed websites designed, built and kept running by one person.

    Approach

    Reusable templates and a shared deployment routine on self-managed Linux servers (LAMP).

    Result

    67 sites delivered.

    Architecture

    • LAMP stack on self-managed Linux servers.

    Key decisions

    • Reusable templates and a shared deployment routine to keep 67 sites maintainable by one person.

    Outcomes

    • 67 sites delivered
    Read the case study (67 websites for Colombian SMBs)

For developers and AI agents

Agent-ready: 19 tools for AI agents

An AI agent running in a browser with WebMCP can use these same tools on a visitor’s behalf. Agents without WebMCP can read resume.json and llms.txt.

How to try it in Chrome or Edge 150+
  1. Open this address in a new tab chrome://flags/#enable-webmcp-testing
  2. Set “WebMCP for testing” to Enabled
  3. Relaunch the browser and come back

Tool calls run inside this page; an agent only receives what each tool returns.

Machine-readable: resume.json · llms.txt · agent.json · What is WebMCP?

Agent view Every tool an AI agent can call on this page, through WebMCP or window.oscarResume. Try one. 19

Skills

Stack & tooling

What I reach for daily, what I can ship with, and what I have touched along the way. Years are derived from the experience timeline.

10 groups · 71 skills

Core stack

  • React 10+ yrs

    Component architecture, hooks, RSC

  • Next.js 5+ yrs

    App Router, SSR/ISR, edge

  • TypeScript 7+ yrs

    Strict, end-to-end types

  • Node.js 7+ yrs

    APIs, BFFs, tooling

  • Design systems 5+ yrs

    Tokens › libraries › adoption

  • Accessibility 5+ yrs

    WCAG 2.2 audits & remediation

  • Web performance

    Core Web Vitals, budgets

  • AI-augmented delivery

    AI-assisted coding and review, on-device embeddings, WebMCP

Depth Core Daily driver. I lead teams on it. Solid Shipped to production, comfortable end to end. Familiar Used in projects or courses; not a daily tool.

Underlined skills filter the experience timeline to the roles where I used them.

Frontend 6
State & data 7
Backend & databases 8
Testing & quality 5
  • Jest (Solid)
  • React Testing Library (Solid)
  • Cypress (Solid)
  • ESLint / Prettier (Solid)
  • Playwright (Familiar)
Platform & DevOps 9
Craft & practices 9
AI & augmented delivery 9
  • Prompt engineering (Core)
  • AI-assisted coding (Core)
  • Transformers.js · on-device inference (Solid)
  • Embeddings & semantic search (Solid)
  • WebMCP · agent-ready web (Solid)
  • OpenAI & Anthropic APIs (Solid)
  • Structured outputs (Solid)
  • LLM product flows (Solid)
  • Midjourney · DALL·E (Familiar)
Design & tooling 6
Earlier & adjacent 5

Certifications

Certifications

Continuous, verifiable learning. Each Udemy certificate links to its public verification page on Udemy.

Certificates
13
Learning hours since 2025
251+
AI & prompt engineering
4

AI & prompt engineering

3

Backend

1

Design & UX

1

Security

2
  • Learning the OWASP Top 10 Featured

    LinkedIn Learning

    2018

    No public verification link

  • Developing Secure Software Featured

    LinkedIn Learning

    2018

    No public verification link

Foundational and adjacent courses (6)

Introductory or adjacent courses, listed for completeness.

Education

Education

Education

Bachelor's in Systems Engineering

Universidad del Tolima · Ibagué, Colombia

2001 – 2007

Languages
Spanish · Native English · Professional working proficiency
Off the keyboard
CyclingMusicTravelGamingPizza & craft beer

Contact

Have a role in mind?

I’m open to senior frontend, staff and lead roles — full-time or contract. Remote-first, compatible with LATAM, US and EU time zones.

Reply within a day. Remote-first, LATAM · US · EU hours.

Get the CV

Send me a message

Fill in the form and it opens in your email app with everything ready to send.