I'm a high-school student. It's the time of the year where we're all reminded how plain boring school is. Often, we are confined to textbook readings and brute-force memorization.
Education is an often underestimated area of concern, especially when it's where change starts. I wanted to make something that allows the ones other than textbook learners to succeed in our school system.
The goal of Drill is to make interactive learning solutions accessible, efficient, and accurate. Take a textbook or a Wikipedia page, feed it into the page, and a Drill will be ready to run in the blink of an eye! Sending the link to fellow learners allows for multiple parties to join one learning environment.
I built the front-end using the React framework styled with the Bulma CSS library. I used Illustrator to create the logo. I used Parcel to build everything into a static assets folder. I used Firebase Hosting to hook up my pages to my domain from Domain.com.
I also took advantage of Firebase Functions and Google's Natural Language API's entity and syntax analysis to break sentences down so I could turn them into questions with a single API endpoint. Firebase Realtime Database allowed me to create, store, and run Drills.
Working alone can be draining, and it comes with a lot of time pressure. It's impossible for 30-something hours to illustrate my vision for this project. The essence of the idea itself was already hard to implement in the time constraints. I had to come to peace with this and produce what I can with the time given.
- Came up with the idea in advance!
- Took advantage of Firebase Database, Storage, and Functions tools
- Didn't give up on the idea despite difficulties
- Did it by myself!
- I learned what Natural Language Processing is and how it's useful
- I learned how Firebase works behind the scenes (and the capability of the Realtime Database)
- I learned that food and breaks are necessary
- Authentication and user system for easy storing/running of Drills
- Improved algorithms (speed and accuracy) for the generation of questions
- Visual and speech recognition as input
- Uploading files as input
- Improved UX/UI
- Much more (open to feedback!)