Skip to content

About

I'm Giancarlos.

Software engineer based in Lima. Currently working as Principal Frontend Engineer at Crehana.

Story

I started writing code for the web in 2015 — small sites, internal tools, the kind of work where you wear every hat. Self-taught, following curiosity from one topic to the next. That habit hasn't gone anywhere.

Specialty

My specialty is React and the infrastructure beneath the frontend. I've spent close to 9 years at Crehana — I joined in 2017 as a Frontend Developer and grew into the role I have today: Principal Frontend Engineer on the platform team. Most of my work lives on three fronts: React at scale and micro-frontend architecture with autonomous deployments; build tooling and compilers (Webpack 1→5, Rspack, Modern.js, Babel/SWC, custom Node.js CLIs); and CI/CD, where I cut the main pipeline from 60 to 15 minutes and took Lighthouse from below 7 to 80+ on the main e-commerce pages.

Beyond frontend

My technical curiosity doesn't stay put on the frontend. What's been pulling me lately is understanding what sits underneath the tools I use every day: bundlers, compilers, parsers, type checkers. Over the last two years that turned into real backend footing — Go at an intermediate level, with four production-grade projects (JWT auth, rate limiting, WebSockets, PostgreSQL), and Python with Django and FastAPI. Right now I'm learning Rust, getting closer to the layers of the stack I usually consume from above — rune, the script runner I maintain, is written in it.

Stack

What I use day to day. I keep a close eye on what the community is shipping and reach for the best tool for the job — often the newer, faster ones:

Frontend & UI
React, TypeScript, Next.js (advanced configurations, App Router, Server Components), Tailwind CSS, styled-components
Backend
Go (JWT APIs, rate limiting, WebSockets, PostgreSQL), Python (Django, FastAPI)
Data
GraphQL with Apollo Client, REST where it fits
Build & tooling
Rspack and Rsbuild for fast builds, Rslib for libraries, Rspress for documentation sites, Rsdoctor for build analysis, oxc for Rust-based JS tooling (parsers, transforms, analyzers); Webpack and Babel for custom configurations, Turborepo and Lerna for monorepos, Node.js for scripting (commander.js, plop.js)
Linting & formatting
Biome for linting and formatting, Rslint for TypeScript-aware linting
Exploring
Rust

Work

Crehana

Lima, Peru

  1. Principal Frontend EngineerJul 2023 — Present
  2. Senior Frontend Engineer (Platform)Oct 2021 — Jul 2023
  3. Lead Frontend DeveloperJan 2018 — Oct 2021
  4. Frontend DeveloperJul 2017 — Dec 2017

WSNPro

Peru

  1. Frontend DeveloperNov 2016 — Apr 2017

devAcademy.la

  1. Web DeveloperMar 2016 — Oct 2016

Hospital Regional de Ica

Ica, Peru

  1. Web DeveloperSep 2015 — Feb 2016

Hobby

I keep a parallel track to the day job: CLIs, generators, small libraries, the occasional one-off experiment. Three of them are live and maintained: molt, a changeset-driven release CLI for Python monorepos; rune, a script runner for JS/TS monorepos written in Rust; and modernjs-typed-routes, which turns a typo’d route into a compile error. Each ships with its own documentation site. Before them came webpack-nexus, generate-next-app, generate-index-file, a changelog generator — most of them started as a tiny annoyance I refused to do twice. Some of them found other users. None of them owe me anything.

Browse the projects

Contact

Best way to reach me is email. I read everything; I reply when I have something useful to say.

Find me on