# Don't Dis My Ability

## 💡 Inspiration

Post pandemic has seen a tremendous surge in people's inclination towards solo traveling and "workstation" and the era of solo traveling has also experienced a rise in specially-abled solo travelers stepping out and exploring the world. In researching the solo travel experiences and issues faced by specially-abled travelers, we identified two major problems faced by the people which are:

i) Getting Money and Using The ATM- Even after carrying sufficient local currency, many specially-abled travelers are bound to use the ATM at least once to retrieve cash and in situations like these, many travelers have to either reach out to a fellow traveler or a staff member of accommodation and trusting them with sensitive banking information.

ii) Difficulty in ordering food- Travelling to countries with diverse cultures is often reflected in the diverse variety of dishes available and this can often cause a problem of not knowing what to eat especially for a specially-abled person having vision and hearing impairments.

## 💻 What it does

To make solo travel convenient for specially-abled people we bring to you "Don't Dis My Ability" a web app working on ensuring a smooth and easy-going solo travel experience for the differently-abled people. The website uses Google Vision API for OCR implementation to retrieve the necessary information which is then converted to speech for ease in understanding. The information retrieved is also converted to required language. This also ensures the screen reading technology is not being fooled and only focuses on necessary information making the process of ordering food at a restaurant simplified for the specially-abled traveler. The web app also allows micropayment to bypass the hassle of making visits to the ATMs and sharing sensitive banking information with strangers for help by allowing direct payment from native currency via payment gateways.

## ⚙️ How we built it

* Figma: For design
* DeSo: For user authentication
* React.js: For frontend
* Python: For backend
* Google Vision API: OCR
* Payment Gateway: Razorpay API (It provides lots of features like UPI, direct payment from native currency etc.)
* Text to Speech: react-speech-kit
* For multilingual: i18n

## ✈ Travel Track

Our team embarked on a journey to create an adaptive user interface for specially-abled people that made it easier for them to use technology whenever they travel abroad. We spearheaded the project by creating a platform that allows users to:

* Upload the menu and extract the information from it
* Convert the extracted text from the menu into speech
* Allow micropayments to be made using Razorpay
* Classify the food as vegetarian or non-vegetarian
* Get nutrition information about the food, such as its ingredients and its calories
* Change the language of the website to the user's preferred language

## 📚 Research

Research is paramount to gaining a full understanding of the user and their needs. Beyond our own experiences, we needed to dig deeper into the web, outside of our network, and find both organizations that could shed light on how better to help our targeted users as well as to conduct research into other similar applications or products. This was crucial to avoid re-inventing the wheel and wasting valuable time and resources. Here are a few of the resources that were helpful to us:

* <https://www.narayanseva.org/blog/10-problems-faced-by-people-with-disabilities>
* <https://www.sagetraveling.com/25-things-that-can-go-wrong-traveling-with-a-disability>
* <https://www.digitalartsonline.co.uk/features/interactive-design/how-design-websites-for-disabled-people-in-2017/p>

## 🤝 Most Creative Use of GitHub

We are using GitHub for the following reasons:

* **Collaboration**: GitHub makes it easy to share code with others and helps a lot in collaboration.
* **GitHub Project**: We also used GitHub for planning and keeping track of our project and its progress with the help of the GitHub project management tool.
* **Implementing the CI/CD workflow**: GitHub makes it easy to implement the CI/CD workflow and makes the deployment process easy.
* **Deploying the project**: Deploying the project on GitHub helped us to get the project deployed on the network to be accessed by other people.
* **Using PRs and Issues**: We are doing multiple PRs and building multiple issues to keep on track of the project.

## 🔐 Best Use of DeSo

We are using **DeSo** to make a secure user authentication. DeSo is the first Layer 1 blockchain custom-built for decentralized social media applications.

## 🌐 Best Domain Name from Domain.com

* dontdismyability.tech

## 🧠 Challenges we ran into

Due to the difference in the time zone it was a bit difficult to collaborate with other developers in the team but we managed to get the project done in time.
Complete the project in the given time frame.

## Accomplishments that we're proud of

Our team embarked on a journey to create an adaptive user interface for specially-abled people that made it easier for them to use technology whenever they travel abroad. We spearheaded the project by creating a platform that allows users to:

* Upload the menu and extract the information from it
* Convert the extracted text from the menu into speech
* Allow micropayments to be made using Razorpay
* Change the language of the website to the user's preferred language

## 📖 What we learned

* Collaboration with other developers.
* Implementing the payment gateway and google cloud

## 🚀 What's next for Don't Dis My Ability

* Building a mobile app for the project.
* Simplifying the process of accommodation by providing a proper description of rooms, advancing eliminating the graphic capture and overcrowding of webpages, following international standards on color contrasts, etc.
* Using NLP and ML to simplify the whole travel experience on the data being retrieved using vision AI API
## Inspiration

The anonymity of cryptocurrencies is a blessing and a curse. One of Bitcoin's major shortcomings is its usefulness in criminal activity. Money laundering, drug sales, and other illegal activities use Bitcoin to evade law enforcement. This makes it hard for legitimate people and businesses to avoid dealing with criminals and their dirty (aka tainted) currency.

## What it does

BitTrace analyzes a Bitcoin address's involvement in potentially illegitimate transactions. The concept of marking an entity as 'tainted' has existed for a long time in many cryptocurrencies, but there is no easy way to track the flow of tainted money. When given a Bitcoin address, BitTrace painstakingly scans its transaction history, looking for dealings with tainted addresses. It then scores the target address based on its previous dealings. This allows the community to quickly build a crowdsourced map of bad actors.

## How I built it

We built our app in Expo and React Native. It connects to a backend written in NodeJS and Express, which calculates the taint level of a given address. It does this using BlockTrail and BlockCypher. We also maintain a separate MongoDB database of taint values in MLab (hosted in Google Cloud Platform), which allows us to record more detailed data on each address. Our server itself is run on Azure, which we chose for its speed, reliability, and ease of use.

## Challenges I ran into

We were very inexperienced with React Native and even more inexperienced with Expo. We had no idea how to accomplish simple effects like gradient buttons. Luckily, with the help of Expo's excellent documentation, we were able to overcome most issues.

## Accomplishments that I'm proud of

We have a very clean UI. We're proud of the cross-platform compatibility, speed, and reliability we were able to achieve with Expo/React Native. Our algorithm, which is highly optimized for a large network of transactions, is stable and fast.

## What I learned

We learned a huge amount about using React Native and Expo. We also learned much about analyzing transaction records on the blockchain.

## What's next for BitTrace

We want to add support for more currencies, like Ether and LiteCoin. We also want to show a more detailed analysis of an address's transactions (we already generate this data, but do not show it in the app).
## Inspiration

What inspired us was we wanted to make an innovative solution which can have a big impact on people's lives. Most accessibility devices for the visually impaired are text to speech based which is not ideal for people who may be both visually and auditorily impaired (such as the elderly). To put yourself in someone else's shoes is important, and we feel that if we can give the visually impaired a helping hand, it would be an honor.

## What it does

The proof of concept we built is separated in two components. The first is an image processing solution which uses OpenCV and Tesseract to act as an OCR by having an image input and creating a text output. This text would then be used as an input to the second part, which is a working 2 by 3 that converts any text into a braille output, and then vibrate specific servo motors to represent the braille, with a half second delay between letters. The outputs were then modified for servo motors which provide tactile feedback.

## How we built it

We built this project using an Arduino Uno, six LEDs, six servo motors, and a python file that does the image processing using OpenCV and Tesseract.

## Challenges we ran into

Besides syntax errors, on the LED side of things there were challenges in converting the text to braille. Once that was overcome, and after some simple troubleshooting for menial errors, like type comparisons, this part of the project was completed. In terms of the image processing, getting the algorithm to properly process the text was the main challenge.

## Accomplishments that we're proud of

We are proud of having completed a proof of concept, which we have isolated in two components. Consolidating these two parts is only a matter of more simple work, but these two working components are the fundamental core of the project we consider it be a start of something revolutionary.

## What we learned

We learned to iterate quickly and implement lateral thinking. Instead of being stuck in a small paradigm of thought, we learned to be more creative and find alternative solutions that we might have not initially considered.

## What's next for Helping Hand

* Arrange everything in one android app, so the product is cable of mobile use.
* Develop neural network so that it will throw out false text recognitions (usually look like a few characters without any meaning).
* Provide API that will be able to connect our glove to other apps, where the user for example may read messages.
* Consolidate the completed project components, which is to implement Bluetooth communication between a laptop processing the images, using OpenCV & Tesseract, and the Arduino Uno which actuates the servos.
* Furthermore, we must design the actual glove product, implement wire management, an armband holder for the uno with a battery pack, and position the servos.