← projects

Smartifier

RoleDesigner, Developer & Researcher
Timeline2023–2025
Published atIS-EUD 2025 · PhD Dissertation, Politecnico di Milano

An LLM-powered conversational platform that lets anyone — with zero coding skills — design, build, and automate smart objects just by talking.

A user interacting with the Smartifier interface
The Problem

Building smart objects is still an expert-only activity.

It requires programming, electronics, and networking skills that shut out the vast majority of people. Existing End-User Development tools — IFTTT, Node-RED, and similar platforms — simplify rule creation, but none of them cover the full pipeline: from understanding what a person actually needs in their daily life, all the way to generating and deploying working firmware on a physical board.

The Solution

A conversational platform for the full IoT creation pipeline.

Smartifier walks non-technical users through the entire process — from expressing a need to flashing working firmware — through natural language conversation. The system is split into two chat interfaces: the Smart Object Builder (SOB) for device creation, and the Rule Builder (RB) for automations. The user never sees a line of code.

The five phases of the Smartifier interaction flow
My Contribution

End-to-end ownership — from research to firmware.

Interaction design

Designed the conversational strategy, the two-chatbot architecture (SOB + RB separation), and the sidebar feedback mechanism. The key design decision was decoupling device creation from behavior definition, allowing each to be refined independently throughout the object's lifecycle.

System architecture

Built the backend (Python/Flask), integrated the ChatGPT Assistants API with custom function calling, and developed the Smartifier Engine — a PlatformIO-based toolchain that compiles C++ firmware from JSON schemas generated by the LLM.

LLM evaluation

Designed and ran the technical benchmarking: 200 custom prompts across 4 categories (proper, twisted, truncated, superfluous), tested on 3 GPT models at multiple temperature values. Selected the optimal model-temperature pairing to minimize hallucinations.

User research

Planned and conducted the user study (17 participants, no ICT background), including questionnaire design (SUS, NASA-TLX, NPS) and expert evaluation of produced artifacts.

Qualitative analysis

Led the thematic analysis of all conversation logs following Braun & Clarke's framework, producing actionable design heuristics for conversational EUD platforms.

Interface Design

Two chatbots, one seamless experience.

Smart Object Builder wireframe
Smart Object Builder
Chat interfaceThe primary interaction space. Users describe daily-life needs in natural language; the LLM iteratively refines them into technical specifications through negotiation and follow-up questions.
Component choiceA live-updated sidebar showing the current hardware selection. This always-visible summary proved critical: SOB received zero confirmation requests during the user study.
Direct controlsWi-Fi credentials and object naming input. The "Generate" button is gated by these fields, preventing premature firmware compilation.
Rule Builder wireframe
Rule Builder
Chat interfaceSame interaction paradigm as SOB — natural language input, LLM-mediated output — but scoped to automation rules rather than hardware selection.
Dynamic infoUnlike SOB's static component list, this sidebar displays a context-dependent subset of existing automation rules, updated by the LLM based on the conversation topic. The lack of persistent visual confirmation led users to seek reassurance through the chat — accounting for all 10 such requests in the study.
System Architecture
Results

17 non-technical users. High correctness, low cognitive load.

>91%CorrectnessAcross all tasks — components and automation rules
84.26SUS ScoreJust below the "excellent" threshold (85)
16.65NASA-TLXVery low cognitive load on non-technical users
64.71NPSClose to excellence threshold (70)

The user study involved 17 participants with no programming or IoT background. They were asked to design smart objects and define automation rules for two real-life scenarios (plant care and smart desk) using only natural language conversation.

The system achieved high correctness in both device creation (up to 98%) and rule generation (up to 93%), confirming that LLM-driven conversation can effectively bridge the gap between everyday needs and technical IoT specifications.

Key Design Insights

Three heuristics from 17 conversation logs.

Problem framing shapes the solution.

How users describe a need ("the blinds stay closed" vs. "the plant doesn't get enough light") leads the LLM to propose fundamentally different solutions — motorized blinds vs. artificial lighting. The system should actively guide users toward precise problem descriptions.

Interface feedback reduces conversational overhead.

When the sidebar clearly showed selected components (SOB), users rarely asked the bot for confirmation. When feedback was less visible (RB), all 10 reassurance requests occurred — users resorted to natural language to fill the gap.

Context-embedded explanations build trust.

When the Rule Builder explained automations in terms of the user's daily routine ("after breakfast, press the button to start irrigation") rather than technical parameters, comprehension and perceived usefulness increased.

Paper — IS-EUD 2025, Springer LNCS ↗LLM Prompts — GitLab ↗