Skip to content

ES / EN

Felipe Gonzalez

I lead teams that build and maintain web products. Currently at Grupo ilao.

Colombia

about

I've spent over a decade on the web; code gets rewritten, teams stay.

Hi, I'm Felipe. I've been building software for the web since 2013. I studied Multimedia Engineering at Universidad Militar Nueva Granada (2007–2012): I started with how things look and found my place in how they work.

I spent almost nine years at Axiacore, first as a developer and then as CTO. There I learned that delivering software depends as much on people and clear priorities as it does on code.

I enjoy working with small teams that own what they ship and watching a developer grow into someone who no longer needs me. I aim to give people context and autonomy, not have the final say on every decision.

now

Learning to build with AI without handing over my judgment.

  • Supporting Grupo ilao's engineering team as we develop its insurance platform.
  • Bringing AI into everyday development: defining the problem before generating code, validating with tests and reviewing decisions, not just syntax.
  • Sharing reusable instructions for coding agents based on how we work.

work

Decisions, results and lessons

The challenges I took on, what I contributed and what I learned along the way.

Tech Lead · Grupo ilao

Oct 2024 – present · Colombia

Python · Django · PostgreSQL · Redis · HTMX · Tailwind · AWS

The challenge
Build an insurance platform with an in-house team to support the group's growth.
What I did
I lead the team and guide architectural decisions. I prioritize incremental delivery and development practices that make the product easier to maintain and extend.
The result
The team built a platform that supports the group's operations and continues to evolve.

how I decide

The principles behind my decisions

  • The simplest thing that solves the whole problem

    I avoid adding complexity without a concrete need. Before introducing an abstraction or another layer, I look for the requirement that justifies it.

  • Grow in layers

    I start with a small version that works end to end. I build on that foundation so I can validate each step while preserving what already works.

  • Boring technology that works

    I prefer familiar, well-maintained tools over the newest ones: they are easier to keep running and to hand over to whoever comes next. I switch when the problem justifies it, not out of curiosity.

  • Decisions for the long term

    When a solution is temporary, I make its limits and when to revisit it explicit. Tests must pass before delivery, and I consider the cost of maintaining code, not just writing it.

open source

I publish what we use daily, not experiments.

  • skills(opens in a new tab)

    Reusable instructions for working with Django, HTMX, Alpine.js, Tailwind 4 and pytest through coding agents. Available as skills for Claude Code and OpenCode.

  • pi-engram(opens in a new tab)

    Persistent memory for coding agents: a Pi extension powered by Engram.

  • pi-workflow(opens in a new tab)

    Reusable guides for deciding what to build, developing it and reviewing the result with coding agents. A skills package for Pi.

stack

Tools I know well, not a list of everything I've touched.

  • backend Python, Django, PostgreSQL, Redis
  • frontend HTMX, Alpine.js, Tailwind CSS
  • infra Docker, AWS, GitHub Actions, OpenTofu

contact

Want to talk about engineering leadership, product or AI-assisted development? Get in touch.

felipe3dfx@gmail.com