Inspiration
One of our team members, Cameron, teaches English in Korea and was interested in developing a tool for himself and his coworkers to make their lives easier.
What it does
- The index page explains the function of the application to the user and provides a button to send the user to the form.
- The form page allows the user to provide input on the type of worksheet they would like to generate based on:
- Grade level
- English ability
- Vocabulary list
- Question type
- Fill in the blank
- Definition matching
- Multiple choice
- Synonym
- Antonym
- Once the form is submitted, a call is made to the OpenAI API to generate a random worksheet in a visually pleasing format as a .pdf file.
- The user is routed to a download page where they may preview the generated .pdf and download or print it out if they wish.
How we built it
We used Flask and HTML to gather user input about the type of worksheet that should be generated and the grade and ability level of their students. Then, we used Python to make a call to the OpenAI API, and by feeding the user inputs into a prompt, we asked it to generate a worksheet. We used the API response to export to a pdf which the user may view and print or download. Finally, we used Bootstrap to style the website and deployed it using Heroku.
Challenges we ran into
- Git, always Git
- Flask syntax
- Connecting the frontend and backend
- Inputting the ChatGPT response into a .pdf and allowing the file to download locally to the user’s computer
- Working out deployment bugs
Accomplishments that we're proud of
- deploying a full application
- working with technologies unfamiliar to us like Flask and Bootstrap
- making an API call and working with OpenAI
- learning more about how to use git collaboratively
What we learned
- Keep track of all required packages in a requirements.txt file
- Be very specific in prompting ChatGPT
- We gained a more solid understanding of how to use git
- Beginning to understand server and routing functionality
What's next for Vocabulary Worksheet Generator
- Develop forms for various subjects
- Move from Bootstrap to Tailwind CSS to give more control and customization
- Using DALL-E, or other image generation, to incorporate matching vocab words to AI generated images
- Output document in a more readily editable file


Log in or sign up for Devpost to join the conversation.