# About me

> I'm Manu Martínez-Almeida, a software engineer drawn to the parts of software where performance, systems, and developer experience meet.

[View on manualmeida.dev](https://manualmeida.dev/articles/about)

<figure class="figure portrait">
  <div class="figure-frame">
    <picture>
      <source srcset="/manu.webp" type="image/webp" />
      <img
        src="/manu.jpg"
        width="900"
        height="934"
        loading="eager"
        decoding="async"
        alt="Manu Martínez-Almeida"
      />
    </picture>
  </div>
  <figcaption class="figure-caption">Manu Martínez-Almeida</figcaption>
</figure>

I started programming at nine in Valladolid because I wanted a website about video games. It was called
[manucorporation.com](https://web.archive.org/web/20070109074037/http://www.manucorporation.com/),
which felt like a serious name at the time.

At fifteen my father bought his first iPhone, the 3G. I borrowed it, installed Xcode, and tried to make
something that felt like the games I loved. That became
[my own take on Geometry Wars](https://www.elnortedecastilla.es/v/20100315/valladolid/empresario-anos-20100315.html),
built on [cocos2d](https://github.com/cocos2d/cocos2d-objc), and the engine pulled me in as much as the
game did, so I started contributing to it. The game grew into Infinity Field, reached the App Store Top
10 and ended up published by EA. I was still a teenager sitting in Spain, watching hundreds of thousands
of people play something I made, and that was the moment software stopped being a hobby for me.

Infinity Field is how I got to San Francisco. At seventeen I flew out for a summer to work at JoyPad,
came home, started a computer-science degree and felt restless almost immediately. The next year I went
back for longer, joined an incubator and built developer SDKs at OpenKit and TinySpark. Then I came home
again and wrote the first commit of [Gin](/articles/gin-simple-over-easy).

Since then it has been compilers, language runtimes, web frameworks, GPU rendering and distributed
infrastructure. The domain keeps changing but the interesting part is always the same, the obvious
solution falls over and you have to understand the system well enough to make the simple one hold.

## What I'm working on now

I'm a principal engineer at [Builder.io](https://builder.io), where I set the technical direction for
our AI agent platform across product, design and code. The infrastructure spins up ephemeral Kubernetes
clusters for AI workflows, connects to enterprise networks through multi-tenant VPCs and
tears everything down when the work is done. My favorite piece is
a batch pipeline that consolidates an agent's project memory while it sleeps, so it wakes up with a
smaller context and a better memory.

## Open source

- [Gin](https://github.com/gin-gonic/gin), a Go web framework with around 88k stars and 290k+ dependent
  projects. I wrote more about its router in [the Gin write-up](/articles/gin-simple-over-easy).
- [Qwik](https://qwik.dev), which I helped take from proof-of-concept to production, including its Rust
  compiler and a [resumability model](/articles/qwik-resumability) that skips client-side hydration.
- [Stencil](https://stenciljs.com), where I designed the compiler architecture and the virtual DOM, and
  [Ionic](https://ionicframework.com) across Angular, React, Vue and plain JavaScript.
- [cocos2d](https://github.com/cocos2d/cocos2d-objc), the game engine I used for Infinity Field.

## How I think about engineering

When I was a teenager I wrote in my CV that I wanted to "make the best software ever, and build it so
the people who use it love it". The first half makes me cringe now, but I care about the second half a
lot more than I did back then.

Mostly it means treating performance and DX as features instead of things you fix later. A framework
should make the fast path the easy one, because developers, like water, follow the path of least
resistance. Infrastructure should be boring under load. You do the hard work once, in the compiler or in
the architecture, so the person using the thing ends up with fewer decisions to make than you had.

## Where to find me

I'm [@manucorporat](https://github.com/manucorporat) on GitHub and
[@manucorporat](https://x.com/manucorporat) on Twitter, based between Lisbon and Budapest. If you are
building something in this space, send me a message, I would love to hear about it :)

---

## About the author

Manuel Martínez-Almeida (Manu) is a principal engineer at Builder.io, where he sets the technical direction for the AI agent platform across product, design, and code. He is the creator of Gin (the Go web framework with ~88k GitHub stars and 290k+ dependent projects), helped take Qwik from proof-of-concept to production including its Rust compiler and resumability model, and designed the compiler architecture and virtual DOM for Stencil. His work sits where performance, systems, and developer experience meet — compilers, language runtimes, web frameworks, GPU rendering, and distributed infrastructure serving billions of requests a day. He is based between Lisbon and Budapest.

- **Name:** Manuel Martínez-Almeida (Manu)
- **Role:** Principal Engineer at Builder.io
- **Focus:** compilers, language runtimes, web frameworks, GPU rendering, distributed infrastructure, developer experience, AI agents, open source
- **About:** https://manualmeida.dev/articles/about/
- **GitHub:** https://github.com/manucorporat
- **Twitter/X:** https://x.com/manucorporat
- **dev.to:** https://dev.to/manucorporat
- **Website:** https://manualmeida.dev
