DevFest Milano 2026

Saturday 10 October 2026, Randstad Box, Via San Vigilio. My third DevFest Milano in this building, and the first one from the front of the room: at half eleven, in the Coworking track, Stefano Soriano and I gave AI On-Device — Cooking from your fridge with Gemini Nano, MobileCLIP and Gemma, the story of AI Pantry, the Android app we built to look inside your fridge and suggest what to cook tonight, without a single photo ever leaving the phone.

Around it, a whole day of DevFest Milano, put on as every year since 2024 by GDG Milano and GDG Cloud Milano together, and with one theme this time: the year AI stops just answering and starts acting. Four tracks in parallel from nine to a quarter past six — Nexus, Coworking, Workshop, and a Secret Track held around one long meeting table — a handwritten sign pointing the way to all four, a neon sign in a red window nook, and a LEGO minifigure with the Duomo on its t-shirt.

250+people there on the day
40+talks and workshops
50+speakers
4tracks running in parallel

Three DevFests at the Randstad Box

The same building three autumns running: twice in the audience, and this year with a microphone.

  1. 2024 Milano, Randstad Box 23 November, 276 signed up — in the audience
  2. 2025 Milano, Randstad Box 11 October, 365 signed up — in the audience, and in the group photo from a drone
  3. 2026 Milano, Randstad Box 10 October — on stage with Stefano Soriano: AI On-Device

AI On-Device

The talk opens with a question: what happens when you decide to run all of your app's AI on the phone itself? No cloud, no API keys, no photos of your users' kitchens sitting on somebody's server. The answer is AI Pantry — you photograph the fridge and the pantry, the app recognises the ingredients, remembers what you have and writes a recipe out of it — and the talk is the honest version of how it got built: not just the architecture that works, but the two that did not, and what each of them cost.

Me, a couple of minutes in

From the second slide to the third: the question, and the app that answers it — scan the fridge, get dinner, 100% on-device.

I took the first half: why on-device at all — privacy before anything else, since no server ever sees the photo, there is no data processing agreement to sign, no retention policy to worry about and no log to leak; then resilience and cost, because a fridge is often where the signal is worst and every cloud call is paid for again by every user, every day — and chapter one, Gemini Nano. Stefano took it from Gemma onwards.

Five chapters and a bonus

  1. Gemini Nano, via ML Kit GenAI — the obvious choice: already in the operating system, multimodal, one Gradle dependency and zero megabytes in the APK. Except that it runs only on the latest flagships, not on the phones most people actually own. So: an upgrade, never the base, and checkStatus() before every single call.
  2. One model to rule them all: Gemma 4 E2B — bring your own open model and ask it both to look at the fridge and to write the recipes. It worked: correct ingredients, valid JSON, real recipes. It also took 5–10 minutes per scan on a Pixel 7, because a photo becomes hundreds of image tokens to prefill before the first word, and then every word is decoded one token at a time through two billion parameters.
  3. Zero-shot detection with MobileCLIP-S2 — recognising ingredients does not need a model that writes, it needs one that compares. "Is this an orange?" becomes a cosine similarity, and the classifier becomes a text file of hand-picked labels. Same phone, same photo of the fridge: minutes → seconds.
  4. Where the LLM earns its place — Gemma comes back for the one job no vocabulary can do, writing the recipes, text only this time: two-stage prompting, defensive JSON parsing with silent retries, 15–25 tokens a second.
  5. Distribution — every model travels differently: Gemini Nano costs zero megabytes, MobileCLIP's ~140 MB ride inside the APK, and Gemma's 2.6 GB go through Play for On-device AI as AI packs.
  6. Bonus, after the credits: EmbeddingGemma 2 — Google DeepMind's new on-device embedding model, released four days earlier and built on Gemma 4, open under Apache 2.0, shown on the app's hidden page where every task's model can be picked by hand.

The closing slide fitted in one line: before asking how to make a model faster, ask whether it is the right model.

The cover of the AI On-Device talk page: the AI Pantry icon, the title and Cooking from your fridge with Gemini Nano, MobileCLIP and Gemma
The whole talk, on its own page

AI On-Device, slide by slide

All the slides with our speaker notes, the real screens of the app, the demo recording and every photo from the room — to read as a document or to play as a presentation, in Italian or English.

  • 29 slides
  • speaker notes
  • demo recording
  • 22 photos

My half: why on-device, and Gemini Nano

The host introducing the AI On-Device talk in front of the title slide, Salvatore Matrisciano and Stefano Soriano waiting on the right, someone in the front row photographing the screen

Being introduced, phones already up for the title slide

The Coworking room seen from the side during the talk, rows of people facing the two speakers

The Coworking room, at half eleven

The slide asking what happens when you run all of your app's AI directly on the phone, with Salvatore Matrisciano speaking beside it

"What happens when you run all of your app's AI on the phone?"

The AI Pantry slide, scan the fridge and get dinner, with the app on a phone

AI Pantry: scan the fridge, get dinner

The slide on resilience and costs: works without internet, no round-trip to the server, cloud cost grows with use, on-device flips the cost

Resilience, and the cloud bill

Salvatore Matrisciano and Stefano Soriano in front of the AI On-Device title slide just before the talk

Two of us, one title slide

Salvatore Matrisciano speaking in front of the AI On-Device title slide

"Today we are telling you a story. A true one."

Salvatore Matrisciano in front of the slide on why on-device: no server sees the photos, no DPA, no retention, no logs

Why on-device: privacy, first of all

Salvatore Matrisciano speaking with the microphone against the navy wall, Stefano Soriano beside him with his hands clasped

Mid-sentence, against the navy wall

Salvatore Matrisciano explaining with the microphone in hand while Stefano Soriano waits beside him against the navy wall

Explaining, with Stefano waiting for his turn

Stefano's half: from minutes to seconds

Stefano took the part where things went wrong and then right: the prompt that asked Gemma to look at the fridge and answer in JSON, the arithmetic of prefill and decode that made it crawl, the text file that replaced it, and Gemma coming back to do the one thing only an LLM can. Near the end, the phone itself went up on the screen.

Stefano Soriano in front of the slide with the Kotlin prompt asking the LLM to identify the ingredients in the photo as JSON

Chapter two: ask the LLM to look, and to write

The app's hidden page mirrored on the screen, with a model to pick for every task, while the two speakers watch

Live: the hidden page, a model for every task

Questions

The last slides were a Grazie with both our faces on it and the link to the code, and a QR code for feedback on the talk. Then the microphone went round the room.

Stefano Soriano answering a question with Salvatore Matrisciano beside him and the Grazie slide behind them

Questions, under the Grazie slide

Salvatore Matrisciano answering a question in front of the Grazie slide

At the Grazie slide, my turn again

AI Pantry app icon
The app behind the talk is AI Pantry: its page has the full architecture, how a 2.6 GB model gets onto a phone without an in-app download, the GPU/CPU fallbacks — and a screen recording of the whole flow, from a photo of the fridge to a mushroom risotto. The code and the slides, in Italian and English with speaker notes, are on GitHub.

Neon, LEGO and stickers

The Randstad Box again: the co-working space a few minutes from Famagosta, on the green line. Before nine the corridor was already full, and there was a neon DevFest Milano sign glowing in the four Google colours, a table covered in stickers — Gemini, Google Cloud, the DevFest artwork — and a coffee corner with the edition chalked on a blackboard. At nine the welcome slide put the date, the venue and the two chapters on the screen, and the day split into four rooms.

A neon DevFest Milano sign with red, blue, green and yellow brackets on a red wall

DevFest Milano, in neon

A large LEGO minifigure wearing a DevFest Milano 2026 t-shirt with the Duomo on it, on a table by the window

A LEGO minifigure, Duomo on the t-shirt

A table covered in stickers: Gemini, Google Cloud and the DevFest artwork

Gemini, Google Cloud, DevFest: take a few

The corridor of the venue full of attendees with backpacks before the first talks

The corridor, before nine

An organiser opening the day in front of the DevFest 2026 slide: Milano, 10 October 2026, Randstad Box, GDG Cloud Milano and GDG Milano

Welcome: 10 October 2026, Randstad Box

Two volunteers at the coffee corner in front of a blackboard with DevFest Milano 2026 chalked on it

The coffee corner, edition chalked on the board

The morning, in four rooms

Half nine, four rooms at once. Tomas Piaggio opened the Coworking room with multimodal RAG on Gemini and Firestore, "oltre il testo"; in Nexus, Matteo Gazzurelli asked what is left for developers when agents write the code — and his slide for the answer was the specification. The Secret Track had no stage at all, just a meeting table with laptops open on it, for Fabio Biondi on generative UI. Before the coffee break, Alfredo Morresi from Developer Relations at Google had a team of AI minions taking orders over Discord, and Balazs Horvath reported on giving AI twelve weeks to build the perfect employee. At half eleven, while we were starting, the Secret Track was on bug bashes and the workshop room was designing AI agents like Ford's assembly line; right after us, in our room, came a talk on becoming a founding engineer.

The Coworking room filling up for the talk Oltre il testo, on multimodal RAG

"Oltre il testo": multimodal RAG, first slot of the day

A speaker in the Nexus room beside a slide reading La specifica è il punto di leva, with current state, requirements, constraints and verification

"The spec is the lever"

The Secret Track: people around a long meeting table with laptops, the speaker at the head of it

The Secret Track: one long table, laptops open

Alfredo Morresi in a yellow t-shirt beside his introduction slide

Alfredo Morresi, and his AI minions

A speaker beside the slide We gave AI twelve weeks to build the perfect employee

"We gave AI twelve weeks to build the perfect employee"

The Secret Track room during The Bug Bash Playbook, the speaker standing at the end of the table

The Bug Bash Playbook, in the same half hour as ours

A workshop host pointing at a diagram on a large screen titled Start with the business problem, Requirements and UX

Designing AI agents like Ford's assembly line

The Coworking room seen from a red window nook outside it, with someone on a laptop in the nook, the DevFest Milano neon sign and a handwritten sign pointing to Nexus, Coworking, Secret Track and Workshop

Right after us, same room: the founding engineer, seen from the window nook

The afternoon: agents, everywhere

After lunch the agents got specific. Emmanuele Villa took an Android app from prompts to production with skills and MCP tools, with NASA's Astronomy Picture of the Day as the API to build against; Andrea Alberto did agentic commerce with Milano Centrale as the proving ground; Francesco Montelli put a natural-language interface over an observability stack, on the grounds that an incident does not speak PromQL. Then the security end of it — Seif on managing AI security posture with the Secure AI Framework, and AURA, a risk framework for autonomous agents whose answer to an action nobody should take blindly is a box that says HOLD — and to close, a talk on why protocols are the real infrastructure of AI, while the workshop room built AI-native web apps until a quarter past six.

A speaker in the Coworking room in front of a slide titled What is APOD, NASA's Astronomy Picture of the Day

An Android app from prompts to production, on NASA's picture of the day

A speaker in a blue polo beside a slide titled The Proving Ground: Milano Centrale

Agentic commerce, tested on Milano Centrale

A speaker in a yellow jacket beside a slide titled Raccoglie, standardizza, instrada

"The incident doesn't speak PromQL": collect, standardise, route

A speaker pointing at an AI Security Posture Review slide on a large touchscreen

AI security posture, on the big touchscreen

A speaker pointing at a slide where an agent's action needs a decision and a box reads HOLD, verify the recipient

AURA: when an agent's action needs a decision, HOLD

A speaker in a yellow hoodie beside a slide titled Different decade, familiar integration problem

"Different decade, familiar integration problem"

A workshop host beside a screen reading Start now: three things, with a Wi-Fi QR code and a prep page

"Start now: three things" — the last workshop

Salvatore Matrisciano and Stefano Soriano in a group of eight people, one of them holding a LEGO One Piece ship box

With Stefano and the others, late afternoon — plus a LEGO One Piece ship

A year earlier I was in the audience at DevFest Milano 2025, and the talk before this one was Inside Android at droidcon Berlin 2025. Everything about the app is on the AI Pantry page.

DevFest Milano 2026 by GDG Milano and GDG Cloud Milano, Randstad Box, Via San Vigilio 5, Milano, 10 October 2026. AI On-Device, with Stefano Soriano, 11:30, Coworking track.