Ilan Lenzner
Ilan LenznerCreative Technologist · Design Engineer
What I said to my robot vacuum

There is dirt near the left window, not far from the carpet. Can you clean it up?

Heading to that spot by the carpet now!→ clean_zone

I gave my robot vacuum a brain.

It worked out which spot that was, drove over, cleaned it, and came back. No room numbers, no menus - just a description, the way you'd say it to a person.

PythonClaude (LLM)Flask Local-first IoTNatural-language UIAny language
The dashboard: live map, controls, part life, schedules

The moment it clicked

The vacuum already knew everything - a full map of my home, where every room is, even where the rugs are. It was all just locked behind an app. Hand that to a language model and you stop issuing commands: you describe a place the way you would to a person - in English, בעברית, Spanish, whatever you happen to think in - and it figures out the rest.

Real run, nothing staged. I describe where the dirt is - "near the left window, not far from the carpet" - it works out which spot that is, drives over, cleans it, and returns to the dock. The middle of the trip is sped up; watch the path draw itself on the map.

What it does

An app I actually own

Everything the official app does, plus the things I always wished it did - shaped exactly the way I live.

Talk to it in your language

It answers in whatever language you write in - tested in English, Hebrew, Spanish, French, German and Russian. "Clean rooms 2 and 3." "מה שלום הפילטר?" The AI turns intent into action.

It knows where things are

The map gives it the real layout - which room is where, and even where the rugs are. So "the spot by the carpet" is something it can actually find and clean.

Tap the map to clean a room

Your real floor plan, rooms colored. Touch a room and it cleans just that room - no menus.

Instant & sleep-proof

It connects over my home network, so it answers in a fraction of a second - and never "falls asleep" the way the cloud does.

Schedules & automations

Auto-clean at set times, "send it home when I leave," part-life tracking, and a Telegram bot - all optional, all mine.

The map

Rendered from the robot itself

The live floor plan is decoded straight from the vacuum and re-drawn to match the interface - soft rooms, walls, the cleaning path, and the robot's position. Then it becomes the control surface: tap to clean.

Rendered floor-plan map with colored rooms

How it works

A language model as the interface

The pattern is simple, and it generalizes far beyond vacuums: connect to the device, and let an AI translate between human words and machine commands.

Browser dashboard
  │ "clean the kitchen"
  ▼
Claude — turns intent into a structured action
  ▼
Controller ──► LOCAL connection on my Wi-Fi (fast, sleep-proof)
        └─► CLOUD as a fallback + for the map

Engineering note: the "it keeps falling asleep" fix

The biggest annoyance with cloud control is that a docked robot goes to sleep and stops answering. The fix was to talk to it directly on the local network, where it stays reachable - it auto-discovers the vacuum's address and falls back to the cloud only when needed. Faster, and reliable.

The bigger picture

Personalization you build, not wait for

For years, a device meant its official app - one experience, the same for everyone. That's changing. When a device can share what it knows and an AI sits in the middle as a translator, you can shape your own interface, your own automations, your own assistant - in an afternoon. The wild part is how approachable it's become: a few hundred lines, an open-source library, and a modern AI model. This is just one vacuum. The same idea fits almost anything with a plug.

Mobile view of the dashboard

Everywhere

Works on the phone too

Same dashboard, responsive down to the phone - so it's there when I walk out the door and want to send it home.