I am a Smart Contract Engineer focused on designing, testing, and deploying secure, high-performance, and gas-efficient EVM protocols.
Solidity | Python | Foundry | Anvil | OpenZeppelin | The Graph | Next.js | TypeScript | wagmi | viem | GitHub Actions | Git
Tokenize real-world assets on-chain without losing compliance control. A plain ERC-20 has no idea who is allowed to hold it, so Praedium puts a single on-chain eligibility check in front of every balance change (transfer, mint and burn) against an investor registry. Compliance stops being a promise in a PDF and becomes a property of the protocol.
- Smart contracts: Solidity 0.8.28 + Foundry, built on OpenZeppelin v5.
RWATokenoverrides only_update, the one funnel every balance change passes through, so no entry point can bypass the gate. Backed by aComplianceRegistry(KYC expiry, jurisdiction codes, freeze, one packed storage slot per investor) and anAssetRegistry(document hash, metadata URI, valuation, lifecycle status). - Design choice: freeze, don't claw back. Frozen holders keep their balance until legal resolution, and there is deliberately no forced-transfer function. Four separate roles: minter, pauser, compliance officer and asset admin.
- Indexing: a The Graph subgraph tracking transfers, investor status, asset lifecycle and platform counters.
- Frontend: a role-aware Next.js dApp (wagmi, viem, Reown AppKit) that shows only what the connected wallet can do, and pre-flights every transfer against the registry so a doomed transaction never gets signed.
- Testing and CI: Foundry unit, fuzz and invariant suites, with GitHub Actions running format check, build, tests and coverage on every push.
- Live on Sepolia:
0x53Ff...e109
A staking protocol that rewards long-term holders instead of short-term capital. Every deposit is tracked as its own DepositLot, so the yield multiplier (0% before 6 months, up to 40% at 3+ years) depends on how long that specific lot has been held.
- Smart contracts: Solidity 0.8.27 + Foundry, built on OpenZeppelin
ReentrancyGuard,PausableandOwnable. Receipts (stETH) are non-transferable to prevent secondary-market exploits. - Indexing: a The Graph subgraph indexing deposit and withdrawal events.
- Frontend: a Next.js dApp for depositing, tracking lots and withdrawing.
- Testing and CI: Foundry test suite with coverage reporting, and GitHub Actions CI.
- Live on Sepolia:
0x4EbF...b48Bf
A full-stack personal finance tracker with transactions, custom categories, a monthly summary and a 6-month trend dashboard. Django REST Framework + MySQL backend with JWT auth (refresh-token rotation, real token revocation on logout) and a Next.js 14 frontend that keeps sessions in HttpOnly cookies behind a backend-for-frontend proxy. Runs locally with Docker Compose; not deployed.
An interactive 3D solar system in the browser: orbit, zoom, and click any planet to fly to it and read its facts. Built with Three.js and Vite, and every texture (planets, Sun glow, Saturn's rings, starfield, asteroid belt) is generated procedurally on a canvas, so it ships with no external image assets.

