A Week-Long Journey into AI Prototyping, Feedback, and Feasibility
A short while ago, we embarked on a rapid prototyping project to explore how AI could provide contextual and timely assistance to users. What started as a one-day build evolved into a week of intense learning about development, user-centric design, and the practical realities of building AI-powered features.
Here is the complete journey.
Part 1: The Power of Lean & Fast
Our first major insight was the incredible impact of a small, focused team. We assembled a nimble group: just one product owner, one developer, and one UX researcher. The mission was to go from initial idea to a functional prototype in a single day.
And we did it! Leveraging powerful AI coding assistance from Cline and Claude Sonnet 3.7, we built out a fully functioning prototype. The stack included a React frontend, API Gateway & AWS Lambda for the backend, DynamoDB for storage, and AWS Bedrock for the AI magic, all with infrastructure spun up using AWS CDK. It was an amazing demonstration of what a dedicated trio can achieve with the right tools and a tight deadline.
Part 2: When & How AI can help
We initially envisioned AI providing feedback after students completed their work. However, focusing on our users โ young students โ highlighted that the most impactful assistance occurs during the activity itself.
This insight led us to design an AI tutor for real-time, in-activity support. But how do you ensure such an AI truly helps a young mind learn and not just get answers? To quote my ๐ค sidekick -
๐๐ณ๐ถ๐ฆ ๐ธ๐ช๐ด๐ฅ๐ฐ๐ฎ ๐ช๐ฏ ๐๐ ๐ญ๐ช๐ฆ๐ด ๐ฏ๐ฐ๐ต ๐ช๐ฏ ๐ต๐ฉ๐ฆ ๐ด๐ฐ๐ฑ๐ฉ๐ช๐ด๐ต๐ช๐ค๐ข๐ต๐ช๐ฐ๐ฏ ๐ฐ๐ง ๐ข๐ญ๐จ๐ฐ๐ณ๐ช๐ต๐ฉ๐ฎ๐ด, ๐ฃ๐ถ๐ต ๐ช๐ฏ ๐ต๐ฉ๐ฆ ๐ฑ๐ณ๐ฐ๐ง๐ฐ๐ถ๐ฏ๐ฅ ๐ถ๐ฏ๐ฅ๐ฆ๐ณ๐ด๐ต๐ข๐ฏ๐ฅ๐ช๐ฏ๐จ ๐ฐ๐ง ๐ฉ๐ถ๐ฎ๐ข๐ฏ ๐ฏ๐ฆ๐ฆ๐ฅโ๐ฌ๐ฏ๐ฐ๐ธ๐ช๐ฏ๐จ ๐ฑ๐ณ๐ฆ๐ค๐ช๐ด๐ฆ๐ญ๐บ ๐ธ๐ฉ๐ฆ๐ฏ ๐ต๐ฐ ๐ด๐ฑ๐ฆ๐ข๐ฌ ๐ข๐ฏ๐ฅ ๐ธ๐ฉ๐ฆ๐ฏ ๐ต๐ฐ ๐ญ๐ช๐ด๐ต๐ฆ๐ฏ, ๐ธ๐ฉ๐ฆ๐ฏ ๐ต๐ฐ ๐จ๐ถ๐ช๐ฅ๐ฆ ๐ข๐ฏ๐ฅ ๐ธ๐ฉ๐ฆ๐ฏ ๐ต๐ฐ ๐ด๐ต๐ฆ๐ฑ ๐ฃ๐ข๐ค๐ฌ, ๐ค๐ณ๐ฆ๐ข๐ต๐ช๐ฏ๐จ ๐ฎ๐ฐ๐ฎ๐ฆ๐ฏ๐ต๐ด ๐ฐ๐ง ๐จ๐ฆ๐ฏ๐ถ๐ช๐ฏ๐ฆ ๐ช๐ฏ๐ด๐ช๐จ๐ฉ๐ต ๐ต๐ฉ๐ข๐ต ๐ต๐ณ๐ข๐ฏ๐ด๐ง๐ฐ๐ณ๐ฎ ๐ค๐ฐ๐ฏ๐ง๐ถ๐ด๐ช๐ฐ๐ฏ ๐ช๐ฏ๐ต๐ฐ ๐ค๐ญ๐ข๐ณ๐ช๐ต๐บ.
Guided by this philosophy, our AI tutor aims to:
๐ฃ๐ฒ๐ฟ๐๐ผ๐ป๐ฎ๐น๐ถ๐๐ฒ ๐๐๐ฝ๐ฝ๐ผ๐ฟ๐: Using age-appropriate language and considering reading levels.
๐๐ฑ๐ฎ๐ฝ๐ ๐ถ๐๐ ๐ด๐๐ถ๐ฑ๐ฎ๐ป๐ฐ๐ฒ: Offering a spectrum of help โ sometimes "guiding" with direct input, other times "stepping back" with subtle hints to nudge students toward their own discovery, truly aiming to turn confusion into clarity.
๐๐ป๐๐ฒ๐น๐น๐ถ๐ด๐ฒ๐ป๐ฐ๐ฒ ๐๐บ๐ฒ๐ฟ๐ด๐ฒ๐ ๐ณ๐ฟ๐ผ๐บ ๐ฃ๐ฎ๐๐๐ฒ๐ฟ๐ป ๐ฅ๐ฒ๐ฐ๐ผ๐ด๐ป๐ถ๐๐ถ๐ผ๐ป: The most effective AI assistants don't just respond to explicit requests for help. They observe user behavior patterns and proactively offer assistance when it's most needed. Our state detection algorithms demonstrate how to analyze user interactions and make intelligent inferences about when intervention would be helpful.
Part 3: Full Stack, Full Speed
Initially, our plan was fairly standard for rapid prototyping: start with a React UI, using mock data and simulated interactions. The idea was to get a feel for the UX quickly and iterate. But with a powerful ๐ค at our fingertips, what if going full stack wasn't the bottleneck we assumed? Our AI power-duo helped get a basic end-to-end backend system, including an evaluation endpoint, running in about 30 minutes! This speed was phenomenal, but what it unlocked was even more transformative: truly rapid, multi-faceted iteration. So, while ๐ค was laying the groundwork, our team could zero in on rapidly advancing the AI's core 'thinking'.
- Live-tweaking the prompts for Claude 3.7 Sonnet, allowing us to observe immediate changes in its output and understanding.
- Putting the AI through its paces by rigorously testing its responses against a wide array of real-world student scenarios and edge cases.
- Focusing on clarity, contextual relevance, and achieving the right personalized & supportive tone for young learners.
We were able to quickly iterate over the UI and make significant design changes in real-time. We saw it make surprisingly intuitive design choices. With minimal detailed prompting from our side, it effectively implemented UI elements such as:
- Progress bars to show task completion.
- Collapsible sections for cleaner information display.
- Clearly distinguished primary & secondary buttons.
- Appropriate labels and helpful tooltips.
This hands-on, immediate testing loop allowed us to quickly zero in on key insights for the feature's effectiveness and overall UX:
- ๐๐ฎ๐ป๐ด๐๐ฎ๐ด๐ฒ ๐ฆ๐ฐ๐ฎ๐น๐ถ๐ป๐ด ๐ก๐ฒ๐ฒ๐ฑ๐ฒ๐ฑ: The AI's language had to adapt to the student's specific age and reading level for feedback to be truly effective.
- ๐๐ผ๐ป๐๐ถ๐๐๐ฒ๐ป๐ฐ๐ ๐๐ฒ๐บ๐ฎ๐ป๐ฑ๐ ๐ฎ ๐ฅ๐๐ฏ๐ฟ๐ถ๐ฐ: For the AI's feedback to be consistent and fair, it needed a detailed, binary, and scored rubric (with weighted metrics) to measure responses against.
- ๐ข๐ป๐ฏ๐ผ๐ฎ๐ฟ๐ฑ๐ถ๐ป๐ด ๐ณ๐ผ๐ฟ ๐๐ถ๐ฟ๐๐-๐ง๐ถ๐บ๐ฒ ๐จ๐๐ฒ๐ฟ๐: We also quickly recognized that for students to fully benefit from the get-go, a clear and simple onboarding flow was essential to introduce the AI's capabilities and guide their initial interactions successfully.
Part 4: The AI Tightrope: Balancing Real-Time Speed & Real-World Spend
Prototyping isn't just about cool features; it's fundamentally about feasibility. An early, intense focus on delivering real-time UX AND mastering aggressive cost control is what turns innovative AI concepts into scalable, real-world solutions.
After exploring AI tutor design and rapid iteration, today we're diving into crucial "engine room" lessons from our prototype: crafting performant, real-time AI that also respects the budget.
๐๐ฒ๐ฒ๐ฝ๐ถ๐ป๐ด ๐ถ๐ ๐ฆ๐ป๐ฎ๐ฝ๐ฝ๐: ๐๐ป๐ด๐ถ๐ป๐ฒ๐ฒ๐ฟ๐ถ๐ป๐ด ๐ฅ๐ฒ๐ฎ๐น-๐ง๐ถ๐บ๐ฒ ๐๐ โก
Users expect AI interactions to be seamless. Hereโs how we tackled this:
โข ๐ช๐ฒ๐ฏ๐ฆ๐ผ๐ฐ๐ธ๐ฒ๐๐: For that instant, conversational feel.
โข ๐๐ป๐๐ฒ๐น๐น๐ถ๐ด๐ฒ๐ป๐ ๐๐ฒ๐ฏ๐ผ๐๐ป๐ฐ๐ถ๐ป๐ด: Grouping user inputs for smoother, more contextual AI exchanges and limiting the number of messages sent.
โข ๐ง๐ฎ๐ฐ๐ธ๐น๐ถ๐ป๐ด ๐๐๐ ๐๐ฎ๐๐ฒ๐ป๐ฐ๐: Let's be real, even powerful models have thinking time. Our approach:
- Engaging UI: A fun "thinking" animation keeps users happy during brief waits.
- Streaming Responses: This is key! Users see feedback appear word-by-word as the LLM generates it, making the experience feel much faster.
๐ฆ๐บ๐ฎ๐ฟ๐ ๐ฆ๐ฝ๐ฒ๐ป๐ฑ๐ถ๐ป๐ด: ๐๐ ๐๐ผ๐๐ ๐๐ผ๐ป๐๐ฟ๐ผ๐น ๐ณ๐ฟ๐ผ๐บ ๐๐ฎ๐ ๐ญ๐ฒ๐ฟ๐ผ ๐ฐ
Evaluating AI cost wasn't just a late-stage optimization; it was a critical go/no-go metric for the feature's feasibility right from the prototype phase. To serve thousands of concurrent users effectively, the solution had to be economically viable. This early focus on cost-per-interaction drove many design choices.
The foundational "system prompt" and other bulky, unchanging context (like rubric details) are placed first and ๐ฐ๐ฎ๐ฐ๐ต๐ฒ๐ฑ. Then, only unique student work or current state is injected dynamically.
We projected 70-80% savings while maintaining (and even enhancing) response quality and consistency!
To truly understand our efficiency, we diligently measured costs on both a per-interaction basis (how much each student query costs) and an overall session basis (total cost for a student's entire engagement). This granular tracking helped us estimate the AI cost at scale.
Part 5: Build less, Learn more
With AI tools supercharging development, the art of prototyping shifts. It's not just about building fast, but critically, knowing when to stop. Crafting 'just enough' to test core hypotheses with users is vital for agile learning, preventing over-investment in unvalidated ideas, and ensuring user needs truly shape your product.
Welcome back! After diving into real-time architecture and cost, today let's talk about a subtle challenge in AI-accelerated prototyping: defining "done" for the prototype itself.
๐ง๐ต๐ฒ ๐๐น๐น๐๐ฟ๐ฒ ๐ผ๐ณ ๐๐ต๐ฒ "๐๐น๐บ๐ผ๐๐ ๐๐๐น๐น ๐ฃ๐ฟ๐ผ๐ฑ๐๐ฐ๐" ๐
Agentic Coding tools make building end-to-end features incredibly fast. But it also brings a new temptation: if you can build it all quickly, why not iron out every detail? It's easy to get sucked into polishing and adding, moving closer to a full-blown product than a learning tool.
๐ช๐ต๐ ๐ช๐ฒ ๐๐ถ๐ ๐๐ต๐ฒ ๐๐ฟ๐ฎ๐ธ๐ฒ๐ ๐
As a team, we had to consciously pull back. Why?
๐ฟ๐๐๐๐๐ฉ๐จ ๐ฉ๐๐ ๐๐ง๐ค๐ฉ๐ค๐ฉ๐ฎ๐ฅ๐'๐จ ๐๐ช๐ง๐ฅ๐ค๐จ๐: A prototype isn't meant to be a perfect, complete product. Its primary job is to facilitate rapid learning and validate assumptions quickly. Overbuilding delays this crucial step.
๐๐จ๐๐ง ๐๐๐จ๐ฉ๐๐ฃ๐ ๐๐จ ๐๐๐ง๐๐ข๐ค๐ช๐ฃ๐ฉ: We fundamentally believe in letting user feedback guide development. We needed to get something into users' hands to hear how they would actually use the feature and what they truly value โ not just build what we thought was best in a vacuum.
๐ผ๐ซ๐ค๐๐๐๐ฃ๐ ๐๐ง๐๐ข๐๐ฉ๐ช๐ง๐ ๐ผ๐ฉ๐ฉ๐๐๐๐ข๐๐ฃ๐ฉ: The more effort and detail you pour into a specific feature set before validation, the harder it becomes to pivot or even discard it if users don't respond well. We wanted to stay nimble and not get too emotionally invested in a solution users might reject.
๐๐ถ๐ป๐ฑ๐ถ๐ป๐ด ๐ข๐๐ฟ "๐๐๐๐ ๐๐ป๐ผ๐๐ด๐ต" โ๏ธ
For us, "just enough" meant building the core functionality that would allow users to experience the primary value proposition of our AI tutor. It needed to be functional enough to elicit genuine reactions and specific feedback on key interactions, but not so polished that we'd be heartbroken if we had to change major parts (or all!) of it based on user testing.
It's a continuous balancing act, but embracing this mindset keeps the "rapid" in rapid prototyping truly effective.
Part 6: Priming the prototype for user testing
Effective user testing hinges on designing tests that challenge assumptions, elicit genuine user behaviors, and provide actionable insights โ not just echo our preconceived notions. Thoughtful planning, from understanding user context deeply to strategic use of tools like feature flags, is paramount.
Welcome back to hashtag#RapidLearnings! After discussing the art of "just enough" prototyping (Part 5), today we're pulling back the curtain on how we prepare our AI-powered prototype for user experience research. The goal? To ensure we capture real insights that will guide our development.
๐๐ฒ๐๐ผ๐ป๐ฑ ๐๐ต๐ฒ ๐๐ฐ๐ต๐ผ ๐๐ต๐ฎ๐บ๐ฏ๐ฒ๐ฟ: ๐๐ฒ๐๐ถ๐ด๐ป๐ถ๐ป๐ด ๐ณ๐ผ๐ฟ ๐๐ผ๐ป๐ฒ๐๐ ๐๐ฒ๐ฒ๐ฑ๐ฏ๐ฎ๐ฐ๐ธ ๐
It's human nature to seek validation. However, user testing should be about uncovering truths. Our preparation to achieve this starts before the prototype is even shown:
๐จ๐ป๐ฑ๐ฒ๐ฟ๐๐๐ฎ๐ป๐ฑ๐ถ๐ป๐ด ๐๐ต๐ฒ ๐จ๐๐ฒ๐ฟ'๐ ๐ช๐ผ๐ฟ๐น๐ฑ ๐๐ถ๐ฟ๐๐: We prepare a list of key questions designed to deeply explore their current reality. We ask users to talk openly about:
- ๐๐ฉ๐ฆ๐ช๐ณ ๐๐ข๐ช๐ฏ ๐๐ฐ๐ช๐ฏ๐ต๐ด
- ๐๐ถ๐ณ๐ณ๐ฆ๐ฏ๐ต ๐๐ฐ๐ฐ๐ญ๐ด & ๐๐ณ๐ฐ๐ค๐ฆ๐ด๐ด๐ฆ๐ด ๐๐ฟ๐ฎ๐ณ๐๐ถ๐ป๐ด ๐จ๐ป๐ฏ๐ถ๐ฎ๐๐ฒ๐ฑ ๐ฃ๐ฟ๐ผ๐บ๐ฝ๐๐: The way we frame tasks and questions for the prototype interaction itself is crucial. We consciously create neutral prompts that encourage users to think aloud and share their genuine experiences, rather than leading them. ๐ข๐ฏ๐๐ฒ๐ฟ๐๐ถ๐ป๐ด ๐๐ฒ๐ต๐ฎ๐๐ถ๐ผ๐ฟ ๐ข๐๐ฒ๐ฟ ๐๐๐๐ ๐๐๐ธ๐ถ๐ป๐ด: What users do often speaks louder than what they say. We pay close attention to their interactions, hesitations, and workarounds within the prototype. ๐ง๐ต๐ฒ ๐ฃ๐ผ๐๐ฒ๐ฟ ๐ผ๐ณ ๐๐ป๐ฐ๐ฟ๐ฒ๐บ๐ฒ๐ป๐๐ฎ๐น ๐๐ ๐ฝ๐ผ๐๐๐ฟ๐ฒ: ๐๐ฒ๐ฎ๐๐๐ฟ๐ฒ ๐๐น๐ฎ๐ด๐ ๐ถ๐ป ๐๐ฐ๐๐ถ๐ผ๐ป ๐ฉ To isolate feedback on specific functionalities, we're leveraging LaunchDarkly for feature flagging. This allows us to start with a core experience and incrementally turn on features during a single user testing session in real-time, observing how users react to each addition without prior priming. This shows us how users organically discover and integrate them into their workflow. By investing time in this upfront preparation, from understanding user pain points to setting up robust test environments, we aim to make our user testing sessions far more insightful.
๐ง๐ต๐ฒ ๐๐ถ๐ป๐ฎ๐น๐ฒ: "๐ ๐ฎ๐บ ๐ฎ๐ป๐๐ถ ๐๐, ๐ฏ๐๐ ๐ ๐ฑ๐ผ ๐น๐ถ๐ธ๐ฒ ๐๐ต๐ถ๐ ๐ฎ ๐น๐ผ๐!"
The ultimate validation of a prototype lies in user feedback. Engaging with real users, actively listening to their concerns and aspirations, and iteratively incorporating those insights is the engine of meaningful product development. Our first round of user testing provided invaluable guidance, with one user's comment โ โ๐ ๐ข๐ฎ ๐ข๐ฏ๐ต๐ช ๐๐, ๐ฃ๐ถ๐ต ๐ ๐ฅ๐ฐ ๐ญ๐ช๐ฌ๐ฆ ๐ต๐ฉ๐ช๐ด ๐ข ๐ญ๐ฐ๐ตโ โ underscoring the potential of well-designed, user-centric AI to address real needs and even win over skeptics.
What a journey this hashtag#RapidLearnings series has been! Today, I'm sharing the exciting results and key takeaways from our initial user testing of the AI-powered prototype. It was a fantastic opportunity to see our work through fresh eyes and validate (and challenge!) our assumptions.
๐ฉ๐ผ๐ถ๐ฐ๐ฒ๐ ๐ณ๐ฟ๐ผ๐บ ๐๐ต๐ฒ ๐๐ถ๐ฒ๐น๐ฑ: ๐ฅ๐ฒ๐ฎ๐น ๐จ๐๐ฒ๐ฟ ๐๐ฒ๐ฒ๐ฑ๐ฏ๐ฎ๐ฐ๐ธ ๐ฃ๏ธ
Hereโs a snapshot of what we heard:
๐๐ ๐๐ฒ๐๐ถ๐๐ฎ๐ป๐ฐ๐: One user, new to AI, expressed a common concern about students becoming overly reliant on it for answers. This highlighted the importance of our design focusing on learning support.
๐๐ฒ๐ฎ๐ฟ๐ป๐ถ๐ป๐ด ๐ฆ๐๐ฝ๐ฝ๐ผ๐ฟ๐ ๐๐ผ๐ฐ๐๐: Encouragingly, this same user, and others, emphasized a preference for AI to provide "๐ฉ๐ช๐ฏ๐ต๐ด ๐ข๐ด ๐ฐ๐ฑ๐ฑ๐ฐ๐ด๐ฆ๐ฅ ๐ต๐ฐ ๐ข๐ฏ๐ด๐ธ๐ฆ๐ณ๐ด" reinforcing our pivot towards an AI tutor model.
๐๐ฐ๐๐ถ๐ผ๐ป๐ฎ๐ฏ๐น๐ฒ ๐๐ฒ๐ฒ๐ฑ๐ฏ๐ฎ๐ฐ๐ธ ๐ผ๐ป ๐ฆ๐๐บ๐บ๐ฎ๐ฟ๐ถ๐ฒ๐: Users liked the summary feature but wanted more critical feedback โ clear guidance on "๐ธ๐ฉ๐ข๐ต ๐ช๐ด ๐ต๐ฉ๐ฆ ๐ฏ๐ฆ๐น๐ต ๐ด๐ต๐ฆ๐ฑ?" ๐ข๐ฏ๐ฅ "๐ธ๐ฉ๐ข๐ต ๐ข๐ณ๐ฆ ๐ต๐ฉ๐ฆ๐บ ๐ฎ๐ช๐ด๐ด๐ช๐ฏ๐จ?"
๐๐ถ๐ฑ-๐๐ฟ๐ถ๐ฒ๐ป๐ฑ๐น๐ ๐๐ฎ๐ป๐ด๐๐ฎ๐ด๐ฒ ๐ฉ๐ฎ๐น๐ถ๐ฑ๐ฎ๐๐ถ๐ผ๐ป: The positive reception to the age-appropriate language confirmed a key design decision.
๐ฉ๐ถ๐๐๐ฎ๐น ๐๐น๐ฎ๐ฟ๐ถ๐๐ ๐ก๐ฒ๐ฒ๐ฑ๐ฒ๐ฑ: A valuable recommendation was to improve visual clarity by color-coding evidence and bolding key recommendations, as the current presentation felt dense.
๐ง๐ฟ๐ฎ๐ป๐๐ฝ๐ฎ๐ฟ๐ฒ๐ป๐ฐ๐ & ๐ฃ๐ฟ๐ผ๐ด๐ฟ๐ฒ๐๐ ๐ง๐ฟ๐ฎ๐ฐ๐ธ๐ถ๐ป๐ด: Users expressed a desire for more transparency around their learning journey and how mastery is being determined.
๐จ๐ป๐ฑ๐ฒ๐ฟ๐๐๐ฎ๐ป๐ฑ๐ถ๐ป๐ด ๐๐ ๐ฅ๐ฒ๐ฎ๐๐ผ๐ป๐ถ๐ป๐ด: There was a clear interest in understanding how the AI arrived at its recommendations, emphasizing the need for explainability.
๐ช๐ต๐ฎ๐'๐ ๐ก๐ฒ๐
๐? ๐๐๐ฒ๐ฟ๐ฎ๐๐ถ๐ผ๐ป & ๐๐๐ฟ๐๐ต๐ฒ๐ฟ ๐๐
๐ฝ๐น๐ผ๐ฟ๐ฎ๐๐ถ๐ผ๐ป ๐
This iterative cycle of building, testing, and learning is at the heart of rapid prototyping, and the feedback weโve received has given us a fantastic roadmap for the next phase of development.
Top comments (0)
Some comments may only be visible to logged-in visitors. Sign in to view all comments.