We have a friend who suffers from dyslexia. When we all came together, we discussed ways we could help them. That is how Lectio came to be.
What it does
Lectio uses machine learning and voice recognition to assist in the detection of lexical discrepancies. It identifies areas of concern through the use of personalised learning, and helps correct and improve them through repetition.
How we built it
The front end is built with Vue.js and Tailwind.css along with libraries like charts.js and artyom.js for charts and voice recognition, respectively. For the backend, Kotlin was used with Ktor and MongoDB. The Alexa skill is hosted on AWS Lambda.
Challenges we ran into
The documentation and debugging capabilities for the Alexa Skill API is lacking in many aspects, which heavily slowed the development process. It took many hours of trial and error to create a MVP, and the experience was not ideal. Kotlin and Ktor worked very well with MongoDB for the back end, and was finished very smoothly. As for the front end, the voice recognition was difficult to get right, with background noise and inaccuracies plaguing the design.
Accomplishments that we're proud of
The MVP works well, and we surpassed many of our goals and expectations (not with the Alexa). We came expecting to create a simple and quick learning app, but we were able to do much more. We're happy that we were able to implement TTS, analytics, and the Alexa skill (ow).
What we learned
We learned charts.js and used Tailwind.css effectively, and also learned to not make Alexa skills ever again. We learned how to manage time more effectively and work more efficiently as a team to deliver a product quickly, and we had a great time overall.
What's next for Lectio
We would like to expand to Google Home (thankfully their API looks much better), a more advanced and finely tuned voice recognition system, and to give more helpful and intuitive insights to the user.