Cover photo

Contract Canvas Matchmaking

So we need to share all of our data to create a good recommender system.

What if this data is our intellectual property? What if we want to keep ourselves anonymous while looking for work? What if we want to find jobs that match our resume perfectly but don’t want to give out all details, whether it’s protected IPs, NDAs, or wallet information?

I’m sure all of us on twitter have had this issue, so here’s my solution:

Let me start with some background about myself: Over the past three years, I’ve written ten blog posts that provide my insights on privacy, building communities, web3 and decentralized technology, and app development.

I saw the progress in AI technology since I started getting interested. I learned about feature engineering techniques like one-hot encoding and played with machine learning techniques like k-nearest neighbors and xgboost.

But as soon as I started deep learning with neural networks, I understood that any progress made in this field would be by one or two companies. Companies with the money to hire the smartest people in the world, build the largest data centers, and use the latest GPUs and TPUs won in this field.

Then I heard about a new technology that promised globalization through decentralization. Blockchains were the tech for the people. Proof of Work and Proof of Stake systems have been designed such that everyone does their part in keeping the network secure.

So I started learning about web3, which gives us a more decentralized approach to building for ourselves. Technology here also moves at blinding speed, but it feels more approachable thanks to the open-source ethos.

One such piece of technology that fell into the purely theoretical research field until recently is zero-knowledge proofs (ZKPs). ZKP tech grew hand-in-hand with crypto because most wanted to work with the global network while securing their details. 

You don’t need to know where I live or how much money I have in my bank to work with me, but you do need to know that I am experienced in the field to trust me and start building rapport between us. And data protection is where ZKPs show their utility.

We’re now in a time when AI companies are democratizing access to their model, and the people building zk tech have implemented it in large-scale systems. Both technologies have been battle tested, and the intersection of these is where I’m building my new app: contract canvas.

Freelancers are looking for jobs, and clients are looking to hire freelancers. But finding someone trustworthy to work with and working out a contract is still a pain that needs a solution at scale.

My proposed solution is to do some feature engineering on freelancer and client project information to extract and clean the data and then create vector embeddings using models trained on large amounts of data. We can then use cosine similarity and other matchmaking tools, like the TrueSkill rating system used in positive-sum games, to get a match rating. 

Now that we have a rating, we want to introduce clients and freelancers while keeping the data secret until they agree to work with each other. We do this by generating keys that get shared upon agreement using ZKPs. Once the work is complete, we can get feedback about the job output and update ratings for future projects.

This way, we can ensure that we’re using the latest recommendation technology, using all necessary data to find the best match while keeping personal items safe from prying eyes and nosy neighbors (hackers and competition).