<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Kevin Davila — Blog</title><description>Articles about Angular, Supabase and AI written from first-hand experience by Kevin Davila, Google Developer Expert.</description><link>https://kevindavila.dev/</link><language>en</language><item><title>What Serving an AI Model Actually Means (and Why vLLM Exists)</title><link>https://kevindavila.dev/en/blog/que-es-servir-modelos/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/que-es-servir-modelos/</guid><description>Serving an AI model means turning a file of weights into an API that answers questions. That&apos;s the whole job of an inference engineer, and this guide takes you from zero to your ow…</description><pubDate>Thu, 01 Oct 2026 12:00:00 GMT</pubDate><category>AI</category><category>vllm</category><category>servir modelos de ia</category><category>servidor de inferencia</category><category>api openai-compatible</category><category>pagedattention</category></item><item><title>Your First Local Model in 10 Minutes (Ollama)</title><link>https://kevindavila.dev/en/blog/primer-modelo-local-ollama/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/primer-modelo-local-ollama/</guid><description>Before renting a single GPU, let&apos;s run a model on your own machine. Free, no account, 10 minutes. The goal isn&apos;t production: it&apos;s understanding the full request-to-tokens cycle, wh…</description><pubDate>Thu, 01 Oct 2026 12:00:00 GMT</pubDate><category>AI</category><category>ollama</category><category>modelo local</category><category>llm en laptop</category><category>streaming tokens</category><category>medir ttft</category></item><item><title>Rent Your First GPU Without Fear (~$1 per hour)</title><link>https://kevindavila.dev/en/blog/alquilar-primera-gpu/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/alquilar-primera-gpu/</guid><description>It&apos;s time for real hardware. We&apos;ll rent a 48 GB GPU, run our first commands, and shut it down without leaving money behind. Total chapter budget: ~$3. You buy nothing.</description><pubDate>Thu, 01 Oct 2026 12:00:00 GMT</pubDate><category>AI</category><category>runpod</category><category>alquilar gpu</category><category>l40s</category><category>gpu para llm</category><category>volumen persistente</category></item><item><title>The 5 vLLM Flags That Actually Matter</title><link>https://kevindavila.dev/en/blog/flags-vllm-esenciales/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/flags-vllm-esenciales/</guid><description>vLLM has over a hundred configuration flags. Five decide how much context you hold, how much you spend, and whether your agent works. The rest is fine tuning for when you already m…</description><pubDate>Thu, 01 Oct 2026 12:00:00 GMT</pubDate><category>AI</category><category>vllm flags</category><category>gpu-memory-utilization</category><category>kv-cache-dtype fp8</category><category>prefix caching</category><category>max-model-len</category></item><item><title>Your First vLLM Server (hello world)</title><link>https://kevindavila.dev/en/blog/primer-servidor-vllm/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/primer-servidor-vllm/</guid><description>The pod is running. Now the important part: install vLLM, download a 30B model, and turn on your first inference server on the internet. It&apos;s 20 minutes of real work; the rest is d…</description><pubDate>Thu, 01 Oct 2026 12:00:00 GMT</pubDate><category>AI</category><category>vllm serve</category><category>primer servidor vllm</category><category>qwen3 coder</category><category>fp8</category><category>kv cache</category></item><item><title>When It Explodes: The 7 Errors of Serving vLLM on a Rented GPU</title><link>https://kevindavila.dev/en/blog/troubleshooting-vllm-gpu/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/troubleshooting-vllm-gpu/</guid><description>Your server will fail. That&apos;s not pessimism, it&apos;s statistics: you rented an ephemeral container, downloaded 31 GB of weights, and started three services that met each other today.…</description><pubDate>Thu, 01 Oct 2026 12:00:00 GMT</pubDate><category>AI</category><category>vllm troubleshooting</category><category>errores gpu alquilada</category><category>oom kv cache</category><category>runpod debug</category><category>runbook inferencia</category></item><item><title>Measure Your vLLM: TTFT, tokens/s and Concurrency Without Fooling Yourself</title><link>https://kevindavila.dev/en/blog/medir-vllm-ttft-tokens/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/medir-vllm-ttft-tokens/</guid><description>A server that &quot;works&quot; says nothing. The engineer&apos;s question is how much: how long until the first token, how many tokens per second, how many people at once. This chapter leaves yo…</description><pubDate>Thu, 01 Oct 2026 12:00:00 GMT</pubDate><category>AI</category><category>medir vllm</category><category>benchmark ttft</category><category>tokens por segundo</category><category>concurrencia llm</category><category>load testing</category></item><item><title>LiteLLM: Keys, Budgets and Your vLLM&apos;s Bill</title><link>https://kevindavila.dev/en/blog/gateway-litellm-llaves-costos/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/gateway-litellm-llaves-costos/</guid><description>Your vLLM is on the internet with a single shared API key. That&apos;s fine for you alone. For a team it&apos;s a mess: nobody knows who spends what, and revoking someone&apos;s access means chan…</description><pubDate>Thu, 01 Oct 2026 12:00:00 GMT</pubDate><category>AI</category><category>litellm gateway</category><category>virtual keys</category><category>presupuesto llm</category><category>costo gpu vs api</category><category>opencode</category></item><item><title>Antigravity SDK with Local Models: Your GPU, Your Tokens, Zero Cloud</title><link>https://kevindavila.dev/en/blog/antigravity-sdk-modelos-locales/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/antigravity-sdk-modelos-locales/</guid><description>At 12:14 AM on a Sunday, my content pipeline ran out of quota. It wasn&apos;t a bug. The API returned a 429 halfway through the batch and the job died with 18 posts half-generated. I sa…</description><pubDate>Thu, 01 Oct 2026 12:00:00 GMT</pubDate><category>AI</category><category>antigravity sdk</category><category>gemma 4</category><category>litert</category><category>modelos locales</category><category>agentes locales</category></item><item><title>Stitch CLI: Google Brings UI Design to the Terminal (and to Your Agent)</title><link>https://kevindavila.dev/en/blog/stitch-cli/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/stitch-cli/</guid><description>Google has introduced Stitch CLI, a command-line tool (@google/stitch) that brings Stitch&apos;s generative UI design to the terminal and to your coding agent. The official promise: &quot;yo…</description><pubDate>Thu, 01 Oct 2026 12:00:00 GMT</pubDate><category>AI</category><category>stitch cli</category><category>google stitch</category><category>design.md</category><category>diseño de ui</category><category>agentes de código</category></item><item><title>Model routing and costs: when to pay for the expensive model</title><link>https://kevindavila.dev/en/blog/model-routing-costos/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/model-routing-costos/</guid><description>El camino más rápido para bajar la factura de AI no es negociar precios: es dejar de mandar todo al modelo caro. Clasificar un ticket, extraer un campo o resumir un texto no necesi…</description><pubDate>Mon, 28 Sep 2026 12:00:00 GMT</pubDate><category>AI</category><category>model routing</category><category>ai costs</category><category>prompt caching</category><category>batch</category><category>classifier</category><category>savings</category></item><item><title>Change Detection in Angular 22: Eager, OnPush by default, and how Zoneless fits in</title><link>https://kevindavila.dev/en/blog/angular-change-detection-eager-onpush/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/angular-change-detection-eager-onpush/</guid><description>You upgrade to Angular 22, run ng update, and the diff comes with a surprise: changeDetection: ChangeDetectionStrategy.Eager added to components that never declared it. That line m…</description><pubDate>Sun, 27 Sep 2026 12:00:00 GMT</pubDate><category>Angular</category><category>angular 22</category><category>change detection</category><category>onpush default</category><category>changedetectionstrategy eager</category><category>zoneless angular</category></item><item><title>Zoneless Angular: The Definitive Guide to Understanding the Biggest Change in Years</title><link>https://kevindavila.dev/en/blog/angular-zoneless-deep-dive/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/angular-zoneless-deep-dive/</guid><description>I&apos;ve been playing with Angular v22 and realized something: if your project still depends on Zone.js, you&apos;re leaving performance on the table. Seriously. Zoneless has been the defau…</description><pubDate>Sun, 27 Sep 2026 12:00:00 GMT</pubDate><category>Angular</category><category>angular zoneless</category><category>remove zone.js</category><category>change detection angular</category><category>angular v22 performance</category><category>migrate zoneless angular</category></item><item><title>The report that said &quot;do not migrate yet&quot;</title><link>https://kevindavila.dev/en/blog/informe-no-migren/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/informe-no-migren/</guid><description>El PoC salió bien. El servidor levantaba, respondía, aguantaba 10 personas y costaba centavos al día. Y la recomendación que escribí fue: no migren todavía. No por miedo: por las c…</description><pubDate>Fri, 25 Sep 2026 12:00:00 GMT</pubDate><category>AI</category><category>migrating to self-hosted</category><category>llm cost</category><category>tco</category><category>rented gpu</category><category>pilot</category><category>decision</category></item><item><title>Inside MoE: 30B total, 3B active</title><link>https://kevindavila.dev/en/blog/moe-por-dentro/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/moe-por-dentro/</guid><description>Un modelo de 30B que genera más rápido que uno de 7B. Suena a magia hasta que entiendes la arquitectura: no todos los parámetros se despiertan en cada token. En un modelo MoE (Mixt…</description><pubDate>Thu, 24 Sep 2026 12:00:00 GMT</pubDate><category>AI</category><category>moe</category><category>mixture of experts</category><category>active parameters</category><category>prefill vs decode</category><category>vllm</category><category>qwen3</category></item><item><title>Observability and traces: &quot;the model failed&quot; is rarely the model</title><link>https://kevindavila.dev/en/blog/observabilidad-trazas/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/observabilidad-trazas/</guid><description>Cuando un agente falla, el reflejo es culpar al modelo. Casi siempre el culpable es el harness: contexto que se recortó mal, una tool que devolvió un error silencioso, un timeout,…</description><pubDate>Thu, 24 Sep 2026 12:00:00 GMT</pubDate><category>AI</category><category>agent observability</category><category>traces</category><category>telemetry</category><category>debugging agents</category><category>harness</category></item><item><title>Angular 22.2: Mejoras que SI vas a usar</title><link>https://kevindavila.dev/en/blog/angular-22-novedades/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/angular-22-novedades/</guid><description>Angular 22.2 fue lanzada 23 de septiembre con dos features grandes en developer preview, @boundary y router resources, más algunas cosas que sí cambian tu día a día. En este post v…</description><pubDate>Thu, 24 Sep 2026 12:00:00 GMT</pubDate><category>Angular</category><category>angular</category></item><item><title>48 KB per token: why 48 GB cannot hold 30 sessions</title><link>https://kevindavila.dev/en/blog/48kb-por-token/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/48kb-por-token/</guid><description>La pregunta era: ¿cuántas personas caben en una GPU de 48 GB? Y la respuesta no la decide la potencia de la tarjeta, ni los 30B del modelo, ni el batching. La decide una multiplica…</description><pubDate>Wed, 23 Sep 2026 12:00:00 GMT</pubDate><category>AI</category><category>kv cache</category><category>vram</category><category>fp8 quantization</category><category>concurrent sessions</category><category>vllm</category><category>sizing a gpu</category></item><item><title>The bottleneck was not the GPU: it was the network</title><link>https://kevindavila.dev/en/blog/cuello-era-la-red/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/cuello-era-la-red/</guid><description>Un usuario. Una pregunta. 2.541 ms hasta el primer token. Con una L40S de 48 GB delante. Si el modelo tarda decenas de milisegundos en responder, ¿dónde se fueron los dos segundos…</description><pubDate>Tue, 22 Sep 2026 12:00:00 GMT</pubDate><category>AI</category><category>inference latency</category><category>ttft</category><category>sse proxy</category><category>network vs gpu</category><category>measuring latency</category><category>vllm</category></item><item><title>Choosing a model in 2026: 5 questions (and the new decision category)</title><link>https://kevindavila.dev/en/blog/elegir-modelo-2026/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/elegir-modelo-2026/</guid><description>No existe &quot;el mejor modelo&quot;. Existe el modelo que responde estas cinco preguntas con tus datos. Y en 2026 apareció una sexta pregunta que cambia el juego: no siempre necesitas un m…</description><pubDate>Mon, 21 Sep 2026 12:00:00 GMT</pubDate><category>AI</category><category>choosing an llm</category><category>open vs closed</category><category>cost per token</category><category>latency</category><category>decision models</category></item><item><title>Prefix caching: same load, 3x faster</title><link>https://kevindavila.dev/en/blog/prefix-caching-3x/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/prefix-caching-3x/</guid><description>16,1 segundos a 5,2. El mismo modelo, la misma GPU, las mismas 10 peticiones al mismo contexto. Lo único que cambió: si el prefijo ya estaba en caché. Si sirves un agente, esto es…</description><pubDate>Mon, 21 Sep 2026 12:00:00 GMT</pubDate><category>AI</category><category>prefix caching</category><category>kv cache</category><category>vllm</category><category>tokens per second</category><category>ttft</category><category>agents</category></item><item><title>The error in my own benchmark</title><link>https://kevindavila.dev/en/blog/error-de-mi-benchmark/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/error-de-mi-benchmark/</guid><description>Publicamos el primer barrido de concurrencia y los números eran demasiado buenos: 10 usuarios simultáneos, todos rápidos, sin un solo fallo. Antes de celebrar, revisamos una cosa:…</description><pubDate>Sun, 20 Sep 2026 12:00:00 GMT</pubDate><category>AI</category><category>llm benchmark</category><category>measurement error</category><category>prefix caching</category><category>concurrency</category><category>percentiles</category><category>vllm</category></item><item><title>Serving multiple models in production: routing, versioning and canary</title><link>https://kevindavila.dev/en/blog/servir-varios-modelos/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/servir-varios-modelos/</guid><description>Tu app no necesita el modelo más caro para el 80% de las peticiones. Pero tampoco puedes hardcodear un modelo en cada archivo y esperar poder cambiarlo cuando salga uno mejor. La c…</description><pubDate>Sun, 20 Sep 2026 12:00:00 GMT</pubDate><category>AI</category><category>serving multiple models</category><category>model routing</category><category>model aliases</category><category>canary deployment</category><category>ai sdk</category></item><item><title>Fine-tuning vs RAG vs prompting: when to use each</title><link>https://kevindavila.dev/en/blog/fine-tuning-vs-rag/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/fine-tuning-vs-rag/</guid><description>Cada pocas semanas alguien me dice que va a hacer fine-tuning. Casi nunca es lo que necesita: el 90% de los problemas que se atribuyen a &quot;el modelo no sabe&quot; se resuelven con mejor…</description><pubDate>Sat, 19 Sep 2026 12:00:00 GMT</pubDate><category>AI</category><category>fine-tuning</category><category>rag</category><category>prompting</category><category>lora</category><category>qlora</category><category>when to fine-tune</category></item><item><title>The 7 bugs of a rented GPU environment</title><link>https://kevindavila.dev/en/blog/bugs-entorno-alquilado/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/bugs-entorno-alquilado/</guid><description>El primer intento de levantar el servidor falló tres veces seguidas, por tres causas distintas, ninguna relacionada con el modelo. Al final de la semana teníamos una lista de siete…</description><pubDate>Sat, 19 Sep 2026 12:00:00 GMT</pubDate><category>AI</category><category>vllm in production</category><category>rented environment</category><category>gpu bugs</category><category>litellm</category><category>runbook</category><category>troubleshooting</category></item><item><title>Plan: serving my own model to cut the bill</title><link>https://kevindavila.dev/en/blog/plan-serving-propio/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/plan-serving-propio/</guid><description>La factura de los asistentes de código crecía con el equipo, y la pregunta era simple: ¿se puede servir un modelo open-source nosotros mismos y pagar menos? La respuesta honesta es…</description><pubDate>Fri, 18 Sep 2026 12:00:00 GMT</pubDate><category>AI</category><category>self-hosted model</category><category>vllm</category><category>inference poc</category><category>llm cost</category><category>rented gpu</category><category>moe</category></item><item><title>RAG that works: chunking, reranking and hybrid search</title><link>https://kevindavila.dev/en/blog/rag-que-funciona/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/rag-que-funciona/</guid><description>&quot;Mi RAG no funciona&quot; casi nunca significa &quot;mi modelo es malo&quot;. Significa que el fragmento correcto no llegó al contexto: se cortó mal, se rankeó mal o no se encontró. El 80% de la…</description><pubDate>Wed, 16 Sep 2026 12:00:00 GMT</pubDate><category>AI</category><category>rag</category><category>chunking</category><category>reranking</category><category>hybrid search</category><category>embeddings</category><category>retrieval</category></item><item><title>RLS: Real Security in Your Database</title><link>https://kevindavila.dev/en/blog/rls-seguridad/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/rls-seguridad/</guid><description>You&apos;re in a code review. Someone opens the browser console, runs a fetch with the anon key, and the room goes silent: the project&apos;s security depended entirely on client code, and a…</description><pubDate>Mon, 14 Sep 2026 12:00:00 GMT</pubDate><category>Supabase</category><category>supabase rls</category><category>row level security</category><category>postgresql security</category><category>supabase policies</category><category>database security</category></item><item><title>Storage: Upload, Transform and Deliver Files</title><link>https://kevindavila.dev/en/blog/storage/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/storage/</guid><description>Quick question: how much of your life have you lost fighting buckets, CORS, signed URLs, and image workers? If just reading that brought back a bad memory, keep reading.</description><pubDate>Mon, 14 Sep 2026 12:00:00 GMT</pubDate><category>Supabase</category><category>supabase storage</category><category>file upload</category><category>image transformation</category><category>cloud storage</category><category>supabase files</category></item><item><title>Realtime: Apps That Update Themselves</title><link>https://kevindavila.dev/en/blog/realtime/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/realtime/</guid><description>20 lines. That&apos;s what the real-time chat cost. No custom WebSockets, no Redis, no middleware server to babysit at 3 AM.</description><pubDate>Mon, 14 Sep 2026 12:00:00 GMT</pubDate><category>Supabase</category><category>supabase realtime</category><category>websockets</category><category>real-time updates</category><category>broadcast</category><category>presence</category></item><item><title>Auth Made Easy: Complete Authentication with Supabase</title><link>https://kevindavila.dev/en/blog/auth-sin-dolor/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/auth-sin-dolor/</guid><description>A confession: I hate setting up authentication. OAuth redirects, JWTs expiring at the worst possible moment, sessions lost between tabs, and that login bug that only shows up on a…</description><pubDate>Mon, 14 Sep 2026 12:00:00 GMT</pubDate><category>Supabase</category><category>supabase auth</category><category>autenticación</category><category>oauth</category><category>login</category><category>mfa</category></item><item><title>Intro to Supabase: Why It&apos;s the Backend You Need</title><link>https://kevindavila.dev/en/blog/intro-a-supabase/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/intro-a-supabase/</guid><description>I remember the old days when people argued endlessly about the right way to handle the backend: Firebase, Supabase, PocketBase, self-hosting, even a notepad. Those debates seem to…</description><pubDate>Mon, 14 Sep 2026 12:00:00 GMT</pubDate><category>Supabase</category><category>supabase</category><category>backend as a service</category><category>postgresql</category><category>firebase alternative</category><category>supabase tutorial</category></item><item><title>Edge Functions: Serverless Logic at the Edge</title><link>https://kevindavila.dev/en/blog/edge-functions/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/edge-functions/</guid><description>Your frontend asks your backend whether the token is valid. Your backend asks the database. Meanwhile, the user stares at a blank screen. That validation round-trip on every reques…</description><pubDate>Mon, 14 Sep 2026 12:00:00 GMT</pubDate><category>Supabase</category><category>supabase edge functions</category><category>serverless</category><category>deno</category><category>webhooks</category><category>supabase functions</category></item><item><title>Supabase + AI: pgvector, Embeddings and Semantic Search</title><link>https://kevindavila.dev/en/blog/supabase-ai-pgvector/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/supabase-ai-pgvector/</guid><description>Semantic search used to be a weeks-long project: provisioning a Pinecone or Weaviate cluster, keeping it in sync with your database, and adding another bill to the stack. Now it&apos;s…</description><pubDate>Mon, 14 Sep 2026 12:00:00 GMT</pubDate><category>Supabase</category><category>supabase pgvector</category><category>embeddings</category><category>semantic search</category><category>rag</category><category>vector database</category></item><item><title>Supabase + AI Agents: MCP Server and Intelligent Automation</title><link>https://kevindavila.dev/en/blog/supabase-ai-agents-mcp/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/supabase-ai-agents-mcp/</guid><description>I asked Claude to check the tables in my Supabase project and tell me which ones were missing RLS. No copying the schema, no pasting SQL. Thirty seconds later I had the list and a…</description><pubDate>Mon, 14 Sep 2026 12:00:00 GMT</pubDate><category>Supabase</category><category>supabase mcp server</category><category>ai agents</category><category>claude</category><category>cursor</category><category>database automation</category></item><item><title>From MVP to Production: Supabase in the Real World</title><link>https://kevindavila.dev/en/blog/mvp-a-produccion/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/mvp-a-produccion/</guid><description>The day your MVP shows up on Product Hunt unannounced is the day you find out which parts of your stack were toys. Database connections run out, the query that worked with 10 users…</description><pubDate>Mon, 14 Sep 2026 12:00:00 GMT</pubDate><category>Supabase</category><category>supabase production</category><category>supabase scaling</category><category>supabase best practices</category><category>database optimization</category><category>supabase security</category></item><item><title>Supabase for Mobile: Flutter/React Native + Supabase</title><link>https://kevindavila.dev/en/blog/supabase-mobile/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/supabase-mobile/</guid><description>Flutter or React Native, it doesn&apos;t matter: sooner or later everyone ends up asking the same question. And who builds the backend? That&apos;s where the fun begins: auth, storage, realt…</description><pubDate>Mon, 14 Sep 2026 12:00:00 GMT</pubDate><category>Supabase</category><category>supabase mobile</category><category>flutter supabase</category><category>react native supabase</category><category>mobile backend</category><category>supabase tutorial</category></item><item><title>The skills that survived: anatomy of a skill that works</title><link>https://kevindavila.dev/en/blog/skills-que-sobrevivieron/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/skills-que-sobrevivieron/</guid><description>Instalé skills de más. Al principio todas parecían útiles y al cabo de un mes casi ninguna se disparaba. Lo que me hizo reaccionar fue un dato ajeno: cuando un catálogo conocido de…</description><pubDate>Fri, 11 Sep 2026 12:00:00 GMT</pubDate><category>AI</category><category>agent skills</category><category>skill.md</category><category>procedures for agents</category><category>harness</category><category>context</category></item><item><title>The real cost of your AI feature: API vs self-host vs edge</title><link>https://kevindavila.dev/en/blog/costo-feature-ai/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/costo-feature-ai/</guid><description>La pregunta no llega en el diseño: llega con la factura. &quot;¿Cuánto cuesta cada usuario?&quot; es la pregunta que separa un feature de un producto, y se responde con tres datos: tokens po…</description><pubDate>Tue, 08 Sep 2026 12:00:00 GMT</pubDate><category>AI</category><category>ai cost</category><category>price per million tokens</category><category>self-host vs api</category><category>prompt caching</category><category>batch</category></item><item><title>Measuring inference without lying to yourself: tokens/s, TTFT and misleading benchmarks</title><link>https://kevindavila.dev/en/blog/medir-inferencia/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/medir-inferencia/</guid><description>Un benchmark puede hacerte creer que el modelo A es el doble de rápido que el B, y ser completamente falso por cómo se midió. Me pasó mirando números publicados: dos &quot;tokens/s&quot; que…</description><pubDate>Fri, 04 Sep 2026 12:00:00 GMT</pubDate><category>AI</category><category>measuring inference</category><category>ttft</category><category>tpot</category><category>tokens per second</category><category>p95</category><category>benchmarks</category></item><item><title>Serving in production: batching, concurrency and autoscaling</title><link>https://kevindavila.dev/en/blog/serving-produccion-batching/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/serving-produccion-batching/</guid><description>Mi servidor respondía perfecto con un usuario y se arrastraba con diez. La culpa no era del modelo ni de la GPU: era que atendía las peticiones de a una. El mismo modelo, la misma…</description><pubDate>Thu, 27 Aug 2026 12:00:00 GMT</pubDate><category>AI</category><category>llm serving</category><category>continuous batching</category><category>prefix caching</category><category>autoscaling</category><category>throughput</category><category>p95</category></item><item><title>RAG with Angular, Embeddings and Gemini</title><link>https://kevindavila.dev/en/blog/rag-con-angular-embedding-y-gemini/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/rag-con-angular-embedding-y-gemini/</guid><description>La mayoría de los desarrolladores Angular sigue pensando que RAG es territorio exclusivo de backenders y data engineers. No lo es. Si tu app necesita buscar información relevante y…</description><pubDate>Mon, 24 Aug 2026 12:00:00 GMT</pubDate><category>Angular</category><category>angular</category><category>embeddings</category><category>gemini</category></item><item><title>What hardware do you need? GPU, VRAM and cloud</title><link>https://kevindavila.dev/en/blog/hardware-vram-cloud/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/hardware-vram-cloud/</guid><description>&quot;¿Compro una GPU o alquilo?&quot; es la pregunta equivocada. La correcta es: ¿cuántas horas al mes la voy a usar? Todo lo demás (modelo, VRAM, precio) se deriva de esa cifra y de una cu…</description><pubDate>Sun, 23 Aug 2026 12:00:00 GMT</pubDate><category>AI</category><category>gpu for llm</category><category>vram needed</category><category>renting a gpu</category><category>inference hardware</category><category>gpu cloud costs</category></item><item><title>Quantization with numbers: quality vs VRAM vs speed</title><link>https://kevindavila.dev/en/blog/cuantizacion-numeros/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/cuantizacion-numeros/</guid><description>Un modelo que pesa 40 GB corriendo en una GPU de 16 GB. Eso no es un truco de marketing: es cuantización, y en un experimento documentado por Hugging Face fue exactamente el result…</description><pubDate>Wed, 19 Aug 2026 12:00:00 GMT</pubDate><category>AI</category><category>quantization</category><category>4-bit</category><category>nf4</category><category>qlora</category><category>vram</category><category>gptq</category><category>awq</category><category>fp8</category></item><item><title>AI-Powered Feature Testing in Angular</title><link>https://kevindavila.dev/en/blog/testing-de-feature-con-ai-en-angular/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/testing-de-feature-con-ai-en-angular/</guid><description>Un test generado por Gemini en un proyecto Angular encontró un bug que llevaba semanas escondido (Si, Gemini xd)Si todavía escribes todos tus tests manualmente, estás dejando diner…</description><pubDate>Mon, 17 Aug 2026 12:00:00 GMT</pubDate><category>Angular</category><category>angular</category><category>testing</category><category>ai</category></item><item><title>Local inference in 2026: from LM Studio to vLLM (with VRAM math)</title><link>https://kevindavila.dev/en/blog/inferencia-local-lmstudio-vllm/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/inferencia-local-lmstudio-vllm/</guid><description>Instalé LM Studio un sábado por curiosidad. Dos horas después tenía un modelo corriendo en mi máquina y una pregunta nueva: si esto es tan fácil, ¿por qué la gente habla de VRAM co…</description><pubDate>Sat, 15 Aug 2026 12:00:00 GMT</pubDate><category>AI</category><category>local inference</category><category>lm studio</category><category>vllm</category><category>vram</category><category>local models</category><category>llama.cpp</category></item><item><title>Design your repo so agents work better</title><link>https://kevindavila.dev/en/blog/repo-para-agentes/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/repo-para-agentes/</guid><description>Tu codebase influye más en el resultado del agente que tu prompt o tu AGENTS.md. Y eso es una buena noticia: es lo único de la lista que puedes diseñar en lugar de redactar mejor.</description><pubDate>Tue, 11 Aug 2026 12:00:00 GMT</pubDate><category>AI</category><category>codebase for agents</category><category>deep modules</category><category>grey box</category><category>feedback loops</category><category>architecture</category></item><item><title>Structured outputs without suffering: JSON that doesn&apos;t break</title><link>https://kevindavila.dev/en/blog/structured-outputs-json/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/structured-outputs-json/</guid><description>En la demo el JSON sale bien. En producción, cuando el input es raro o la respuesta se alarga, sale casi bien. Y &quot;casi&quot; es un bug: un campo que falta a las 3 de la mañana es una pá…</description><pubDate>Fri, 07 Aug 2026 12:00:00 GMT</pubDate><category>AI</category><category>structured outputs</category><category>valid json</category><category>zod</category><category>generateobject</category><category>constrained decoding</category></item><item><title>AGENTS.md vs CLAUDE.md vs rules: the context your agent actually reads</title><link>https://kevindavila.dev/en/blog/agents-md-vs-claude-md/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/agents-md-vs-claude-md/</guid><description>Casi todo lo que escribes en tu AGENTS.md se ignora. Y no es culpa del agente: es que cada token de ese archivo se carga en cada petición, compita o no con la tarea del momento. Si…</description><pubDate>Thu, 30 Jul 2026 12:00:00 GMT</pubDate><category>AI</category><category>agents.md</category><category>claude.md</category><category>agent instructions</category><category>progressive disclosure</category><category>context</category></item><item><title>My complete AI web development workflow: from issue to deploy</title><link>https://kevindavila.dev/en/blog/flujo-completo-ai-desarrollo-web/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/flujo-completo-ai-desarrollo-web/</guid><description>El error de mis primeros meses con agentes fue pedir código. &quot;Hazme esta feature&quot; y esperar magia. El resultado era predecible: código que funcionaba a medias, revisiones eternas y…</description><pubDate>Sun, 26 Jul 2026 12:00:00 GMT</pubDate><category>AI</category><category>ai workflow</category><category>web development with agents</category><category>7 phases</category><category>prd</category><category>vertical tickets</category><category>qa</category></item><item><title>Build your MCP server (and its footguns)</title><link>https://kevindavila.dev/en/blog/servidor-mcp-footguns/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/servidor-mcp-footguns/</guid><description>Mi servidor MCP funcionaba perfecto en local. Agregué un console.log para depurar una respuesta rara, y el cliente dejó de responder. Sin error, sin mensaje: dejó de funcionar. Pas…</description><pubDate>Wed, 22 Jul 2026 12:00:00 GMT</pubDate><category>AI</category><category>mcp server</category><category>model context protocol</category><category>footguns</category><category>stdio</category><category>stateful</category><category>mcp in production</category></item><item><title>Agents with Vercel AI SDK 7: ToolLoopAgent and HarnessAgent</title><link>https://kevindavila.dev/en/blog/agentes-vercel-ai-sdk/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/agentes-vercel-ai-sdk/</guid><description>Veinte líneas. Un agente con tools, loop y condición de parada, sin escribir el ciclo a mano. Eso es lo que te da ToolLoopAgent del AI SDK, y es la razón por la que hoy es mi punto…</description><pubDate>Sat, 18 Jul 2026 12:00:00 GMT</pubDate><category>AI</category><category>vercel ai sdk</category><category>toolloopagent</category><category>harnessagent</category><category>typescript agents</category><category>subagents</category></item><item><title>Evaluate Your AI-Generated Code with Web Codegen Scorer</title><link>https://kevindavila.dev/en/blog/web-codegen-scorer/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/web-codegen-scorer/</guid><description>Hace poco estaba comparando el output de Gemini y Claude para un componente Angular. Los dos compilaban. Los dos &quot;funcionaban&quot;. Pero uno usaba *ngFor con trackBy y el otro signals…</description><pubDate>Sat, 18 Jul 2026 12:00:00 GMT</pubDate><category>Angular</category><category>angular</category><category>web codegen scorer</category><category>ai</category></item><item><title>Agents with ADK 2.0: when a framework saves you months</title><link>https://kevindavila.dev/en/blog/agentes-adk/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/agentes-adk/</guid><description>Cuando escribí mi primer agente &quot;puro&quot; con archivos markdown, entendí el harness. Cuando intenté ponerlo en producción, entendí para qué sirve un framework: sesiones, evaluación, t…</description><pubDate>Tue, 14 Jul 2026 12:00:00 GMT</pubDate><category>AI</category><category>google adk</category><category>adk 2.0</category><category>agent framework</category><category>graph workflows</category><category>agents in production</category></item><item><title>Your first &quot;pure&quot; agent: markdown files only</title><link>https://kevindavila.dev/en/blog/agente-markdown-puro/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/agente-markdown-puro/</guid><description>Sin SDK, sin framework, sin servidor. Cuatro archivos de texto y un agente que funciona. Suena a truco, pero es la forma más rápida de entender qué es un agente de verdad: si no pu…</description><pubDate>Fri, 10 Jul 2026 12:00:00 GMT</pubDate><category>AI</category><category>markdown agent</category><category>agents.md</category><category>skill.md</category><category>agent without framework</category><category>minimal harness</category></item><item><title>Software Architecture as an Executable Contract</title><link>https://kevindavila.dev/en/blog/arquitectura-como-contrato-ejecutable/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/arquitectura-como-contrato-ejecutable/</guid><description>El otro dia le pedi a Claude Code que me creara una feature nueva en un proyecto Angular con domains bien definidos. Lo que me devolvio funcionaba. Compilaba. Los tests pasaban. Pe…</description><pubDate>Fri, 10 Jul 2026 12:00:00 GMT</pubDate><category>Angular</category><category>angular</category><category>architecture</category></item><item><title>Evals: the 3 types, and how to know if your agent improved</title><link>https://kevindavila.dev/en/blog/evals-tres-tipos/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/evals-tres-tipos/</guid><description>Durante semanas creí que mi agente mejoraba. Cambiaba el prompt, probaba dos o tres casos, quedaba convencido y lo dejaba así. Hasta que un día noté que había empeorado en lo que a…</description><pubDate>Mon, 06 Jul 2026 12:00:00 GMT</pubDate><category>AI</category><category>evals</category><category>evaluating agents</category><category>llm as judge</category><category>regressions</category><category>agents in production</category></item><item><title>Guardrails: permissions, sandboxes and classifiers (the System One pattern)</title><link>https://kevindavila.dev/en/blog/guardrails-agentes/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/guardrails-agentes/</guid><description>Un chatbot que se equivoca te da una respuesta mala. Un agente que se equivoca hace algo: borra un archivo, hace push a main, manda un correo, gasta 200 dólares en una API. Por eso…</description><pubDate>Thu, 02 Jul 2026 12:00:00 GMT</pubDate><category>AI</category><category>agent guardrails</category><category>tool permissions</category><category>sandbox</category><category>classifiers</category><category>system one</category><category>jev</category><category>ai security</category></item><item><title>What Angular Agent Skills Are and How to Use Them</title><link>https://kevindavila.dev/en/blog/angular-agent-skills/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/angular-agent-skills/</guid><description>Estas creando componentes de Angular con algún agente, lo revisas y ves *ngIf, @Input() decorators y un constructor con inyeccion manual. En 2026. Como si los ultimos tres años no…</description><pubDate>Wed, 01 Jul 2026 12:00:00 GMT</pubDate><category>Angular</category><category>angular</category><category>skills</category><category>ai</category><category>antigravity</category></item><item><title>Practical context engineering: compaction, retrieval and why your agent forgets</title><link>https://kevindavila.dev/en/blog/context-engineering-practico/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/context-engineering-practico/</guid><description>Paso 3: encontraste el bug. Paso 7: ya no lo recuerda. Paso 12: propone una solución que arregla algo que ya habías arreglado. Si te pasó, tu agente no es &quot;tonto&quot;: se quedó sin con…</description><pubDate>Sun, 28 Jun 2026 12:00:00 GMT</pubDate><category>AI</category><category>context engineering</category><category>compaction</category><category>progressive disclosure</category><category>context window</category><category>retrieval</category><category>agents</category></item><item><title>Angular Aria: Accessible Headless Components</title><link>https://kevindavila.dev/en/blog/angular-aria-componentes-accesibles/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/angular-aria-componentes-accesibles/</guid><description>Hace poco estuve probando con Angular Aria y me quede impresionado con lo facil que ahora es construir componentes accesibles. Si alguna vez intentaste implementar un menu, un comb…</description><pubDate>Thu, 25 Jun 2026 12:00:00 GMT</pubDate><category>Angular</category><category>angular</category><category>aria</category><category>a11y</category></item><item><title>Harness Engineering: the 9 pieces, built and measured</title><link>https://kevindavila.dev/en/blog/harness-engineering-9-piezas/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/harness-engineering-9-piezas/</guid><description>Llevaba meses intentando explicar por qué dos equipos con el mismo modelo obtienen resultados opuestos. El marco que me faltaba: no compites por el modelo, compites por el harness.…</description><pubDate>Wed, 24 Jun 2026 12:00:00 GMT</pubDate><category>AI</category><category>harness engineering</category><category>agent</category><category>agent loop</category><category>tools</category><category>evals</category><category>context</category><category>observability</category></item><item><title>Inference Engineering: what it is and what you optimize (TTFT, tokens/s, VRAM, cost)</title><link>https://kevindavila.dev/en/blog/inference-engineering-que-es/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/inference-engineering-que-es/</guid><description>El mismo modelo, la misma GPU, la misma pregunta. Un servidor responde con el primer token en 300 ms; otro tarda casi dos segundos. La diferencia no está en el modelo. Está en todo…</description><pubDate>Sat, 20 Jun 2026 12:00:00 GMT</pubDate><category>AI</category><category>inference engineering</category><category>ttft</category><category>tokens per second</category><category>vram</category><category>vllm</category><category>model serving</category></item><item><title>What An Agent Really Is: Model + Harness</title><link>https://kevindavila.dev/en/blog/que-es-un-agente/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/que-es-un-agente/</guid><description>La primera vez que construí un &quot;agente&quot; era un prompt de 800 palabras con instrucciones numeradas. Funcionó sorprendentemente bien durante dos semanas. Después empezó a fallar: olv…</description><pubDate>Tue, 16 Jun 2026 12:00:00 GMT</pubDate><category>AI</category><category>what is an agent</category><category>agent loop</category><category>harness</category><category>workflow vs agent</category><category>ai agents</category></item><item><title>Build AI Apps in Angular with Genkit and Gemini</title><link>https://kevindavila.dev/en/blog/construye-apps-con-angular-genkit-y-gemini/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/construye-apps-con-angular-genkit-y-gemini/</guid><description>Hace poco estuve probando con la nueva seccion &quot;Build with AI&quot; de Angular y me gustó bastante. Angular ahora tiene integracion oficial para construir aplicaciones impulsadas por AI…</description><pubDate>Mon, 15 Jun 2026 12:00:00 GMT</pubDate><category>Angular</category><category>angular</category><category>gemini</category><category>genkit</category></item><item><title>What Is An AI Engineer (And My Path From Frontend)</title><link>https://kevindavila.dev/en/blog/que-es-un-ai-engineer/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/que-es-un-ai-engineer/</guid><description>Mi perfil dice Frontend Engineer. La semana pasada pasé tres horas midiendo VRAM, comparando cuantizaciones y peleándome con el max-model-len de un servidor de inferencia. No hubo…</description><pubDate>Fri, 12 Jun 2026 12:00:00 GMT</pubDate><category>AI</category><category>ai engineer</category><category>what is an ai engineer</category><category>frontend to ai</category><category>inference engineering</category><category>ai career</category></item><item><title>Big New Features in Angular 22</title><link>https://kevindavila.dev/en/blog/novedades-angular-22/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/novedades-angular-22/</guid><description>Si pensabas que Angular ya había alcanzado su pico de innovación con las versiones anteriores, prepárate. Angular 22 acaba de aterrizar y no es una actualización cualquiera. Es la…</description><pubDate>Tue, 09 Jun 2026 12:00:00 GMT</pubDate><category>Angular</category><category>angular</category><category>signals</category><category>angular 22</category></item><item><title>AI Dictionary: 36 terms to understand AI Engineering</title><link>https://kevindavila.dev/en/blog/diccionario-ai/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/diccionario-ai/</guid><description>Alguien me preguntó la diferencia entre &quot;MCP&quot; y &quot;una tool&quot;. Dudé. Llevo tiempo usando ambos todos los días y no supe explicarlo en una frase. Así que armé este diccionario: los 36…</description><pubDate>Mon, 08 Jun 2026 12:00:00 GMT</pubDate><category>AI</category><category>ai dictionary</category><category>ai engineering</category><category>llm glossary</category><category>harness</category><category>agent</category><category>inference</category><category>mcp</category><category>evals</category></item><item><title>Migrating from Gemini to Antigravity CLI</title><link>https://kevindavila.dev/en/blog/migrando-de-gemini-a-antigravity-cli/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/migrando-de-gemini-a-antigravity-cli/</guid><description>Anteriormente hablamos de los anuncios del Google I/O 2026, y cómo estamos entrando a la era de Agent-First con Antigravity</description><pubDate>Thu, 28 May 2026 12:00:00 GMT</pubDate><category>AI</category><category>ai</category><category>antigravity</category></item><item><title>Monorepos and Angular: The Definitive Source of Truth for the AI Era</title><link>https://kevindavila.dev/en/blog/monorepositorios-la-fuente-de-verdad-definitiva-en-ai/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/monorepositorios-la-fuente-de-verdad-definitiva-en-ai/</guid><description>En el panorama actual del desarrollo de software, la transición hacia una ingeniería asistida por agentes de Inteligencia Artificial (IA) está redefiniendo cómo estructuramos nuest…</description><pubDate>Sun, 24 May 2026 12:00:00 GMT</pubDate><category>Angular</category><category>angular</category></item><item><title>Google AI Studio: Google&apos;s All-in-One Platform</title><link>https://kevindavila.dev/en/blog/google-ai-studio/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/google-ai-studio/</guid><description>La evolución del desarrollo de software ha alcanzado un punto de inflexión con la consolidación del &quot;Vibe Coding&quot; y el desarrollo basado en agentes. Google AI Studio ha trascendido…</description><pubDate>Tue, 28 Apr 2026 12:00:00 GMT</pubDate><category>AI</category><category>ai</category><category>google</category><category>ai studio</category></item><item><title>Angular Aria: The New Standard for Building Accessible Components</title><link>https://kevindavila.dev/en/blog/angular-aria/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/angular-aria/</guid><description>Durante años, la accesibilidad en aplicaciones web fue tratada como un &quot;nice to have&quot;. Algo que se agregaba al final, si acaso. El resultado: millones de usuarios con discapacidade…</description><pubDate>Mon, 13 Apr 2026 12:00:00 GMT</pubDate><category>Angular</category><category>angular</category><category>aria</category><category>accesibilidad</category></item><item><title>Angular Testing 2026: A Painless Testing Guide</title><link>https://kevindavila.dev/en/blog/angular-testing-guia-2026/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/angular-testing-guia-2026/</guid><description>Testear en Angular tiene fama de ser complicado. Y durante varios años, lo fue.</description><pubDate>Mon, 13 Apr 2026 12:00:00 GMT</pubDate><category>Angular</category><category>angular</category><category>testing</category><category>vitest</category></item><item><title>Angular Router: A Practical Guide to Everything You Need to Know</title><link>https://kevindavila.dev/en/blog/angular-router-todo-lo-que-necesitas-saber/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/angular-router-todo-lo-que-necesitas-saber/</guid><description>El router de Angular es una de las piezas más poderosas del framework. También es una de las más mal usadas.</description><pubDate>Fri, 10 Apr 2026 12:00:00 GMT</pubDate><category>Angular</category><category>angular</category><category>router</category></item><item><title>Orchestration Patterns in Claude Code</title><link>https://kevindavila.dev/en/blog/patrones-de-orquestacion-en-claude-code/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/patrones-de-orquestacion-en-claude-code/</guid><description>La mayoría de los tutoriales sobre agentes de IA muestran un agente haciendo todo. Eso funciona para demos, pero no para producción.</description><pubDate>Wed, 08 Apr 2026 12:00:00 GMT</pubDate><category>AI</category><category>claude code</category><category>claude</category><category>agents</category></item><item><title>Angular Is Better Than Ever</title><link>https://kevindavila.dev/en/blog/angular-esta-mejor-que-nunca/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/angular-esta-mejor-que-nunca/</guid><description>Hubo un momento, allá por 2021-2022 (de hecho, desde 2016), donde en Twitter los tech Bros decían todos los días: &quot;Angular está muriendo. React ganó. Vue es más simple. Svelte es e…</description><pubDate>Tue, 07 Apr 2026 12:00:00 GMT</pubDate><category>Angular</category><category>angular</category></item><item><title>Deferrable Views in Angular: Load What You Need, When You Need It</title><link>https://kevindavila.dev/en/blog/deferrable-views-en-angular/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/deferrable-views-en-angular/</guid><description>Cuando Angular compila tu aplicación, todo lo que importas en un componente acaba en el bundle. No importa si ese componente se renderiza en la primera pantalla o si el usuario tie…</description><pubDate>Mon, 06 Apr 2026 12:00:00 GMT</pubDate><category>AI</category><category>deferrable views</category><category>angular</category></item><item><title>¿Qué son las famosas Skills en claude code?</title><link>https://kevindavila.dev/en/blog/que-son-las-famosas-skills-en-claude-code/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/que-son-las-famosas-skills-en-claude-code/</guid><description>Si estás al día en tech en redes, o al menos lo intentas, habrás escuchado ya mil veces la palabras &quot;skills&quot;, desde personas explicando qué son y como mejora su flujo de trabajo, h…</description><pubDate>Fri, 03 Apr 2026 12:00:00 GMT</pubDate><category>AI</category><category>claude code</category><category>claude</category></item><item><title>Learn About &quot;Events&quot; in Signal Store</title><link>https://kevindavila.dev/en/blog/aprende-sobre-events-en-signal-store/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/aprende-sobre-events-en-signal-store/</guid><description>Si ya usas SignalStore con withState(), withComputed() y withMethods(), conoces bien el flujo habitual: un componente inyecta el store, llama a un método, y el store hace su trabaj…</description><pubDate>Fri, 03 Apr 2026 12:00:00 GMT</pubDate><category>Angular</category><category>signalstore</category><category>ngrx</category></item><item><title>Angular Rendering: CSR, SSR and SSG</title><link>https://kevindavila.dev/en/blog/angular-rendering-csr-ssr-y-ssg/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/angular-rendering-csr-ssr-y-ssg/</guid><description>Cuando construyes una aplicación Angular, la forma en que el HTML llega al navegador importa tanto como lo que ese HTML contiene. Afecta el SEO, la velocidad percibida, el coste de…</description><pubDate>Mon, 09 Mar 2026 12:00:00 GMT</pubDate><category>Angular</category><category>angular</category><category>rendering</category><category>csr</category><category>ssr</category><category>ssg</category></item><item><title>Angular Signals: A Recap of the Framework&apos;s Evolution</title><link>https://kevindavila.dev/en/blog/angular-signals-recap/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/angular-signals-recap/</guid><description>Angular, en su constante evolución, ha introducido uno de los cambios más significativos en su sistema de reactividad en años: los Signals. Aunque llevan ya un tiempo entre nosotro…</description><pubDate>Mon, 17 Nov 2025 12:00:00 GMT</pubDate><category>Angular</category></item><item><title>Mastering Monorepos with Nx - Part 3</title><link>https://kevindavila.dev/en/blog/dominando-monorepositorios-con-nx-parte-3/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/dominando-monorepositorios-con-nx-parte-3/</guid><description>Hasta ahora, hemos construido una base sólida: un monorepo con una arquitectura escalable y bien definida. Pero el verdadero retorno de la inversión de Nx se materializa cuando aut…</description><pubDate>Fri, 07 Nov 2025 12:00:00 GMT</pubDate><category>Angular</category></item><item><title>Mastering Monorepos with Nx - Part 2</title><link>https://kevindavila.dev/en/blog/dominando-monorepositorios-con-nx-parte-2/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/dominando-monorepositorios-con-nx-parte-2/</guid><description>En la Parte 1, creamos nuestro primer monorepo con Nx y entendimos los conceptos básicos. Ahora tenemos una aplicación store funcional, pero un monorepo no es solo para agrupar app…</description><pubDate>Thu, 06 Nov 2025 12:00:00 GMT</pubDate><category>Angular</category></item><item><title>Mastering Monorepos with Nx</title><link>https://kevindavila.dev/en/blog/dominando-monorepositorios-con-nx/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/dominando-monorepositorios-con-nx/</guid><description>¡Bienvenido/a a la serie de blogs &quot;Domina los Monorepos con Nx&quot;! Una guía práctica y progresiva para construir, escalar y desplegar monorepositorios modernos con Nx y Angular. A lo…</description><pubDate>Mon, 03 Nov 2025 12:00:00 GMT</pubDate><category>Angular</category></item><item><title>Exploring NgRx Signal Store</title><link>https://kevindavila.dev/en/blog/ngrx-signal-store/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/ngrx-signal-store/</guid><description>El ecosistema de Angular está en constante evolución, y la introducción de los Signals ha sido uno de los cambios más significativos y bienvenidos. Con ellos, llega una nueva forma…</description><pubDate>Thu, 18 Sep 2025 12:00:00 GMT</pubDate><category>Angular</category></item><item><title>Exploring Angular Signal Forms!</title><link>https://kevindavila.dev/en/blog/angular-signal-forms/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/angular-signal-forms/</guid><description>Descubre la nueva API experimental que promete simplificar y potenciar la gestión de formularios en Angular, integrándose nativamente con Signals para una reactividad sin precedent…</description><pubDate>Sat, 13 Sep 2025 12:00:00 GMT</pubDate><category>Angular</category></item><item><title>Angular 20.2: What&apos;s New and Zoneless</title><link>https://kevindavila.dev/en/blog/angular-20-2-novedades/</link><guid isPermaLink="true">https://kevindavila.dev/en/blog/angular-20-2-novedades/</guid><description>Hace poco fue lanzada la versión 20.2 de Angular, que nos trae interesantes novedades y una mirada al futuro del desarrollo con este framework.</description><pubDate>Tue, 26 Aug 2025 12:00:00 GMT</pubDate><category>Angular</category></item></channel></rss>