Full Stack Blockchain Web Developer
A Brief History of Cody
I currently work at Porsche Digital Lab where I help take experimental blockchain concepts to the next level.
Before my work with blockchain related projects, I worked on various web projects in both a backend and frontend capacity. The most notable company that I did work for was Adidas, where I was working on a backend for a joint venture between Adidas and Ottobock. I have built some other neat things for smaller clients such as a care home management system where most of the work was frontend focused (though I did build the supporting backend as well).
I have been spending both my professional and personal time on ethereum based projects for the last several years. Ethereum is still quite new and finding developers with more than a year of experience in this field is rather uncommon. My experience shows in the quality/speed of my work, the solutions I offer, and my demand/pursuit for extensive test coverage when creating smart contracts.
Smart Contract Related Competencies
Implemented a delegate call proxy factory pattern for deploying multiple instances of a contract in a gas efficient manner. Took the concept further and chained delegate calls in order to work around gas limits for a huge smart contract. I have also come up with a pattern for "mass upgradeable" smart contracts. I have implemented Upgradeable contracts in one way or another for 4 different clients on different sets of smart contracts so far.
Have plenty of experience with this industry standard. I have written several audited and mainnet-deployed ERC20 token contracts. The most noteable one is BrickblockToken (BBK) which can be found on exchanges and market cap listings.
Have built a project implementing this standard. See PicsumToken on my gitbub if you are interested in knowing more.
Also very familiar with this pattern and have written different versions with different requirements.
Dividend Paying Smart Contracts
Implemented a gas efficient method of distributing dividends which was not common knowledge when implemented. I have seen a few other implementations over time, I still think the method implemented by me is the best I have seen.
Have used for random generation as well as complex API calls requiring inline assembly to parse.
Have implemented ERC20 tokens which use µRaiden for offchain token transfers. Was my reason for getting back into python.
Solidity Inline Assembly
Have gotten pretty deep into inline assembly in order to save on gas costs for smart contracts when absolutely needed. Was also needed for delegate call proxies. Have used for many other things that just cant be done with regular solidity
Merkle Tree Verification
Have used Bitcoin block root merkle hashes for verifying Bitcoin UTXOs in an Ethereum smart contract. Have a pretty good understanding on how they work. Am also currently working on creating a Bitcoin clone in Go which also requires merkle tree knowledge.
IPFS offers some very neat features that work well with smart contracts and data integrity. I Have used it for large data storage requirements for smart contracts at Brickblock and other projects. I also currently run and maintain an IPFS node.
Regarding client side work, I have extensive experience in implementing all of the things that make a progressive web app. This includes such things as offline functionality through service workers, push notifications and offline database caching. I also have significant experience with real-time database functionality along with all of the benefits and headaches that come with it. As stated above, I have experience with a wide range of frameworks, such as Vue, React, and AngularJS
Regarding server side work, I have spent considerable time building APIs using node as well as leveraging the server to create server side rendered web applications. I have quite a bit of experience with MongoDB and have a bit of experience with postgres. Lately Ethereum has been my "backend" for most of the applications I have been writing.
Currently Learning/Interested in...
State Channels, Plasma, & Other 2nd layer solutions
I have spent time looking at different state channel implementations which are an incredibly interesting topic. I have been playing around with Loom Networks DappChain lately.
Counterfactual Smart Contract Wallets, Gas Station Network, Useability in General
There are some amazing projects out right now which will enable regular users to use blockchain application without even knowing they are using blokchain. I am have been trying out and seeing how these new patterns can fit into future projects in order to further ease user onboarding.
I have started getting into rust because, one: I hear nothing but good things about the language, and two: it seems that web assembly will be playing an important role in many different blockchain implementations in the future. Having played with c++ before, I can really appreciate the benefits of using rust instead for compiling down to web assembly.
Previous Work and Pet Projects
Because of the nature of my work, I’m not able to display all of my work publicly. If you would like to see some examples or perhaps something a little more specific, please get in touch and I'd be happy to send along a few examples. You can find some projects (both personal and professional) here.