AI work · notes and projects

Sarah Aranda

I build learning tools with AI, and I write here about how they're made, including what the AI got wrong and how I caught it.

I've taught English to adult learners for over ten years, and I spent about six years in UX research, design, and product strategy. I have an MS in User Experience & Interaction Design from Thomas Jefferson University. I keep learning about AI as it changes, and I learn best by building: each real project here helped me understand and consolidate what I was learning. These posts are dated, and I add new ones as the work and the tools change.

Connect with me on LinkedIn

Personal project · Prototype

Free Talk: a personalized speaking coach for any learner

Claude CodeClaude APIDeepgramCartesia

The problem

I tutor an adult English learner at a beginner-intermediate level. We practice free conversation, often in a busy café and sometimes over video calls. In a real conversation, mistakes go by too fast to write down, and afterward she has no record of what to work on.

There are speaking apps already, but none were personalized to her: her level, her interests, and the mistakes she actually makes. So I built a prototype that listens to her side of the conversation, keeps her exact words, mistakes included, and turns them into practice she can come back to. I built it around one learner first, but it adapts to any learner's level, interests and mistakes.

Free Talk on a phone: a prompt card asking how Korean and American ideas about health differ, with useful words below
Prompt cards built around her interests
My Feedback screen with totals for conversations, corrections and cards to review, and a list of recurring patterns
Her feedback notebook and review cards
Topic editor where new interests can be added, such as K-dramas
Add an interest, get new prompts
Screen recording: a learner's answer appears in the live transcript, then her feedback notebook and a review flashcard
Live transcript and review cards (sped up)
Screen recording: the feedback page with her mistakes highlighted, corrections with explanations in English and Korean, and practice questions
Grammar check: highlights, corrections and practice (sped up)
The voice partner in conversation (with sound, press play)

The learner's name is blurred in the recordings.

Features

Free Talk is a single web page that runs in the browser on a laptop, with nothing to install.

How I used AI

I used Claude Code to build the app, and the Claude API inside it to write feedback, voice replies and new prompts. I set the requirements based on how she and I actually practice, tested each version myself, and decided what to build next.

Choosing the services

What the AI got wrong, and what I caught

  1. Its tests passed, but recording didn't work.The AI tested the app in a browser with no microphone, so its checks couldn't catch the real problem. When I tried it, nothing recorded and no error appeared. The cause was my browser's privacy settings blocking the mic. Now the app always shows a clear message when recording fails.
  2. It kept transcribing after I pressed stop.I noticed this when I tested it myself. Clicking the button again while it was still starting up launched a second, hidden recording that the stop button couldn't reach. The AI's tests had never tried an impatient double-click, which is exactly what people do.
  3. The level was too high for her.When I ran a mock session on my own, the prompts and replies felt above a beginner-intermediate learner. That's the first thing I'll change before she uses it.

Decisions I made

Skills this shows

What's next

This is a prototype. I've tested it in mock sessions on my own, and she'll try it in a real session soon. Before then, I plan to:

Keep an eye out for the next version. After her first real session, I'll share what worked, what didn't, and what I changed in a follow-up post.

Personal project

Making English practice more joyful: a library of interactive learning components

Claude CodePerplexityLanguageTool

The problem

I teach English to adult learners and build self-study learning apps they use on their own. I wanted those apps to feel more joyful to practice with, and I didn't want to reinvent the interaction every time I started a new one. So I built a repository of interactive components for myself: a tested, documented library I can browse to pick the right interaction for each new app. It streamlines how I build every learning app that follows.

Bubbles game on a phone: five phrase bubbles and a sentence card with a blank
Bubbles · Play it
Pronunciation Accuracy start screen with a privacy note about where audio goes
Pronunciation Accuracy · Try it
Grammar Check screen asking the learner to write a sentence using put off
Grammar Check · Try it

What I built

Five reusable components, each a single, lightweight web page that works on a phone:

Progressive Disclosure: a lesson section showing one sentence and a Continue reading button
Progressive Disclosure: the lesson opens one step at a time · Try it
Section Jumper: a bottom bar reading Section 3 of 11 with back and next arrows
Section Jumper: learners always see where they are · Try it

How I used AI

I used Claude Code to build and document the components, and Perplexity to research and refine the learner-facing wording. I acted as the product owner and designer: I set the rules, tested the results myself, and decided what shipped.

What the AI got wrong, and what I caught

  1. It misunderstood the game at first.The first prototype missed my idea. I described the real mechanic, one sentence at a time with five fixed bubbles, and that version worked far better on a phone, because there's nothing to scroll past while dragging.
  2. The sounds were out of sync.By ear, I noticed the reward sounds playing before the animation, one by almost a second. The AI's automated tests had passed because they only checked that the sound played, not when. We made it a standing rule: sounds fire from the animation itself.
  3. It assumed a teacher would be there.One message told learners to check with their teacher. My products are self-study, so there is no teacher. I made that a permanent design rule: every limitation must come with something learners can do on their own.
  4. Buttons were too small for thumbs.When I restated that everything must be mobile-first, an audit found four buttons the AI had already called finished that were under the 44-pixel minimum for a fingertip.
  5. The microphone tool failed silently.When I tested it, it said "Didn't catch anything." The cause turned out to be the AI's own decorative sound meter competing with the speech recognizer for the microphone.

Decisions I made

Skills this shows

What's next

Next, I'm giving Bubbles a friendlier, more playful look using Lovable, a second AI tool. I'll check that the new version still meets my standards for dragging, sound timing, and phone use. Then I'll test it with learners on real phones and compare it with the original: what they enjoy, where they get stuck, and what I'd change. I'll share what I find in a follow-up post.

I'll also keep adding to the repository as new learning apps call for new kinds of interaction. Each new component goes through the same rules and checks before it's ready to reuse.