Skip to content
View tenderdeve's full-sized avatar
🐆
Chasing dreams
🐆
Chasing dreams

Block or report tenderdeve

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
tenderdeve/README.md

DeFi frontend engineer — trading UIs, liquidity dashboards, on-chain data viz.

I build the frontends people use to trade, lend, and manage positions in DeFi.
React / Next.js + TypeScript + Tailwind, with ethers.js + wagmi + subgraphs underneath.
I care about performance, accessibility, and numbers traders trust with real money.

┌─ now ─────────────────────────────────────────────┐
│  shipping     DeFi frontends                      │
│  available    yes — freelance                     │
│  response     ~24h                                │
│  reach        @tenderdeve                         │
└───────────────────────────────────────────────────┘

· · ·   SKILLS   · · ·

React
React
Next.js
Next.js
TypeScript
TypeScript
Tailwind
Tailwind
Vite
Vite
Redux
Redux
Storybook
Storybook
Ethereum
Ethereum
Solidity
Solidity
Ethers.js
Ethers.js
Viem
Viem
Wagmi
Wagmi
Foundry
Foundry
Hardhat
Hardhat
GraphQL
GraphQL
Apollo
Apollo
The Graph
The Graph
React Query
React Query
SWR
SWR
IPFS
IPFS
Node.js
Node.js
pnpm
pnpm
Vercel
Vercel
ESLint
ESLint
Prettier
Prettier
Playwright
Playwright
Vitest
Vitest
GitHub Actions
GH Actions

· · ·   OPEN SOURCE CONTRIBUTIONS   · · ·

wevm wevm/viem · 6 PRs · all →
  • #4582 — fix(abi): handle anonymous events in encodeEventTopics
  • #4581 — fix: clean up empty listener cache entries in observe
  • #4576 — fix: handle anonymous events in encodeEventTopics
  • #4569 — fix: remove stale cache entries when last observer unsubscribes
  • #4554 — feat: support anonymous events in encodeEventTopics
  • #4553 — fix: clean up listenersCache and cleanupCache when last observer unsubscribes
daaoai daaoai/dex · 5 PRs · all →
  • #7 — fix: eslint any bypass
  • #6 — Feat/minor features
  • #5 — Chore/refactor code
  • #4 — Feat/swap UI
  • #2 — Feat/graph UI
NomicFoundation NomicFoundation/hardhat · 3 PRs · all →
  • #8234 — feat: add per-cheatcode suggestions for unsupported cheatcodes
  • #8201 — perf: lazy-load heavy dependencies in hardhat-utils
  • #8200 — chore: drop beta references from init process and templates
family family/connectkit · 3 PRs · all →
  • #509 — fix: disable storage on ENS fallback config
  • #508 — fix: add Base to default chains so its icon renders out of the box
  • #507 — fix: deduplicate injected connector when EIP-6963 wallet is detected
near near/near-sdk-js · 3 PRs · all →
  • #429 — fix: return strings from NFT enumeration supply methods
  • #428 — fix: add missing ft_metadata view function to fungible token example
  • #427 — docs: add CLI usage example for building and deploying contracts
MetaMask MetaMask/metamask-extension · 2 PRs · all →
  • #42320 — docs: replace outdated IRC link with Mozilla Matrix channel
  • #42188 — docs: replace outdated IRC link with Mozilla Matrix channel
cowprotocol cowprotocol/cowswap · 2 PRs · all →
  • #7465 — fix(trade): preserve URL recipient when chainId initializes
  • #7464 — fix(swap): hide MetaMask version warning on mobile browsers
ethers-io ethers-io/ethers.js · 2 PRs · all →
  • #5135 — Add configurable timeout for CCIP-read fetch requests
  • #5132 — fix: defer subscriber teardown in emit to prevent WebSocket subscription loss
OffchainLabs OffchainLabs/nitro · 1 PR · all →
  • #4677 — fix: add forge version check to check-build.sh
Uniswap Uniswap/interface · 1 PR · all →
  • #8025 — fix: prevent SecurityError from external hash fragments on landing page
ensdomains ensdomains/ens-app-v3 · 1 PR · all →
  • #1125 — fix: use calendar-aware year calculation in renew modal to prevent infinite loop
ethereum ethereum/ethereum-org-website · 1 PR · all →
  • #18164 — fix: remove dead molochdao.com link that redirects to spam
ethereum ethereum/go-ethereum · 1 PR · all →
  • #34868 — accounts/abi/bind: re-export event signature mismatch errors
otter-sec otter-sec/anchor · 1 PR · all →
  • #4479 — docs: add surfpool configuration reference to Anchor.toml docs
ponder-sh ponder-sh/ponder · 1 PR · all →
  • #2299 — fix: include public schema in PGLite search_path for raw SQL queries
rainbow-me rainbow-me/rainbowkit · 1 PR · all →
  • #2675 — fix: enable scrolling for wallet list in mobile landscape mode
remix-project-org remix-project-org/remix-project · 1 PR · all →
  • #7147 — fix: default deployed contract functions to expanded state

· · ·   PROJECTS   · · ·

Dead man's switch for crypto wallets — create wills, monthly alive checks, auto-transfer on inactivity

TypeScript  JavaScript
AI-powered DeFi portfolio explainer — plain English reports, chat, and optimization suggestions

TypeScript  JavaScript
Real-time DeFi portfolio dashboard — token prices, LP positions, P&L tracking — Next.js + wagmi + TailwindCSS

TypeScript  JavaScript
On-chain wallet analytics platform

JavaScript

· · ·   REACH   · · ·

github.com/tenderdeve

open to freelance — DeFi frontend infra, trading UIs, on-chain data viz.

Pinned Loading

  1. synth-protocol synth-protocol Public

    JavaScript

  2. uni-interface uni-interface Public

    Forked from Uniswap/interface

    🦄 Open source interfaces for the Uniswap protocol

    TypeScript

  3. v3-subgraph v3-subgraph Public

    Forked from Uniswap/v3-subgraph

    Subgraph for Uniswap V3

    TypeScript

  4. wallet-profiler wallet-profiler Public

    On-chain wallet analytics platform

    JavaScript

  5. daaoai/dex daaoai/dex Public

    TypeScript