Skip to content

Giancarlos Isasi

Software Engineer

Developer tooling, build systems, CI/CD and frontend infrastructure

Latest post

How to write a custom ESLint rule

Building a custom ESLint rule that bans a component, with a walk through traversing the AST, picking the right node type, and bundling the rule into a local plugin.

4 min readRead the post

Projects I maintain

Open-source tools with docs and active maintenance.

All projects

molt

A release CLI for Python monorepos — changesets in, coordinated version bumps, changelogs and PyPI publishes out.

  • python
  • cli
  • monorepo
  • release
  • pep-440
  • uv

rune

A script runner for JavaScript and TypeScript monorepos, written in Rust. Commands live in one typed config at the root, and every package calls them by name.

  • rust
  • typescript
  • monorepo
  • cli
  • tooling

modernjs-typed-routes

A Modern.js plugin that generates route types from your routes/ folder — so a typo'd path is a compile error instead of a runtime 404.

  • typescript
  • modernjs
  • codegen
  • react
  • cli

More writing

All writing

How to upload files to S3 using @aws-sdk/client-s3

Using @aws-sdk/client-s3 from Node.js to upload single files and entire folders to AWS S3, plus the gotchas you only learn the hard way (content type, leading slashes, Windows paths).

4 min read
  • javascript
  • node.js
  • aws
  • aws-s3
  • tooling

Snippet

How to clamp text to N lines with CSS

A pure-CSS recipe for limiting a block of text to a fixed number of lines: handy when the content is dynamic and you don't want the layout to drift.

  • css

Hi

I'm Giancarlos. Principal Frontend Engineer at Crehana, based in Lima. Close to a decade shipping for the web — my specialty is React and frontend infrastructure: build tooling, compilers, CI/CD. Lately building backend footing in Go and Python, with Rust in progress.

Find me on