CERTIFICAT

Inspiration

The goal of this project was to fulfill the core theme of this hackathon: social good. Fraudulence is a major problem in modern society, and while investigators are capable of identifying forged documents, it’s much easier to target the problem at its root: the time it is created. Associating valuable documents with NFTs offers a quick and affordable way to ensure the legitimacy of documents. However, the general public has a surface-level understanding of what NFTs are and how they are used. This app, therefore, seeks to remedy 1) fraudulence and 2) difficulty of access by providing a convenient way to create NFT-associated documents.

What it does

This project simplifies the process of associating a document with an NFT so that it is accessible to everyone. All users have to do is upload a document, type in some inputs, and press "submit".

How we built it

This project was created via GitHub Pages and designed with Figma. It uses the IndexedDB API and Mozilla’s cookie functionality to store user input, translates the input into a parsable form, then passes that input into Verbwire’s API. The user then receives four pieces of data to certify their ownership of their newly minted NFT, and ta-da: they have linked their document to an NFT.

Challenges we ran into

One major challenge was converting PDF files into images that the Verbwire API could read. After much searching–and many failed attempts, including an attempt to convert the PDF to a canvas, then to an image–, I came across PDF.js, an API native to the Firefox browser which could assist with my task. I also ran into issues with using one JS file for all the subpages of my website, because the methods I was trying–direct link, external repositories, etc.--were far from effective. Eventually, I found a very simple solution: use “..” to get the file path back to script.js.

Accomplishments that we're proud of

Everything I've learned, and all the bugs I've managed to straighten out! I would not trade this experience for anything else.

What we learned

I came across many difficulties while working with this project. While I have limited experience with GitHub Pages, I have never worked with APIs before; I took a three-hour online course just to get my bearings. I also had to learn what NFTs were and how they could be used; before this project, I’d only ever seen them in Medium articles or the like. Debugging was another persistent issue, as I was not too familiar with JQuery syntax.

What's next for CertifiCat

In the future, I’d like to implement account creation and verification using more functionalities from the IndexedDB API, as minting NFTs does cost money. If the idea proves poplar, I'd love to expand the site capabilities so that it can truly serve the general public.

Built With

Share this project:

Updates