Angular GDE · Montevideo, Uruguay - Tokyo, Japan · open to remote roles

I make the web fast, reactive, and built with agents in the loop.

Damián Sire, Google Developer Expert in Angular. I work deep in the platform (Signals, Web Workers, WebGL) and teach it to ~30K developers in Spanish. Everything on this page runs live in your browser.

GDEGoogle Developer Expert, Angular
~30KYouTube subscribers, Spanish dev content
100K+reads on one article, reached Hacker News
500+GitHub stars on open learning tools
The lab

Four things I know well, running live.

No screenshots. Each experiment below is real code executing on this page, the same ideas I teach in talks and videos.

Experiment · Web Workers

The main thread is a juggler. Don't hand him a box.

Every button runs the same 1.4 s prime search for real. Give it to the main thread and the juggler freezes mid-throw and drops every ball, just like a page that stops answering clicks. Hand it to a Web Worker and he keeps juggling. Split it across every core of your machine and the crew does several times the work in the same time.

< 20 ms frame 20–50 ms > 50 ms: you can feel it
longest frame—

The most common mistake: heavy work on the main thread. Every click, scroll and animation waits behind it.

longest frame—

Same code, moved off the main thread. The juggler never notices.

work done in 1.4 s—

One worker per core of your machine, each checking its own slice.

numbers checked: —
Experiment · Signals

A reactive graph that only does the work it must.

A tiny push-dirty, pull-evaluate engine, the model behind Angular Signals, racing a naive observer pattern on the same graph. Naive observers recompute everything and briefly render wrong totals (a glitch). Signals don't.

push: marked dirty pull: recomputed checked, value unchanged, skipped
this card is the effect()
subtotal—
discount—
shipping—
total—
renders: 0
naive observers
—move a slider
signals
—same change, same graph
Move a slider. Blue pulses travel down the graph marking nodes dirty; amber pulses are values being pulled back up, only where something changed.
Experiment · Compilers

Type a function. Watch it get compiled.

A hand-written tokenizer and Pratt parser turn your text into an abstract syntax tree, which is compiled into a tree of JavaScript closures (no eval) and plotted every frame. x is the axis, t is time.

plot · —
abstract syntax tree
Experiment · AI engineering

The night shift: my agents at work.

How I run overnight agent pipelines, cast as a tiny office. One model builds, a different model reviews, a robot runs the deterministic checks, and I merge in the morning. Inject a regression and watch the team catch it before it ships.

The office is quiet. Press Start the night shift.
Model A · tokens used
Model B · suspicion
Gate · checks passed
Damián · sleep

A scripted simulation of my real workflow. The rule it shows: never let a model grade its own work.

Open source

Tools developers learn from.

github.com/damiansire ↗
Talks & workshops

Talks that end with something running.

Talk, demo or hands-on workshop. English or Spanish, in person or virtual, any length.

Vibe coding with Google AI Studio: from one prompt to a deployed app

talk + demo · EN/ES

From the AI Studio playground to production with Angular

workshop · EN/ES

Building a time machine with AI

talk + demo · EN/ES

Off the main thread: Web Worker patterns for real apps

talk · EN/ES
Let's talk

Hiring, a conference, or a hard Angular problem?

Remote engineering roles, talks and workshops, AI-assisted development consulting. I answer in English or Spanish.