About
I am a software developer currently working in a technological centre in Spain.
I primarily focus on front-end, smart contract and subgraph development, crafting intuitive user interfaces and decentralised applications, although I also have a strong background developing machine learning models, zero-knowledge circuits and back-end applications.
My technical skills include:
- Blockchain: design and development of smart contracts written in Solidity with Hardhat and Foundry, as well as in Vyper with Brownie.
- Subgraphs: implementation of subgraphs and indexation of contract data with TheGraph.
- Front end: development of user interfaces with React components in TypeScript, using usually Next.js or Vite, and also have basic knowledge of Svelte. I use JavaScript Web3 libraries such as Ethers.js, Viem or Wagmi to implement Web3 interactivity. I manage application state with Redux and Redux Toolkit, and generally use the GraphQL language to consume data from subgraphs.
- Back end: expericence in using Express.js in order to manage server and API routes in Node.js, and Flask when using Python. I also have knowledge of MongoDB to manage databases.
- Zero-knowledge: implementation of zero-knowledge circuits in Circom language, as well as trusted setups and generation of witnesses, proofs, verifiers, etc., using SnarkJS.
- Machine learning: knowledge of parametric and non-parametric modeling in supervised learning, Deep Q-Network in reinforcement learning and of clustering and PCA techniques in unsupervised learning. I have experience implementing and optimizing feed-forward and convolutional, as well as recurrent (LSTM and GRU) and recursive networks. I usually code in Python and primarily use libraries such as Scikit-learn, XGBoost, LightGBM, PyTorch and Keras.
- Data science: exploratory data analysis using mainly the Pandas, Numpy, SciPy, Matplotlib and Seaborn libraries.
I try to uphold engineering best practices, both in terms of design and security patterns. I have knowledge of developing applications using hexagonal architecture, and of coding modular smart contracts, also using upgradeable contracts and the ERC-2535 diamond pattern.