## Inspiration

This idea came to us while thinking of a way where everybody will feel included in the programming community. People with disabilities, arthritis and RSI makes it difficult for people to program doing it the traditional way with mouse and keyboard. Our software allows voice as a medium to allow users to code their ideas into a reality and allowing a new way to learn and enjoy coding.

## What it does

It uses NLU using DialogFlow to communicate with Google Assistant which turns speech into a coding line.
Talk2Code is a platform that enables everybody to feel included in the programming community. Currently, the traditional process of programming with mouse and keyboard is very difficult for people with disabilities, arthritis and RSI. This software allows voice as a medium to allow users to code their ideas into a reality and allowing a new way to learn and enjoy coding. The platform leverages Google's Natural Language Understanding(NLU) using DialogFlow, communicates with Google Assistant, and utilizes a Node.js server to parse the speech that is processed through Dialogflow into code.

## How we built it

We used used dialog flow for the front end. Once dialog flow figures out what type of code is it and the parameters associated with the code. It send an api request our node server where each line is code line is processed (if required) and concatenated.

## Challenges we ran into

Creating the compiler to turn the human English language into javascript was harder than it seems.

## Accomplishments that we're proud of

Being able to create a simple program using your voice. The program is generated from natural language understanding

Sample program

users says: make x equal 100
returns: x = 100

users says: make planet equal mars
returns: initialize planet = Mars

users says: if var1 greater than var2
returns: if (var1 > var2)

## What we learned

-how to use node.js
-using a nlp processing engine, Dialog Flow

## What's next for Talk2Code

Due to time constraints, we had to had to limit the functionality for this hack. We would like to continue to integrate the items listed in challenges. Afterwards, we would like to improve the nlp engine by creating a bigger dataset to dialogbox. One software Architectural design we could have improved is have seamless processing and generating code as you are talking.

Our goal for for Talk2Code would be to become a new opensource platform where programmers all around the world can come together and help contribute to this codebase.
## Inspiration

Software engineering and development have been among the most dynamically changing fields over the years. Our voice is one of our most powerful tools, and one which we often take for granted - we share ideas and inspiration and can communicate instantly on a global scale. However, according to recent statistics, 3 out of 1000 children are born with a detectable level of hearing loss in one or both ears. While many developers have pursued methods of converting sign language to English, we identified a need for increased accessibility in the opposite way. In an effort to propel forth the innovators of tomorrow, we wanted to develop a learning tool for children with hearing impairments to accelerate their ability to find their own voice.

## What it does

Our Sign Language Trainer is primarily designed to teach children sign language by introducing them to the ASL alphabet with simple words and effective visuals. Additionally, the application implements voice-to-text to provide feedback on word pronunciation to allow children with a hearing impairment to practice speaking from a young age.

## How we built it

The program was built using node.js as well as HTML. We also made a version of the web app for Android using Java.

## Challenges we ran into

The majority of our team was not familiar with HTML nor node.js, which caused many roadblocks during the majority of the hack. Throughout the competition, although we had an idea of what we wanted to accomplish, our plans continued to change as we learned new things about the available software. The main challenge that we dealt with was the large amount of learning involved with creating a website from scratch as we kept running into new problems that we had never seen before. We also had to overcome issues with hosting the domain using Firebase.

## Accomplishments that we proud of

While also our largest challenge, the amount of content we had to learn about web development was our favorite accomplishment. We were really happy to have completed a product from scratch with almost no prior knowledge of the tools we used to build it. The addition of creating a phone app for our project was the cherry on top.

## What I learned

1. Learned about node.js, HTML, and CSS
2. The ability to understand and structure code through analysis and documentation
3. How to cooperate as a team and brainstorm effectively
4. GitHub was new for some members of the team, but by the end, we were all using it like a pro
5. How to implement android applications with android studio
6. How to fully develop our own website

## What's next for floraisigne

If we were to continue this project, we would try and add additional hardware to exponentially increase the accuracy of the solution. We would also implement a neural network system to allow the product to convert sign language into English Language.
## Inspiration

As more and more people embrace the movement toward a greener future, there still remain many concerns surrounding the viability of electric vehicles. In order for complete adoption of these greener technologies, there must be incentives toward change and passionate communities.

## What it does

EVm connects a network of electric vehicle owners and enables owners to rent their charging stations when they aren't needed. Facilitated by fast and trustless micropayments through the Ethereum blockchain, users can quickly identify nearby charging stations when batteries are running low.

## How we built it

Using Solidity and the Hardhat framework, smart contracts were deployed to both a localhost environment and the Goerli testnet. A React front-end was created to interact with the smart contract in a simple and user-friendly way and enabled a connection to a metamask wallet.
A Raspberry Pi interface was created to demonstrate a proof of concept for the interaction between the user, electric vehicle, and charging station. While the actual station would be commercially manufactured, this setup provides a clear understanding of the approach. The Raspberry Pi hosted a Flask server to wirelessly communicate data to the web-app. An LCD display conveys the useful metrics so the user can rest assured that their interaction is progressing smoothly.

## Challenges we ran into

This was our first experience in the blockchain development space. Not only learning the syntax of Solidity, but gaining an understanding of the major underlying blockchain concepts made for a steep learning curve in little time. Configuration with Hardhat did not go smoothly and required a great deal of debugging.
Integrating the hardware with the web-app and smart contracts through the Flask REST API required extensive testing and modification.

## Accomplishments that we're proud of

Building our first dApp was a huge accomplishment in itself. Our ambition to connect two of the most rapidly emerging fields, IoT and Blockchain, sparked new creativity in areas that are still very complex and unknown.

## What we learned

We not only learned how to write and deploy efficient smart contracts to the Ethereum network, but also saw how they can be integrated into user-friendly web-apps. Building EVm also provided us an opportunity to develop modular, low-level software by learning more about interrupt-driven design as well as various serial communication protocols.

## What's next for EVm

We look forward to deploying the smart contracts on actual blockchain networks. To improve transaction times and minimize gas fees, layer 2 chains will be explored to host the project in the future. Extensive testing and refactoring will be done to augment the security and efficiency. Reaching out to industry leaders to make the product more viable will be essential for its adoption.