Inspiration

This idea came to mind a few years ago when one of our teammates had the opportunity to intern at a government contracting firm. During his time there, he saw the amount of paper trails created to keep track of information flow and edits made, especially the hours logged to certain contracts and the time allocation. While it doesn’t seem like a big deal to the common employee, appropriately keeping track of logged hours and being able to provide an easy log of information would be helpful when government agencies come to audit work being done by government contractors.

What it does

CryptoGov is a finance organization app that helps government contractors track government contracts through the utilization of a decentralized ledger. This ensures that any and all changes are permanently tracked and able to be easily accessed, ensuring transparency and helping to build credibility and trust between the government and government contractors. Trust is one of the biggest issues that tend to come about for small scale government contractors trying to get started. Trust tends to be something fairly hard to gain and easy to lose, our system helps to provide a transparent way to provide the user credibility and build that trust when getting started off.

Accountability and trust

The sense of trust built by this program can help minority companies. By producing a secure audit of their past work, these companies can utilize CryptoGov to provide the government with a strong portfolio, helping them receive further contracts and bolster their future.

How we built it

We began work by first creating wireframes in Canva to get an idea of what exactly we wanted. This assisted a significant amount in the development since we had a general idea of how we wanted to proceed.

To build the site, we decided to split the work into two subsystems. The front-end system will be utilized by the users to easily track the development history and add hours, and the backend system integrates the beautiful UI/UX with the functional system that provides credibility and trust.

The frontend website was written in React and CSS. The project is separated into several class files, which represent both entire pages and the individual components that make them. We imported the MUI library for more powerful components and used the “react-native-linear-gradient” package to create the pleasing gradient effects used throughout the website. Our login page accepts valid Flow credentials before redirecting to the main page, from which the user may sign out at any time.

Color Schemes

Additionally, we did research to accommodate the website for colorblindness as well as we could while keeping the design cohesive. This is why the site’s use of colors is kept to a minimum, serving a primarily decorative purpose.

For the backend system that stores the contract changes and updates, we utilized Cadence to develop the smart contracts and implemented the contracts on Flow. To develop the system, the online Cadence platform was utilized for development and testing while local infrastructure and the testnet were utilized to deploy the backend system.

The entire project was developed through VS Code and IDE, using GitHub as version control.

Challenges we ran into

The backend was originally going to be written in Solidity, but technical difficulties led to the adoption of Cadence, which our backend programmer had not used before. Since Cadence was a completely unfamiliar language with a fairly heavy learning curve, development was slow enough to cause a fairly major set back in the end. It was also fairly difficult to integrate the backend system with the front-end system to get a seamless integration. In the end the two systems were not fully integrated, but we were able to adapt our prototype to still showcase our idea.

Though everyone had at least some experience with React, the frontend was more ambitious for a React project than most of us were used to. With more beginner React developers than experienced ones, we were forced to solve unique problems in React, particularly passing information through several child components at once and figuring out how to style typographies to allow for lines of text to properly separate.

Accomplishments that we're proud of

As stated before, the front end was the largest React project some of us had participated in. The backend also took a large amount of time and energy to complete. We believe few, if any, have created a hack like this.

We are also super proud about the overall progress we were able to make with the backend seeing the overall unfamiliarity with the system utilized. We believe if we had additional time this system could be implemented at a significantly higher level with more security privileges.

What we learned

From this hackathon, we learned a lot about time management and breaking up the tasks into smaller and more manageable parts. Furthermore, we learned a lot about building low-fidelity prototypes to help ensure everyone is on the same page. We also learned a lot about implementing APIs and technologies we are not as familiar with.

Since three of our members were first-time hackers there definitely was a significant learning curve which made starting development a little slow. Also, the learning curve for crypto was fairly interesting since it required a lot of real-time learning of the systems.

What's next for CryptoGov

We want to build on CryptoGov and look into getting some stakeholder feedback to understand its true applicability in the field. Furthermore, we hope to be able to improve on the system and integrate OAuth systems such as Google Firebase to ensure

Share this project:

Updates