AI

Sawadee

Sawadee is a web app that allows you to create your travel itinerary based on your preferences. The app will use AI to recommend you the best places to visit based on your preferences. The app will also recommend you the best time to visit the place based on the weather and the crowd.

Learnings:

  • LLM and how to interact with it using LangChain (templates, chains, adapters…)
  • Prompt engineering
  • Tradeoff of using industry models vs training your own model (Finetuning vs RLHF Finetuning)

CCIP Expert

  • Build time: 1 week-end
  • Repo(s): private for now

A simple LLM agent trained with the CCIP documention to answer questions about the CCIP.

Learnings:

  • LLM and how to interact with it using LangChain (templates, chains, adapters…)
  • Prompt engineering

Dapps

Credit

Credit is inspired by Timeswap V1. The protocol operates a fully decentralized, non-custodial, and gas-efficient platform. Unlike traditional systems, Credit does not rely on external oracles or liquidators. Instead, it employs the 3-variable automated market maker (xyz = k) inspired by Timeswap’s constant product AMM. This enables users to customise their borrowing and lending terms, such as interest rates and collateral to match their desired risk profile.

Learnings:

  • build a lending protocol
  • chaos engineering
  • deep dive on testing strategies
  • upgradeability
  • options derivatives
  • deploy and interact with the community (multple beta testing rounds)
  • cross-chain technologies (LayerZero, CCIP) - unfortunately not implemented in the final version
  • next.js: hooks and web3 state management… first time using next.js
  • subgraph: synthax and indexing strategies

Tech:

  • Backend: Solidity, Hardhat, AWS (Lambda, S3), LayerZero, CCIP, The Graph, Github Actions for CI/CD
  • Frontend: Nextjs, Material UI, web3-onboard

Try it here (all pools reached maturity). Reach out to me if you want to have a try.

POL Staking Wrapper

Mission for Polygon team to build a wrapper contract which validators could deploy, which allows a third party to delegate to them in POL and would handle conversions to and from MATIC transparently

NFTLender

NFTLender is a playground nft-based lending protocol. In simple world, you can deposit your NFTs as collateral. Each NFT will weight based on the floor price of the collection. With that, borrow ETH from the protocol, reimburse your loans and get liquidated 🤑.

Learnings:

  • Foundry (testing + deployment scripts)
  • Logic behing lending protocol
  • wagmi.js/react: hooks and web3 state management

Tech:

  • Backend: Solidity, Foundry
  • Frontend: React, TailwindCSS, wagmi

Try it here (no eth in the smart contract so impossible to borrow). Reach out to me if you want to have a try.

Auction Bot

  • Build time: 1 months
  • Repo(s): contracts, Telegram Bot (private), Revenue Sharing (private)

Auction Bot is a telegram bot that allows users to create and participate in auctions. The bot is also managing the revenue sharing between the creator of the auction and the participants. It uses Gnosis-style auctions (IDOs) to allow users to bid on the auction. The auction is ending when the timer is over or when the auction is fully funded. The bot is also managing the revenue sharing between the creator of the auction and the participants.

Learnings:

  • Gnosis-style auctions
  • Telegram bot SDKs (telegraf)
  • Revenue sharing logic and some backend challenges (DoS, double spend, concurrency, deadlocks, etc…)

Tech:

  • Backend: Solidity, Hardhat, AWS (Lambda, DynamoDB, S3, SQS, KMS, Fargate/Docker), Github Actions for CI/CD
  • Frontend: Nextjs, Telegram bot SDK (telegraf)

Sandwich Scanner

  • Build time: 2 weeks
  • Repo(s): library

Sandwich Scanner is on-chain data analysis tool to detect sandwich attacks. As I wanted to learn about sdk development in typescript, the core detection logic will sit in a library.

Learnings:

  • Sandwich attack detection logic
  • Create a library with typescript
  • Testing with jest with mocking
  • CI/CD with github actions

Tech:

  • sdk: Typescript, jest, ethers, axios, covalent api

Omnistaking

Omnistaking is a simple staking contract that allows users to stake their tokens and earn rewards cross-chain (last part not implemented). The contract is deployed on chains A and B and the users can stake on chain A and earn rewards on chain B.

Learnings:

  • Cross-chain development
  • Cross-chain testing

Tech:

  • Backend: Solidity, Hardhat, LayerZero

Lobster [Hackathon project]

API to onboard non-custodial users to web3. The user will be able to mint and transfer NFTs without having to create a wallet or pay for tx fees (similar to Reddit Vault).

Learnings:

  • Back-end with Express
  • Public/private key generation

Tech:

  • Backend: Solidity, Express, Postgres, ethers

Rust

On-chain smart contract analysis

  • Build time: 2 weeks
  • Repo(s): library

Script to analyze smart contracts on-chain. The script will filter all smart contract creation transactions, get the bytecode and perform a static analysis on it. The analysis is done by scrapping etherscan for verified contracts. The code has been written in Rust in a modular way to be able to add more analysis in the future.

Learnings:

  • rust concepts: async, impl, traits, lifetimes, option, result, error handling…

Tech:

  • rust lib: tokio, reqwest, ethers.rs, futures, regex, scraper