buidl with me!

I'm actively looking for cofounders, advisors and fellow hackers to build stuff. I may also be able to help your project as a full-stack software engineer, consultant CTO, project or product manager.

What I'm building with

  • frontend: React, Next, HTML, CSS, JS, Rails, Heroku, Figma, Bootstrap, Apollo, Stripe
  • backend: Node, Ruby, Ruby on Rails, SQL, GraphQL, Python, Jupyter, Pandas, NumPy, Matplotlib, Scikit-learn, Tensorflow
  • blockchain tools: Solidity, Truffle, Hardhat, ethers.js, web3.js, Alchemy, Infura, OpenZeppelin, web3Modal, WalletConnect, Metamask, IPFS, The Graph
  • product/project tools: Atlassian Suite (Jira, Confluence), Miro, Trello, Notion

If I had unlimited resources, this is what I'd be building

Here are some highlights of concepts I'm actively thinking about, building or have built. Reach out on Twitter or LinkedIn and come build it with me!

1. a private but interoperable personal datastore

The grand promise of web3 is an interoperable data layer, where one's information is truly self-sovereign. This is sometimes called "DeSoc". It's a grand vision but current attempts to articulate it (e.g. Soulbound Tokens) don't take privacy into account. Vitalik himself has admitted that encryption (even with zero-knowledge proofs) is not a desireable solution to the "private-but-open" puzzle, because it can eventually be broken if stored on a public immutable ledger.

There are potential alternative solutions that take advantage of economic design and architectural design, rather than cryptography. This builds upon the work of the Secure Data Storage Working Group at the Decentralised Identity Foundation - particularly their work on Encrypted Data Vaults and Decentralised Web Nodes.

A possible application of this work would be to create a lightly-permissioned network of data storage nodes where data protection rights can be legally enforced, but anyone tied to a legal entity can join the network. There are also many alternative solution spaces to explore that don't rely purely on cryptographic protection.

2. verifiable credentials for DAO governancce

One of the particular use-cases raised in the Soulbound paper from Spring 2022 was the possibility of granting governance tokens only to wallets that are "qualified" to vote in some significant sense. For example, perhaps a set of governance tokens can only be held by wallets that have provably attained some level of professional qualification or academic background.

A potential blocker to this approach is that people may not want to give unlimited disclosure of their professional and academic history. Insted of using Soulbound tokens, one could potentially design a system that takes advantage of Verifiable Credentials and Decentralised Identifiers, that keep to the core design virtues of decentralised architecture, but without the privacy violations of storing everything on-chain.

3. verifiable credentials for proof-of-personhood

Similarly, Verifiable Credentials and Decentralised Identifiers could be used to prove personhood, instead of storing your proof-of-personhood on-chain. Selective disclosure is only possible with the former and may have context-specific advantages over storing one's personhood on a public, permanent, immutable ledger.

4. sell your data to advertising networks

In the metaverse, as in the current web, advertising will be the economic bedrock of a cheap internet and wider internet access. However, the hope is that in web3, we will have transparency and control over which advertisers can see our information and how they can use it - unlike in web2. One potential application of a private, personal datastore is the ability to permission access to particular groups. One such group could be an advertising network, who would pay individuals to provide data.

If I promise to provide advertisers with my demographic information (age, gender identity, location, occupation) and interests (philosophy, streetwear, tap shoes), then it's not inconceivable that they would pay a subscription fee to me for access to this data over time.

5. a privacy layer for Lens protocol

Lens protocol is super exciting because it is the most direct expression of the promise of web3 to date. If a social network built on top of Lens takes off, then we won't have to stick with rubbish social media apps and anyone will be able to build on top of the existing infrastructure! It will be like the early days of Facebook and Twitter, when anyone could build on top of their APIs.

However, Lens currently has zero privacy protections other than encryption, which is not suitable for confidential information that needs to stay confidential over a long period of time. This would include much information stored on a social graph, or stored in messaging history.

Could we build a privacy layer on top of Lens that takes advantage of decentralised identifiers, private datastores and verifiable credentials to make web3 social information private?

6. DAO identity access management

Right now, DAOs are a massive market and will be the bedrock of much work in web3, but their infrastructure is still maturing. One weak spot is that identity access management is relatively insecure. In particular, the person with GitHub admin access could easily "go rogue" and ignore the outcome of any governance votes. One such way to prevent these bad actors would be to tie access controls to events that occur on-chain. This could apply across many SaaS tools the DAO is using and many roles the DAO needs to support.

7. Docusign wrapper to link legal contract events to smart contract events.

As web3 is becoming more legitimised, legal contracts are playing an ever-greater role - whether you're incorporating a DAO, signing an employment contract with a web3 company or the DAO filing its tax returns. There is important work done by Aaron Wright and OpenLaw who are building towards the long-term vision of legal activity occuring all on-chain, but a current problem is that the bridge between legal contracts and smart contracts is messy, inconvenient and insecure.

If a DAO offered you an employment contract with a signing bonus of 1 BTC, could you receive the bonus as soon as you sign the employment contract, rather than waiting around for your employer to send it manually? Such a solution would be more secure, more convenient and has broad application across many facets of web3 - wherever legal contracts and on-chain events are linked.

8. incorporation service for DAOs

Incorporating as a DAO is important, and will become more important over time - DAOs are getting sued and right now, US courts are judging that every member of the DAO has unlimited liability. This creates a nasty situation in which anyone who can feasibly be linked to the DAO can get the blame pinned on them and is demanded to pay up huge sums of money.

It's also important because DAOs need to clarify their tax obligations, and also enter into agreement with off-chain entities - such as when ConstitutionDAO incorporated in Wyoming in order to sign a contract of sale with the seller of the US Constitution.

Incorporating is an incredibly manual process and DAOs require unique treatment that other services (like Stripe Atlas) may not be able to provide. An automated service to incorporate your DAO, filing relevant forms and splitting equity (or equity analogues) appropriately would be incredibly valuable.

Want to hear more or just want to jam? Get in touch!


More stuff

BazCoin dApp

Something I built for fun when I was getting to grips with the web3 stack. The functionality is limited to (1) seeing who owns how many BazCoins and also (2) manually donating BazCoins to particular wallets. Underneath the hood, there's a few bits going on:

  • I set up a couple of development environments, trying out both Truffle and Hardhat to write smart contracts in Solidity.
  • Then, I used an ERC-20 template from Open Zeppelin to mint my own token, and deployed it to the Rinkeby Ethereum testnet.
  • Afterwards, I built a React frontend which communicated with a separate API built with Node & Express. The backend used Alchemy to read from, and write to, the smart contract.

Blogging dApp

Again, a highlight from when I was familiarising myself with the web3 stack - shoutout to Nader Dabit's tutorial for this.

  • I used hardhat again, but this time actually wrote some tests for my smart contracts.
  • This time I used Infura instead of Alchemy, and added in-browser authentication. Instead of connecting directly with Metamask I used web3Modal to abstract across several wallets, including WalletConnect.
  • I connected to the contract with ethers.js, but also connected to IPFS straight from the browser to read from and write to the decentralised storage network.

More to come...