Inspiration

We drew our main inspiration from the ongoing news and fears that users have surrounding their private information. This also boils back to our own team's personal fears as well about our data security and potential data leaks during computations.

What it does

Lockerism applies HE to the data passed to the model for recommended profiles output that have similar content to those the user has interacted with, making up the stimulated FYP. It also untilises zero knowledge proofs on blockchain to verify the usage of the content-based filtering model on the data at little cost. Lockerism uses a 2 pronged approach whereby HE is used for data privacy and the blockchain component is used to verify the model.

How we built it

Our main tech stack uses Next.js for the frontend and Flask with RESTFul APIs for the backend along with ML. We also used Metamask as our Web3 service provider with xkSync Era for the zero knowledge proofs.

** Development Tools

  • VSCode (IDE): Used for writing and managing code.
  • Postman (API Testing): Used for testing and verifying API endpoints.

** APIs Used

  • Internal APIs: Developed within the project to handle video recommendations and health checks.

**Assets Used

** Libraries Used ** Backend Libraries

  • Flask: A lightweight WSGI web application framework in Python used for building the backend server.
  • numpy: A fundamental package for scientific computing with Python, used for numerical operations.
  • pandas: A data manipulation and analysis library for Python, used for handling and processing the dataset.
  • scikit-learn: A machine learning library for Python, used for training the recommendation model.

** Frontend Libraries

  • NextJS: A React framework for building server-side rendered and static web applications.
  • MUI Components: A popular React UI framework that provides pre-designed components for building user interfaces.
  • ethers: A library for interacting with the Ethereum blockchain and its ecosystem.
  • web3: A JavaScript library for interacting with the Ethereum blockchain, used for integrating blockchain functionality.

Challenges we ran into

The main challenge that we had was integrating all the blockchain elements into our existing ML model and frontend in a seamless manner.

Accomplishments that we're proud of

Overall, we are proud to have built a project that aligns with our passion in blockchain and has a use case that we all feel is impactful as well.

What we learned

Our main takeaways would be to stick to our interests and passions because that would really be the fuel for our project and proved to be what made us stick out till the end.

What's next for Lockerism

One additional feature that we thought about having was to integrate differential privacy mechanisms to provide an additional layer of privacy. This would align strongly with our use case as well.

Built With

  • fastapi
  • metamask
  • next.js
  • python
  • zksync
+ 22 more
Share this project:

Updates