An Alexa skill that lets you study your Quizlet flashcards through voice interaction. The skill uses Google's Gemini AI to intelligently evaluate your answers, allowing for natural language responses rather than requiring exact matches.
- Visit the companion website
- Paste your Quizlet URL and get a 4-digit PIN
- Use the PIN with Alexa to start studying
- Answer questions naturally - the AI understands various phrasings
- Easy PIN-based access to Quizlet sets
- Natural language answer evaluation using Gemini AI
- Tracks wrong answers and reshuffles them for additional practice
- Provides immediate feedback on answers
- Supports conversational responses (e.g., "I think the answer is...")
- PINs expire after 24 hours for security
- An Amazon Developer Account (for the Alexa skill)
- An AWS Account (for DynamoDB)
- A Google Cloud Account (for Gemini AI API access)
- Node.js and npm installed
Create a .env file with the following:
# Gemini AI API Key
GEMINI_API_KEY=your_gemini_api_key
# AWS Configuration for DynamoDB
AWS_ACCESS_KEY_ID=your_aws_access_key
AWS_SECRET_ACCESS_KEY=your_aws_secret_key
AWS_REGION=us-east-1
# Web Server Configuration
PORT=3000
API_BASE_URL=http://localhost:3000npm installnpm startThe web interface will be available at http://localhost:3000
-
Create a new Alexa-hosted skill:
- Use Node.js as the runtime
- Choose "Custom" model
- Set invocation name to "quizlet quiz"
-
Upload the interaction model:
- Go to the "Build" tab
- Copy contents of
models/en-US.jsonto the JSON editor - Build the model
-
Deploy the code:
- Go to the "Code" tab
- Copy contents of
index.jsto the editor - Set the environment variables:
- GEMINI_API_KEY
- API_BASE_URL (your deployed web server URL)
- Deploy
-
Get a PIN:
- Visit http://localhost:3000 (or your deployed URL)
- Paste your Quizlet URL
- Get a 4-digit PIN
-
Start the quiz:
User: "Alexa, open quizlet quiz" Alexa: "Welcome to Quizlet Quiz! To start, visit our website..." User: "Start quiz with PIN 1234" Alexa: "Great! I found X flashcards. Let's begin..." -
Answer questions:
- Respond naturally to each term
- The AI will evaluate if your answer captures the correct meaning
- Wrong answers will be reshuffled for additional practice
public/- Web frontend filesindex.html- Main webpagestyles.css- Stylingscript.js- Frontend logic
server.js- Web server and API endpointsindex.js- Alexa skill logicmodels/- Alexa interaction models
- Run the web server:
npm start - Test the Alexa skill in the developer console
- Use ngrok for local testing with Alexa
- The web server uses DynamoDB to store PIN-URL mappings
- PINs expire after 24 hours
- The skill uses in-memory storage for quiz state
- Gemini AI API calls may add latency to response times
- Ensure your Quizlet sets are publicly accessible
ISC