Welcome to Unpuzzle, a web application designed to help students complete their Edpuzzle assignments quickly and efficiently using OpenAI's GPT-3 model. This application is built using TypeScript, Next.js, and styled with Chakra UI, with a backend implemented using Supabase and Stripe for payment processing.
unpuzzle-demo.mp4
Unpuzzle has accumulated over 15,000 users and over 80,000 Edpuzzles solved, which reflects the usefulness and value of our application to students.
Unpuzzle has several features that make it a powerful tool for helping students complete their Edpuzzle assignments, including:
- Edpuzzle integration: Unpuzzle integrates with Edpuzzle's API to retrieve assignments and multiple choice questions for students, making it easy for students to complete their assignments without the hassle of watching the video or searching for answers.
- OpenAI GPT-3 model: Unpuzzle uses OpenAI's GPT-3 model to generate unique open-ended answers for each Edpuzzle assignment, providing students with a fast and accurate way to complete their assignments.
-
Supabase backend: The app is built using Supabase, which provides a reliable and secure platform for storing and accessing user data, with real-time updates and serverless functions for easy scaling.
-
Stripe payment processing: Unpuzzle offers a subscription-based service for students, with Stripe handling the payment processing securely and efficiently.
-
Google Chrome extension: Unpuzzle offers a Google Chrome extension that simplifies the process of getting the Edpuzzle session token for students, making it easy to get started using the app. You can access it here.
To get started with Unpuzzle, follow these steps:
- Clone the repository to your local machine.
- Install dependencies by running
npm i
. - Set up a Supabase project and save your Supabase credentials, including the URL and API key.
- Set up a Stripe account and save your API keys and secret API route.
- Set up as many as 3 OpenAI accounts and save their API keys.
- Set up Google Analytics and save the ID as well as the ad client number.
- Run the development server by running
npm run dev
. - Navigate to http://localhost:3000 to view the application.
- Add the following environment variables to your .env.local file:
OPENAI_API_KEY[0-2]
: Your OpenAI API key. You can obtain a key by signing up for an account on the OpenAI website. Make sure to include this variable in your .env.local file and add the file to your .gitignore file to keep your key secure. Add all 3 keys in the aforementioned format.NEXT_PUBLIC_SUPABASE_URL
andNEXT_PUBLIC_SUPABASE_ANON_KEY
: Your Supabase API keys. You can obtain them by going to the Supabase website and setting up a project. Include these variables in your .env.local file.NEXT_PUBLIC_STRIPE_KEY
,STRIPE_SECRET_KEY
andAPI_ROUTE_SECRET
: Your Stripe keys. Again, you can get these by signing up for a Stripe account and setting up payment processing via their website.NEXT_PUBLIC_GA_ID
andG_AD_CLIENT
: Google Analytics information. These are fine to publicly expose, but we decided to add them in the .env.local for the sake of consistency. If you want to track statistics in your instance, create a Google Analytics account and find your IDs.
If you have any questions or run into any issues with Unpuzzle, please feel free to reach out to our team by opening an issue on our GitHub repository. We are always happy to help and are committed to providing a positive experience for all users of our application.