
Scripted
A language learning app based on conversational analysis.
00
Problem
Intermediate language learners improve most through real conversation, but struggle to get clear, actionable feedback on their mistakes outside of formal classes. They are largely underserved by existing language learning apps, which rely on one-size-fits-all lesson progressions and fail to accurately tailor content to a learner’s specific weaknesses or true conversational level.
Project Overview
Scripted is an AI-powered mobile app designed to support intermediate language learners by analysing their real-life conversations and turning them into personalised learning opportunities. By identifying patterns in users’ spoken mistakes, Scripted provides targeted feedback, tailored lessons, and progress tracking. It acts as an unobtrusive companion to real-world conversational practice, helping users get more value from the conversations they already have.
Language is inherently social.
Our initial problem domain for this project was focusing on intermediate language learners, stemming from our team's shared experience trying to maintain second language skills, and my personal interest in linguistics. While language learning is inherently social, many language learning apps focus on tying users to their phones with streaks and gamification. We were interested in how design could better support the real-life contexts where language is actually used—conversations with friends, family, colleagues, or tutors, supporting & recognizing the inherently social aspects of language learning, wanting to support real-life interaction rather than tying users to their phones.
Intermediate language learners feel they are underserved by traditional language learning apps.
These learners face 4 key issues:
Their real-life learning does not match a textbook progression.
Following a prescribed lesson plan too often results in redundant lessons.
They benefit most from conversational practice.
This relies on having a conversation partner available, so it's less convenient and not always accessible on demand like a language learning app.
Conversational practice does not provide comprehensive feedback.
Learners do not catch all the mistakes they make, and risk reinforcing error patterns.
Conversational practice is not as easily documented.
Learners easily forget feedback and learnings from their conversational practice, as they must rely on their memory alone.
Scripted addresses these issues by leveraging users' conversational practice data to provide comprehensive error analysis and personalized study plans.

How it works
Record a conversation.
Users press a button to record a conversation in their target language. During the conversation, the app provides support: pop-ups that give translations for words the user struggles to remember ("How do you say…?"), and live transcripts that users can refer to when struggling with auditory comprehension.
Review speaking errors.
After the conversation finishes, Scripted uses AI to analyze the recording and highlight grammar mistakes, vocabulary gaps, mispronunciations, and other areas for improvement. Users can review an overview of the mistakes they made, grouped by category.
Practice with targeted lessons.
Over time, the app identifies personal weaknesses and mistake patterns, and challenging vocabulary is added to a glossary. These are used to create personalized lessons that target the specific topics the user struggles with.
Practice with a chatbot
When conversation partners aren't available, users can have a mock conversation with chatbot. They can use it to practice for specific scenarios, such as for job interviews or presentations.
Track progress over time.
By using samples of their real-life speech to analyze their fluency level (for example, against CEFR level A1, A2, B1, etc.), the app shows users how their conversational fluency level improves over time.
Balancing support vs. unobtrusiveness
Early iterations of Scripted’s in-conversation support features demanded too much user attention, disrupting conversation flow and leaving participants feeling frustrated. Despite this, users responded very positively to the live transcript and vocabulary popup functionalities, noting that they helped conversations continue naturally—by removing the need to stop and look up words, and by supporting comprehension when more fluent speakers spoke quickly.

To resolve this tension, we redesigned these features to require no interaction from the user, allowing them to engage only when needed. The interface was also designed for at-a-distance visibility, enabling users to glance at their phone on the table rather than pick it up, preserving social engagement.
The question of gamification and user motivation
Early feedback on Scripted highlighted that the interface lacked personality and "fun" compared to other language learning apps, prompting questions around how to motivate our users. While gamification and competition are common strategies, our evaluation showed that intermediate speakers tend to be more efficiency-oriented than casual hobbyist learners. For this demographic, excessive gamification was unnecessary noise rather than a motivator — participants described aesthetics "fading away" after repeated app use.

Instead, testing participants responded strongly to progress metrics, describing a sense of motivation and “dopamine” from seeing visualisations such as the progress chart and weakness severity bars. In response, we focused on strengthening this sense of achievement by introducing clearer progress metrics and visual feedback that allow users to reflect on improvement over time, adding motivation without introducing distractions.

