All projects

Master thesis · MAS in Interaction Design, SUPSI · 2019

EnviBot

A chatbot that nags you about your energy and water bills. The research question was whether nudge theory works through a conversation — and the interviews immediately made it harder, because people said they'd want a bot that doesn't make them feel watched.

Type

Master thesis, individual project

School

SUPSI, Lugano

Advisor

Ilaria Scarpellini

Output

Research, concept, mobile prototype

Two phones showing the EnviBot app: the welcome screen with the robot character, and the consumption screen behind it
"Your housebot that will help you to use your home utilities in a more sustainable way."

The question

Households are responsible for roughly half of carbon dioxide emissions, and about twenty percent of domestic electricity is wasted outright. The gap isn't willingness. It's that nobody can see a kilowatt-hour.

Nudge theory has a track record here — Opower's neighbour comparisons on utility bills produced measurable savings by doing nothing more than telling people how they ranked. The thesis asked whether the same principles work when they arrive through a conversation instead of a bill, and whether the personality of that conversation changes anything.

Not a neutral question. A bill is a document. A chatbot is something that talks back, and the moment it talks back it needs a character — a tone, a level of insistence, a decision about how rude it is allowed to be.

Five interviews

Five semi-structured interviews, audio recorded, participants aged 28 to 33 across Monza, Lugano and Kentucky, in shared flats and single ones. A small sample — worth reading as directional, not conclusive.

Three subjects came up: household utilities, food waste, and plastic packaging. Utilities won, for a specific reason. You can't see electricity or gas. Water is different: you watch it run down the drain, so wasting it feels like wasting something. Gas and electricity produce a number on a bill, weeks later, in a unit nobody thinks in.

And the thing that actually drives attention isn't the planet — it's the money. People quantify euros easily and CO₂ not at all.

Then the constraint that shaped the whole design: participants said a bot like this shouldn't be invasive, and shouldn't make them feel spied on. It should behave like a tutor that stays under the user's control. Which is an awkward thing to hear when the entire premise is a system reading your smart meter.

Table of the five interviewees: age, location, occupation, type of flat
Who was interviewed.

How the research led to concept

The five interviews delivered data, but data isn't design. The path from answers on a recording to the final concept moved through a sequence of constraints that narrowed the space of possibilities.

The first narrowing happened in the analysis. After clustering and organizing the sticky notes, three truths emerged: energy is invisible (you can't see it flow), the motivator is money, not the planet (euros are concrete, CO₂ is abstract), and people want to be helped, not watched (the interviews asked for feedback without feeling invaded). That third constraint was the hardest: it meant building a system that reads your consumption but doesn't feel like surveillance.

The personas came next, positioned on two axes: care about sustainability and care about money. But the key insight was who not to design for. The environmentalist and the chef would already move on their own. The useful target was someone unmotivated — the spendthrift who sees his bill and does nothing. If you want behaviour change, design for resistance.

Once the target was clear, the nudging strategy changed everything. Three approaches were considered: informing through feedback (precise, direct), social comparison (friendly, provocative), goal setting (serious, persistent). Each one asks a different question of the user, and each one demands a different voice. The personality wasn't decoration; it was specification. Pick the nudge, and the tone follows.

The scenarios came next — Paulo and Maria, written out as branching conversations with every possible path. This wasn't storytelling for its own sake. Writing every branch revealed what the system had to do: intercept the user, suggest an action, handle refusal with a counter-argument or a nudge without words (like a fading light). And it revealed a crucial interaction decision: the bot writes in natural language, but the user answers with buttons. That asymmetry keeps the dialogue feeling human without pretending the parser works better than it does.

The scenarios made the architecture visible: a mobile app, a voice assistant at home, a cloud bot engine, sensors, and the utility provider as the only real source of data. The information architecture followed: chat as the home, with consumption and social ranking screens branching off. The bot's face would sit in the corner of every screen, making your consumption state legible at a glance — happy, sad, or angry.

Wireframes and simulated conversations defined what actually showed on each screen: consumption tracked room by room, a monthly goal you could set, and a ranking against your neighbours (the Opower mechanic rebuilt as a game). Character sketches came next, first by hand and then refined. The face evolved from abstract experiments to something with real expressions — transparent, obviously robotic, but still readable and bondable.

This path is the thesis made concrete: a question about nudging and conversation becomes personas, becomes scenarios, becomes system, becomes interaction, becomes prototype. Each translation answered the previous one and raised the next question.

Designing for the one who isn't listening

Three personas came out of the interviews, placed on two axes: how much someone cares about sustainability, and how much they care about the money.

The emotional environmentalist already cares and doesn't need convincing. The sustainable chef is somewhere in the middle. The electrifying spendthrift has a high bill, knows his usage has an impact, and does nothing about it.

The concept was built for the third one. The reasoning is in the thesis and it's the decision I'd still defend: the other two are already sensitised, so designing for them would produce a nicer product that changes nothing. If the goal is behaviour change, the only user worth designing for is the one who hasn't asked for it.

That has a consequence. The trigger can't be the environment, because he doesn't respond to it. The trigger is money, and sustainability is the outcome smuggled in behind it. The bot opens with the bill and only later shows him what the bill means in CO₂ — the economic driver gets him into the conversation, the conversation does the rest.

Persona: the electrifying spendthrift, high economic interest, low sustainability care
The electrifying spendthrift — the one the concept targets.
Persona: the sustainable chef, medium economic interest and sustainability care
The sustainable chef.
Persona: the emotional environmentalist, low economic interest, high sustainability care
The emotional environmentalist — already convinced, so not the target.

Personality as a specification

Three nudging strategies were considered, and each one implies a different voice. Informing and giving feedback needs to sound direct, precise, reliable. Social comparison needs to be friendly, fair, a little provocative. Goal setting needs to be serious and persistent.

Writing it as a table makes personality a design variable rather than a matter of taste: pick the nudge, and the tone follows from it.

In the final concept the character went further — provocative, rough, a coach who tells you off, using bad language when it's angry. That sits in open tension with what the interviews asked for, and the tension is the interesting part of the project: a bot polite enough to feel safe may be too polite to change anything.

Strategies and personalities
StrategyPersonality
Informing / feedbackDirect, precise, reliable
Social normFriendly, fair, provocative
Goal settingDirect, serious, perseverant
Each strategy gets its own voice.

The bot talks, you tap

One interaction decision runs through the whole prototype: the bot writes in natural language, the user answers with buttons.

The reasoning is asymmetry. Understanding a sentence from a machine costs the reader almost nothing; composing one back costs real effort, and people abandon interfaces that make them work. So the expressive side belongs to the bot, and the user gets two or three taps. It keeps the conversation feeling like a conversation without pretending the parser is better than it is.

The system behind it is an IoT setup: the app and a voice assistant at home, a cloud bot engine, sensors, and — the only real source of consumption data — the utility provider. The bot can also act: turn the heating off, dim a light.

System map: user, mobile app, voice assistant, server and bot engine, smart meters, utility provider, third party services
Who talks to whom.
Experience and interaction map: the user reaches the bot by text and voice, the bot answers with text, voice, lights and sounds
Text and voice from the user; text, voice, lights and sounds back.
Information architecture: first access, home chat, consumptions, goal settings, social consumption, settings
The architecture: chat is the home, everything else hangs off it.

Two scenarios

Paulo leaves for three days. The bot reads his calendar, works out the flat is empty, and pings him on the train: shall I turn the heating off? Three buttons. "Yes" gets him praised. "I don't care" gets him a counter-question about how much money he likes to waste. On the way home, geolocation triggers the opposite offer.

Maria is in the shower too long. Here the nudge doesn't use the phone at all: the bathroom light slowly fades. She notices, and gets out. The conversation happens afterwards, on her terms — she opens the app to ask what that was about.

That second one is the best answer the project found to the "don't spy on me" problem. A fading light doesn't accuse anyone. It doesn't even use words. And because the user is the one who starts the conversation, the feedback arrives invited.

Storyboard: Paulo leaves home, receives a notification on the train, turns the heating off remotely
Paulo and the heating.
Storyboard: Maria in the shower, the bathroom light fades, she gets out
Maria and the light that fades.
  • Voice assistant, at home

    Ciao Paulo, I checked your calendar. It seems you will be away for three days. I suggest you turn the heating off.

  • On the phone, once he has left

    Ehi Paulo, I see that you left your place. Since you will be away for three days, let's turn the heating off. This way you save money and use less. Do I turn it off?

    • Yes, turn it off

      Bravo Paulo, good choice. This is a responsible way to use your heating, and a respectful one for the environment.

    • I don't care

      How can you not care? Do you have so much money to waste? Do you know how many animals are suffering for a bad use of our resources?

      • Good

        A rude hand gesture. No words.

      • Bad

        Of course. Do you know that one of the reasons is the inefficient way we use our resources? Energy, water — and heating an empty flat.

        • Tell me more

          A video.

        • I knew it

          So, I am useless :(

    • I am not leaving

      Ok. Anyway the temperature of the flat is 20°. I would suggest you turn it off in a while.

Every branch written out, including the ones where the user refuses.

Giving it a face

The character is a robot on purpose. Research on conversational agents says people want to know they're talking to a machine, while still looking for something to bond with — so the brief was a face you can read, that is obviously not a person.

It has one expressive surface: a transparent head where eyes and mouth change. Happy when you hit your goal, sad when you drift, angry when you waste. The face sits at the top of every screen in the app, so the state of your consumption is legible before you read a single number.

Worth stating plainly, as the thesis does: the final character isn't an original drawing. It's based on Orbo, a set of animated iMessage stickers from Motion Design School found online, recoloured to the app's palette with modified expressions. The earlier sketches, drawn from scratch, are on the left below.

Early hand-drawn chatbot characters and digital iterations with coloured masks
The versions that came first.
Three poses of the final EnviBot character, recoloured to the app palette
Three poses of the final character.

The app

Three things to do: check consumption room by room, set a monthly goal, and compete with the neighbourhood. The bot is present on every screen, and its face is the summary.

The social competition screen is the Opower mechanic rebuilt as a game — your rank among the neighbours, and a bot that will not let a ninth place go unmentioned.

The consumption screen: energy, water and gas as three cards, each with a week of daily bars, and the bot's face in the top corner
One card per utility, one week of bars, and the bot's face watching from the corner.
Main flow: lock screen notification, conversation with the bot, consumption screens
From notification to consumption, in four screens.
Social competition screens: ranking by energy, water and gas against the neighbourhood
Ninth place, and a bot that noticed.
A conversation with EnviBot: check your current energy consumptions, with two reply buttons
The bot writes, you tap.

Where it stopped

It stopped at a designed prototype. Five interviews shaped it and the conversation flow was tried with three people to check the branches made sense — but no usability testing was run on the final app, and nothing was measured. Whether EnviBot would change anyone's consumption is, honestly, unknown.

The thesis is straight about this in its own literature review: the research it cites on chatbots and pro-environmental behaviour reports no statistical evidence that these interfaces change what people do. The project argues the mechanism is plausible. It doesn't claim it was proven.

EnviBot was designed in 2019, before the current generation of large language models. The interaction model reflects that time: the bot wrote in natural language, but the user answered almost exclusively through buttons and predefined options. It's easy to dismiss this as purely a technical limitation — the NLP wasn't reliable enough for free-text input — but that misses something. It was also a deliberate design choice.

Constraining the user's input made the conversation predictable and manageable. It reduced cognitive load; you don't have to compose a response, just recognise which button fits your intention. The bot could handle edge cases and maintain a coherent conversation because the user's possible moves were bounded. Looking at the thesis now, that reasoning still holds up.

Today's language models change what's technically possible. I would absolutely allow the user to type freely — to say "I'm leaving town for two weeks" instead of tapping "Yes" or "No" to a bot-provided option. The parser wouldn't break. But I wouldn't swing all the way to unstructured conversation. I'd use both. Free-text input for exploration, for expressing nuance, for questions the bot didn't anticipate. Structured options for the moments where they actually help — where they reduce choice paralysis, clarify what's possible, or guide someone toward an action they'd already decided on.

The principle was sound. "Make the conversation feel natural without pretending the parser understands everything" — that's still the right goal. What changed is the technology, not the reasoning. In 2019 I was forced to choose between clunky buttons and unreliable open input. Now I could have both, used intentionally. The constraint became a feature, and today I'd keep it, just no longer as a constraint.