Inspiration

Everyone on the team has been part of a second language class. While our teacher's study program of choice has always been online flashcards. Using them study produces a dissonance between what terms are being typed and the muscle memory which is supposed to kick in when handwriting the language.

What it does

Papyrus uses a back-end neural network to merge the benefits of online and on-paper studying; the flexibility and accessibility of a mobile device with the better memorization provided by physical responses.

How we built it

Using Octave, we modeled a neural network framework to train our neural network which used backpropagation to classify characters. The trained model was then ported to run on Python on a back-end server. For the app, we used Flutter to design an application for Android devices to achieve the flexibility needs of our solution.

Challenges we ran into

The dynamic UI of the Flutter application proved to be challenging. Furthermore, it was our first time using HTTP to facilitate communication between Flutter and Python. In addition, there was six separate frameworks of the neural network before we decided on the final version. Particularly, original design only had a single hidden layer, and figuring out the math required to implement a second layer was a very challenging aspect.

Accomplishments that we're proud of

The functioning cooperation between Flutter, Python, and neural networking in general. Most of all, the neural network we trained made did not use any pre-made libraries; we figured out the math all for ourselves and implemented backpropagation accordingly.

What we learned

Tips and tricks on addressing over or underfitting in a neural network, particularly, how many layers there should be and with what sizes. Also, learning to randomize the examples used for training.

What's next for Papyrus

Hosting a neural network on the cloud gives the advantage of training said network on user data. In the future, we hope to expand our solution to encompass such a possibility. In addition, the ability to share or make duplicate study sets of other users.

Built With

Share this project:

Updates