Inspiration

Learning programming concepts like C++ can often feel dry or static. We wanted to build an interactive, hands-free "Study Buddy" that acts like a personal voice tutor—letting students learn and test their knowledge just by talking.

What it does

  • Teaches Concepts: Users can ask the skill to explain technical topics (like pointers or functions) using conversational voice commands.
  • Timed & Randomized Quizzes: Conducts 3-question quiz sessions with dynamically shuffled, non-repeating questions.
  • Performance Summary: Tracks overall session time against a 10-minute limit and provides immediate scores and duration stats.

How we built it

  • Platform & Framework: Built using Python and the Alexa Skills Kit (ASK) SDK.
  • Backend Infrastructure: Hosted and deployed via AWS Lambda.
  • State Management: Utilizes Alexa session_attributes to manage live question queues (random.shuffle & list.pop), track question count, score, and measure elapsed completion time using Python's time module.

Challenges we ran into

  • Managing State & Non-Repeating Questions: Preventing duplicate questions during a single quiz session required shifting from a static random picker to a session-backed queue using list.pop().
  • Session Timing: Implementing a robust 10-minute session expiration window alongside individual question pacing.

Accomplishments that we're proud of

  • Successfully built a complete, end-to-end voice application from scratch that handles multiple intent handlers (Launch, Teach, Quiz, Answer, Yes, No, and Fallback).
  • Clean separation of handlers allowing smooth transitions between teaching a topic and jumping straight into a quiz.

What we learned

  • Deepened our understanding of Alexa's request/response lifecycle, session state persistence, and slot management for voice UI development.

What's next for Study Buddy – Interactive Voice Tutor & Quiz Assistant

  • Integrating AWS DynamoDB for persistent user profiles and high scores across multiple sessions.
  • Expanding the question database to cover multiple difficulty tiers and programming languages like Python and Data Structures.

Built With

Share this project:

Updates

Submission history