Iris

Iris is an AI tutor built into Artemis, an open-source university learning platform for programming courses at the Technical University of Munich (TUM). It answers with hints and leading questions rather than solutions. A tool that hands students working code teaches them nothing. The approach is pedagogically sound, but nothing in the interface prepared students for it.

For my Master’s thesis, I treated the model and the pedagogy as fixed and redesigned everything around them: where students find Iris, what they meet when they open it, and what they expect before they type. I shipped the changes into the Artemis codebase and tested them there.

Designer & Developer
Solo thesis. Pull requests reviewed by Artemis developers.
February — August 2026
AI Product Design
Research
Preview
Iris / The redesigned first use experience, end to end.

An AI tutor with every advantage on paper, and almost nobody is using it.

Some introductory programming courses at TUM enroll more than 1,000 students. Tutoring groups are too large for one-on-one help, so a student who gets stuck either waits for the next tutorial slot or works through it alone.

Iris was built for that gap. On paper it beat the other AI tools students were already using. It sat inside the platform, it could see their work, and it cost nothing.

  • Has context access

    Reads the current exercise, submitted code, and test results straight from Artemis. No pasting, no explaining.

  • Built to teach

    Holds back complete solutions at every support level, which no general-purpose AI assistant does.

  • Free for every student

    No subscription required. ChatGPT’s better models cost money that not every student has.

Iris had been part of Artemis before I started. Published work on the platform had already documented low adoption without establishing the cause. One earlier study traced the dissatisfaction to the interface rather than the model, but did not specify which part of it.

  1. Bassner, Frankford & Krusche (2024). Iris: An AI-driven virtual tutor for computer science education.
  2. Bassner, Lottner & Krusche (2025). Towards understanding the impact of context-aware AI tutors and general-purpose AI chatbots on student learning.
  3. Frankford et al. (2024). AI-tutoring in software engineering education.

Ten students used the old interface and then the new one in the same session, rating each immediately after.

68 industry average4 62.3 mean 91.8 Baseline Redesign

4. Brooke, J. (2013). SUS: A retrospective. Journal of Usability Studies, 8(2), 29–40.

All students rated the redesign higher. The ratings clustered where the baseline ones had been scattered. 6 of the 10 baseline scores sat below the industry average of 68. All ten redesigned scores cleared it.

After each version, participants answered 5 questions about what Iris does, what it refuses to do, and what it can already see. 4 correct was the passing mark. The students who failed at baseline both missed what Iris is for, which is the misunderstanding the onboarding was built to fix.

Every participant used the old interface first. This means part of the gain comes from knowing the tasks the second time around. More on that in the Limitations.

Go to Limitations

So why was nobody using it?

Students who had formed an accurate picture of Iris trusted it more than general-purpose tools for exercise-specific questions. That was the finding that shaped everything after it.

Students were not rejecting Iris. Most never found it, and the ones who heard about it saw no reason to try. The few who opened it were left to work out what it was, from a help page they would not read.

I ran thirteen sessions with students in introductory programming courses: nine interviews, and four watching them use the existing interface.

Students could not find Iris

The entry point sat below everything around it, changed position between page types, and was missing from the Artemis sidebar where students orient themselves. The main interface was hidden behind a tab labeled "Dashboard," a word unrelated to Iris.

Discoverability was only half of it

  • 5 out of 9 students

    never tried Iris

They knew it existed but could not name a reason to choose it over what they already used. One described Iris as an old-fashioned chatbot that provides technical support in Artemis, rather than a coding tutor.

The ones who opened it had nothing to go on

Iris opened by asking how the student planned to approach the exercise. It did not say what Iris could do, and it suggested nothing to type. The widget on exercise pages opened with an empty input field and no suggestions.

Help existed, in the place nobody looked

An About Iris page existed. It was long and text-heavy, and those who opened it skimmed once and said they would not read it again. Every student who knew about Iris had learned about it from an instructor or an in-course introduction, never from the interface itself.

Five fixes, in the order a student meets them.

Finding it

Iris replaced Dashboard in the Artemis sidebar. Adding an entry alongside it would have been safer, but it would have left the confusing label in place.

Knowing what it is

The onboarding had one job that most onboarding does not: it had to explain a refusal before a student ran into it. Iris does not hand over answers, and a student who learns that by asking and being refused reads it as a broken tool.

For this, I used Google Gemini and Figma Make to build the first two versions quickly and tested each one informally. Both are shown below as screen recordings from those tools. The third is the Figma design I then built into Artemis.

The Figma design for the onboarding, built into Artemis

Knowing what to ask

Three chips under the input answer that by example: Learn, Quiz, Tips. Each fills the field with a prompt built from the exercise the student is on, so a student can send one without composing anything. All three are phrased as inquiry, since a chip reading "fix my code" would demonstrate the one thing Iris refuses to do.

The widget had no room for chips, so it got a cycling placeholder and ghost-text completion instead. Same job, less space.

The chips, in the full interface
The widget, where there is no room for chips

Knowing it is working

Students could not tell what Iris was doing while it worked. The thinking state existed, but it used technical labels beginners did not recognize. Rewriting them in plain language made them readable and still did not say much.

It now moves through the stages as they happen: reading the exercise, checking the submitted code, writing a reply.

Getting back to it

Resuming a past conversation meant leaving the exercise page and going back to the Dashboard. One student had given up and started a new chat every time. A dropdown in the widget header now lists chats for the current exercise, sorted by last activity.

Every objective passed. The sessions revealed things the metrics could not.

  • 10 students

    Each used both interfaces in one session

  • 3 tasks

    Understand Iris, send a first message, find a past chat

  • 2 interfaces

    Old → new, back to back in one session

Each participant worked through the old interface first and the redesign second, thinking aloud throughout, and rated each one immediately after finishing its tasks. All ten had used Artemis and Iris before, so nobody in the study was encountering Iris for the first time.

Students read the chips instead of clicking them

Participants hovered over the chips, read them, then typed their own question. Almost nobody clicked one.

I built them to save students the effort of composing a first message. What they did instead was show what kind of question Iris handles, which students used to write a better question themselves.

Low click rate is not a reason to remove them. Showing students what to ask turned out to be worth more than saving them the typing.

From chatbot to AI tutor

After the redesign, participants described Iris as a tutor. At baseline, they had called it a chatbot and a search tool.

Both participants who failed the comprehension check at baseline gained more than the group average, 65 and 35 points against a mean of 29.5.

Showing students what to ask turned out to be worth more than saving them the typing.

Everything here shipped into Artemis.

  • 20 pull requests

    Reviewed by Artemis developers and merged into main

  • 1,000+ students

    Iris reaches this many students per semester on the platform

I used Claude Code to get the designs into the Artemis repository . Building on an open-source platform meant working inside its component library, design tokens, and conventions.

Iris was not doing that. It used ad-hoc color and spacing values instead of the Artemis tokens, so before implementing anything I consolidated the colors Iris uses onto the existing token set. It now looks like part of the platform. Every new component conforms to WCAG 2.2 AA.

The Iris design assets: the light and dark colour ramps, and the buttons, stepper, card, icons and chat widget states built on them

Three things stop the study from being conclusive.

Order and facilitator effects

Every participant used the old interface first. Some of the gain is familiarity with the tasks rather than the redesign, and counterbalancing the order would have separated the two. I also designed the interventions and ran every session, so participants were rating my work with me in the room. Both are reasons to read the numbers as a ceiling rather than a settled figure.

No genuinely new users

All ten participants had used Artemis and Iris before. The measures describe how returning students respond to a new first-use experience, not how students meeting Iris for the first time respond to it. That is a real gap for a project about first use, and closing it would mean recruiting students at the start of a semester before any instructor has mentioned Iris.

Bundled interventions

The sidebar entry, the onboarding, and the prompt scaffolding were tested together. The improvement belongs to the three of them as a set, and nothing in the data says how much any one contributed. Isolating them would have required separate conditions and more participants than the study had.