🏛 Inspiration

Learning languages is really hard and going on platforms like Duolingo can be fun for a while, but not very fulfilling as reading a book or watching a movie. This frustration with learning is often what drives a lot of people to slow their learning or even quit learning altogether.

🔎 What it does

Speaksmart is a platform that supports a large collection of these entertaining reads, with the capability to add any PDF file. The platform automatically calculates and sorts by a readability score and aggregates useful links, webpages, and information on difficult words and keywords in the text that you're reading, making your learning experience more seamless and effective.

🚧 How we built it

The front end is built in React, SCSS and HTML, allowing for a fast workflow and solid results. Firebase was used for the backend as it is extremely fast, simple, and effective for getting projects like hackathon submissions off the ground running. Figma was used for the modern design and .svg files used in the final webpage.

The DCP API was used to help generate difficult keywords and a readability score for each book's parsed text on all our PDFs in parallel, allowing us to have a wide array of readable content. We computed the readability/difficulty scores using the dale-chall readability formula. The Wikipedia API was used to help gather the useful information for each keyword on the page.

🛑 Challenges we ran into

  • Authenticating Firebase
  • The impossibility of using other hooks inside effect hooks
  • Finding a variety of books to add in different languages

✅ Accomplishments that we're proud of

Creating the product in the span of 24 hours was extremely impressive for us, as we've previously never worked on anything so nice in such a short timespan. Although the platform might look simple on the surface, there are a lot of complicated gears and inner-workings going on underneath the hood.

💡 What we learned

  • Setting up an easily-parallelized workload to compute on a distributed platform like that of DCL's
  • Deploying a workload with DCP
  • Rapid prototyping with Firebase
  • Custom React hooks & their usage
  • Firebase collaborative workflow
  • Rendering HTML as text in React

💭 What's next for Speaksmart

  • Aggregate more sources
  • Improve homepage UI
  • Implement automatic translation
Share this project: