## Inspiration

Each of us uses speed reading tools on the daily for online news articles and such, so it's always been a pain transitioning to printed media. We wanted a tool that would enable us to read as efficiently as we do online, in real life.

## What it does

This program recognizes words on a physical page using nothing but a phone's camera. It displays it back to you rapidly, word by word, in order to prevent you from reading the word out loud in your head. There's a lot of research behind this speed reading technique, and it can result in crazy fast comprehension speeds.

## How I built it

It's all client side, including "uploading" and all of the algorithms we used to segment words and process the image. All in vanilla Javascript, using no external libraries.

## Challenges I ran into

We wanted to submit this to Datto's 4K, and keeping the project small turned out to be the hardest part of this project. Coming up with algorithms that were short and space efficient (no, not memory, but rather characters of source code!) was an interesting creative challenge. It was also hard figuring out how to iterate the words in the proper order -- left to right, top to bottom. In the end, we managed to figure it out.

## Accomplishments that I'm proud of

The algorithms we implemented worked! We didn't use any external resources to figure out how to solve the problems we needed to. Building this project under the space constraints we were under was a tremendous learning experience and a fascinating puzzle. We wanted a challenge, and we conquered it.

## What I learned

We taught ourselves a lot about the intricacies of processing textual images. We saw firsthand how frustrating it can be to teach computers to perform the simplest of tasks. Once we figured out how to locate words, it literally took us six plus hours to figure out how to list them in order. Real world images are noisy and bendy and not at all nice to work with... but we did it.

## What's next for Reedr

We had plenty of ideas that we didn't have the time or space to implement: ways to improve the speed reading process, other algorithms to segment words, etc. Also, there are a bunch of general usability improvements that would make this much better for users.
## Inspiration

Mental Health Alphabet was inspired by the impact the pandemic has on the population. Since it is the first pandemic in tens of years, everyone is trying to adapt to the new environment and ways of doing. For example, College and University students had to transition from in-person classes to online classes. Going from walking on school grounds everyday to staring at computer screens all day, we know for a fact that that transition had a negative impact on the students’ mental health. We decided to create this project to raise awareness on mental health.

## What it does

Mental Health Alphabet is a web application that allows people to educate themselves about different types of mental health conditions. We made it in a fun interactive way to make people feel comfortable learning about that subject. Mental Health Alphabet provides resources from healthcare professionals for people in need, such as helplines and links to other websites. We also included a quiz that allows people to estimate their mental wellbeing.

## How we built it

We built Mental Health Alphabet using HTML, CSS, Javascript and Python (Flask). We used Figma to get a rough draft of the layout of our webpage and used Procreate to draw images by hand. Throughout the process, we were actively communicating while live coding using Live Share.

## Challenges we ran into

The biggest challenge we ran into while creating our project was certainly our lack of coding skills. Only one person from our team had major knowledge about HTML/CSS and Javascript. The other three members only knew Python and a little bit of Java. Because of that, the majority of the team had to learn new programming languages in a span of 36 hours.

## Accomplishments that we're proud of

McHacks is three of our members’ first hackathon. We were constantly putting ourselves out of our comfort zone by coding in a language that we were unfamiliar with. Collaborating and dividing tasks were productive because each member was working on a development area that they were more skilled in. After finishing the easy part, it was time to learn how to code in a new language that three other students rarely used before. We were disoriented, however we got adapted to the new language very quickly and were able to write many lines of codes. With that, we are all proud of our first hackathon project.

## What we learned

We have learned a lot about mental health conditions and stumbled upon very interesting information that we didn’t know prior to the hackathon, such as learning what kleptomania is. Since we had members who were fairly new to programming, as a team, we learned a lot about new web development languages. We also got familiarized with the connection between front-end and backend. This event allowed us to discover the use of more advanced features like integrating our code with frameworks and gave us a good insight on what we can achieve through coding.

## What's next for Mental Health Alphabet

Mental Health Alphabet has a great future ahead. We plan on adding more words to our dictionary and more defined quizzes to make our website even more educative and interactive.
## Inspiration

Other apps exist that estimate how long it takes to read a book, but they make the calculation based on an assumption that the average reading speed is 300 WPM. However, since reading speed can vary a lot depending on what you’re reading, it makes more sense to calculate it based on an average of individual responses rather than assuming a base speed of 300 WPM.

## What it does

This application prototype stores a database of books along with the time it took each reader to finish them. A user can look up a book's average reading time (which is literally the average of all responses for a given book), add their own time to the database, or add a book if it is not currently in the database. Although we were not able to fully implement a lot of these features, the basic prototype is still there.

## How we built it

Using Javascript, React.js, and a few additional modules installed from npm.

## Challenges we ran into

One of the biggest challenges was finding a way to link all of our pages together, given that we all had limited experience using React.js. Another challenge was we were all just learning React for the first time so it was challenging to find a way to create what we wanted while also finding out the method to accomplish it using React. Trying to use different environments for this project, such as VSCode and WebStorm, was also a challenge. We ran into issues with getting initially set-up, with trying to push and pull correctly, and merging with branches without losing all our work.

## Accomplishments that we're proud of

It was a lot of fun (with some struggles) learning to use React.js, which offers so many possibilities. We are very proud of how we worked as a team, we were always understanding of each other, listened to each other’s ideas and everyone was willing to help if anyone ran into technical issues or was not sure how to do something. We were all very patient with each other and were always on the same page, which made the experience very fun.

## What we learned

This was our first time using React and for some of us our first hackathon/first time using Git! We learned to use React Components, Bootstrap, Routers (well mainly Arjun, god bless his soul). All of these concepts combined, we were able to create a web application with multiple pages, each offering different functionality. We also learned how to manage a single project with multiple authors via GitHub by pushing onto our own branches, and merging everyone’s work in the end.

## What's next for Average Reader

After nwHacks, there are ways we can improve our Average Reader App to include more functionality on the backend.