Xavi Portilla

Xavi Portilla

@xavidop.me

👨🏻‍💻 Gen AI, Cloud. Author. Infra @voiceflowHQ & Core @GenkitFramework | GDG & GDE | Microsoft MVP | Github Star | AWS Alexa Champion & CB | Startup mentor

2.3K followers60 following381 posts

Dash follows your teams in every competition they play: league, cups, Champions League, national team. Playoff brackets for NBA, NFL, NHL, MLB and the European knockouts appear only while they're on. Open source, MIT, PRs welcome ⭐ buff.ly/jf4xfPe

Cooking mode 🍝 Paste a recipe link or say "let's make carbonara for two": ingredients to tick, one big step at a time, timers from the steps, and hands-free "next" / "repeat". Plus six recipe ideas a day that can fill your shopping list. buff.ly/jf4xfPe

Say "Dash" and ask anything. Built on Gemini 3.8 Realtime: it answers out loud, searches Google, knows your teams, calendar and weather, and handles your shopping list, timers, reminders and notes. Only connected while you talk, ~half a cent a question. buff.ly/jf4xfPe

When your team is playing, Dash drops everything: a full-screen live board takes over (football, MLB, NBA, NFL, NHL, tennis, F1), and when you score you get a full-screen celebration 🎉 Rivals score? Just a small toast. buff.ly/jf4xfPe

Meet Dash 👋 An open-source ambient smart display for a wall tablet or kiosk: weather, calendar, news, markets, live sports, Spotify with synced lyrics and a "Hey Dash" voice assistant powered by Gemini 3.8 Realtime. Node + TypeScript, 6 languages. buff.ly/jf4xfPe

senro, a modern pipeline engine in Go (@golang.org), can build the run itself. From your repo: one step per project, read from the layout you already have (Go workspaces, Cargo, npm, Maven, Bazel). A step can add steps mid-run, one per resource after an infra plan. github.com/xavidop/senro

mamori isn't just secrets — it watches feature flags too: LaunchDarkly, Unleash, Flagsmith, ConfigCat, Split, GrowthBook, Flipt, GO Feature Flag. Typed flags in your Go config struct, reconciled at runtime, validated before every swap. #golang

Every mamori provider is just a Provider, so decorators nest freely: Cache to cut API cost, Failover to a replica, RateLimit twitchy backends, Audit every access (never the payload). One interface, so it all composes. #golang

Secrets leaking into your Go logs? mamori's secret.String renders as [REDACTED] in fmt, JSON, and slog. Only Reveal() exposes the value — greppable in code review. A shipped go vet analyzer flags sensitive refs stored in plain strings. #golang

What does your config do at runtime? mamori + OpenTelemetry: resolve-duration histograms, refresh & error counters, a span per resolve. The bridge implements tiny Meter/Tracer interfaces — the core stays OTel-free, or write your own sink (Prometheus, statsd). #golang

Honoured to be renewed as a Microsoft MVP for a third year for Microsoft Foundry! Excited to keep learning and building Thank you! 💙 #MicrosoftMVP #MicrosoftFoundry

Diamond's web app: Vite + React 19 + TypeScript + Tailwind v4 + TanStack Query + Recharts. The API Explorer lets you hit ANY MLB Stats API endpoint with live params + a raw JSON viewer, basically Postman for baseball. ⚾ #React #MLB

My favorite architecture bit in Diamond: ONE set of 18 MLB tools powers everything: • web DiamondGPT (Genkit + Express) • the in-terminal CLI chat • the diamond mcp server Write the tool once, expose it three ways. #Genkit #golang

DiamondGPT is a Genkit Agent (ai.defineAgent) with an InMemorySessionStore, so it remembers the conversation between turns. One agent core, models swappable at runtime: Gemini, Claude or OpenAI. #Genkit #AI

diamond mcp turns the CLI into an MCP server over JSON-RPC (stdio), exposing 18 live MLB tools, the exact same ones DiamondGPT calls. 3 lines of config and Claude Desktop or Cursor can query the MLB Stats API. Built with Genkit Go. #golang #Genkit #MCP

How does Diamond ⚾ draw bar charts, spray charts & strike-zone heatmaps inside a terminal? Pure Go + the Charm stack: Bubble Tea for the event loop, Lip Gloss for layout & color, Glamour for Markdown. No browser, no GUI, just ANSI. #golang #TUI

Meet Diamond ⚾, a top-tier MLB stats platform I built. The MLB app ate up space and the stats were... meh. So I built my own: live scores, standings, leaders & deep player profiles. On the web AND in your terminal. 🌐 diamond.xavidop.me 🧵 A bit on how it's built 👇

View full thread

3/ Both the web app and the CLI are powered by the latest Genkit Agent feature 🤖 DiamondGPT answers plain-English baseball questions by tool-calling live MLB data. One agent core, two front ends, swappable Gemini / Claude / OpenAI.

Meet Diamond ⚾, a top-tier MLB stats platform I built. The MLB app ate up space and the stats were... meh. So I built my own: live scores, standings, leaders & deep player profiles. On the web AND in your terminal. 🌐 diamond.xavidop.me 🧵 A bit on how it's built 👇

1/ The terminal app is pure Go 🐹 A full, rich TUI built with Bubble Tea: scores, standings, stat leaders (yes, bar charts in your shell), player & team comparisons, postseason, draft... all keyboard-driven. brew install xavidop/tap/diamond #golang

2/ My favorite part: the CLI ships its own MCP server. diamond mcp exposes 18 live MLB data tools over the Model Context Protocol, so you can drop them into ANY agent platform (Claude, Cursor, your own). Your terminal app becomes an AI tool provider.

I’m super happy to share that I’ve officially been approved for my 3rd Google Developer Experts category! This one is especially unique for me: Go. Over the past years, I’ve been contributing more and more to the Go ecosystem, especially around AI, Genkit, cloud-native development.

I just released genkitx-temporal! A new Genkit plugin to run Genkit flows as Temporal Workflows, bringing durable execution, retries, timeouts, cancellation, scaling, and Temporal UI visibility to your GenAI apps. buff.ly/5itGbp5

Nozomi Koborinai and I have updated Mastering Genkit, Go Edition to use Genkit 1.7.0 and Go 1.26. We also refreshed the Middleware chapter, which now uses Middleware V2, making the examples more aligned with the latest Genkit APIs and patterns. 📖 Check it out here: buff.ly/kQ0Yehe

mastering-genkit.github.ioMastering Genkit: Go EditionMaster the art of building AI with Genkit and Go. This guide takes you from the basics of setting up your development environment to advanced topics like RAG systems, AI agents, and production…

All set for Google Cloud Next here in Las Vegas! 🚀 Excited for a few days of learning, building, and connecting with amazing people in the ecosystem. Who else is coming? 👀 Ping me in DMs, would love to meet up!

If you want to get started with Genkit, this is the perfect place to begin!

✨ New video is live! This one explores a powerful open source framework from Google + brilliant maintainers like Xavier. Check it out and share your questions below — excited to discuss with you all! ❤️ https://lckhd.eu/qc41rp #GenKit #GenerativeAI #SDK #Google #Agents

Grateful to everyone who came to my talk yesterday on Genkit at the European GenAI Summit! 🙌 It was amazing to see so much interest, curiosity, and great conversations around building the future of AI. Thanks for the energy, the questions, and for making it such a fun session!

I’ve been using Genkit a lot in JS and Go, and honestly, the dev experience is :fire:, local dev tools, great abstractions, smooth workflows for building AI apps. At some point I thought: Java really needs this. So I went ahead and ported the whole ecosystem to Java: buff.ly/SiEay79

Big update for the Genkit Java ecosystem 🔥 We’ve launched a brand new website for Genkit Java: 👉 buff.ly/SiEay79 And we’re introducing Claude Code Skills to help developers build faster and smarter with Genkit Java: 👉 buff.ly/jXwnJe5 Give it a try and let us know what you think 💡

🚀 Nuevo evento en GDG Madrid 📅 9 de abril 🕕 18:00 – 21:00 📍 Impact Hub Alameda Únete a una tarde de workshops hands-on con tecnologías de Google + networking con la comunidad. 💻 Importante: trae tu portátil 🎟️ Regístrate aquí: buff.ly/JvmmVQE Nos vemos allí 👀

gdg.community.devGoogle Technologies Workshop & Networking Evening | Google Developer GroupsIn-person Event - Únete a nosotros en el "Taller de Tecnologías de Google y Noche de Networking" este 9 de abril en el Impact Hub Alameda ...

Who said Genkit only works on Google Cloud? 👀 New post: Running Genkit on AWS Lambda with the Bedrock plugin. Typed flows. Streaming support. Zero-boilerplate Lambda handlers. One-line model swaps between Amazon Nova, Claude, and more. 📖 buff.ly/qSp6UFq