# Research portfolio > Independent researcher and software builder working across applied AI/ML, on-chain data analysis, and agent tooling. Hands-on work spans data preparation and agent-assisted labelling, LoRA fine-tuning, calibrated classification, model and rule-based baseline comparisons, structured holdout evaluation, and interfaces for reviewing model predictions and evidence. On-chain research focuses on Ethereum/EVM, Solana, and DeFi, including protocol analysis, contract reverse engineering, liquidity research, and wallet-flow analysis. Builds Python research and data pipelines, TypeScript/Node.js applications, LLM workflows, and inference API integrations. Project tools include PyTorch, Hugging Face Transformers, PEFT/LoRA, Polars, NumPy, Parquet, PostgreSQL/pgvector, FastAPI, React, and Next.js. Uses Codex, Claude Code, and Cursor for AI-assisted software development. Current interests include understanding LLM internals and working close to model experimentation, training/adaptation, evaluation, and inference engineering. On-chain analysis is a domain strength, alongside broader applied AI interests. Some projects have public code or model links below. Others link to portfolio summaries because a public implementation URL is not available. The site uses the handle ethduke and does not publish a full CV. ## Public models and project repositories - [Contract Risk Classifier — model card](https://huggingface.co/ethduke/robinhood-contract-traps-qwen3.5-0.8b-lora): Qwen3.5-0.8B fine-tuned with LoRA for questions about owner powers, transfer restrictions, and honeypot-related behavior in decompiled EVM token contracts. Work includes rule/code-lineage/LLM-teacher labels, code-shape and chronological splits, and model/baseline evaluation. The model card documents results and limitations. - [Gensyn RL Swarm peer analytics](https://github.com/ethduke/gensyn_rlswarm_leaderboard): Peer-analytics and leaderboard tooling for Gensyn's RL Swarm testnet. - [EIP-7702 batch transaction experiments](https://github.com/ethduke/eip_7702_batch_txs): Portfolio example of EIP-7702 batch-transaction experiments and account-abstraction exploration. - [LLM workflow example with OpenRouter](https://github.com/ethduke/tg_summary_openrouter): Portfolio example of an LLM workflow using OpenRouter. - [Starknet legacy account upgrades and STRK consolidation](https://github.com/ethduke/starknet-funds-manager): Tooling to upgrade outdated Starknet accounts and consolidate token balances into STRK. No account-age or recovery-outcome claim is made. - [Trading research example](https://github.com/ethduke/dex_funding_rate_arbitrage): Portfolio example of trading and arbitrage research tooling. No profitability claim is made. ## Project summaries - [MemeSieve](https://memesieve.xyz/): Small memecoin algo-trading bot on Robinhood Chain, built with Python, Web3.py, Polars, SQLite and a plain HTML/CSS/JavaScript dashboard. Uses my Qwen3.5-0.8B LoRA risk model, trained on Robinhood rug/contract examples, to support token evaluation. Integrates Grok/X Search social research with per-request USDG payments through x402 v2 and EIP-3009 authorization. Model-assisted evaluation is distinct from deterministic trading checks and Grok research. - [Solana Bytecode Classifier](https://ethduke.github.io/#solana-bytecode-classifier): End-to-end classification pipeline combining static analysis, deterministic rules, agent-assisted annotation, a gradient-boosted-tree baseline, and Qwen3-8B LoRA. Uses temperature scaling and code-clone, newest-deployment, and launchpad-family holdouts. A read-only live shadow monitor routes model disagreements for relabelling. - [Program Lens](https://ethduke.github.io/program-lens/): Review workspace for this classifier: compare predictions and evidence, investigate disagreements, and export review notes. The live demo uses synthetic cases. Built with React, Next.js, and TypeScript; includes class, confidence, holdout, reference-mismatch, and tree/LoRA disagreement filters, an evidence inspector with annotation provenance, and locally exportable review proposals that preserve original labels. Demo inputs, labels, evidence, and illustrative scores are invented; no real evaluation data is published. - [On-chain Research Pipeline](https://ethduke.github.io/#on-chain-research-pipeline): Python pipelines that archive and decode Uniswap v2/v3/v4 events into Parquet for liquidity and wallet-flow research using Polars and NumPy. Integrates xAI Responses and X Search for structured social research with source links, contract-address checks, caching, and request limits. - [Farmgun](https://ethduke.github.io/#farmgun): TypeScript/Node.js token launch application with a web interface, authenticated agent APIs, and a local signing SDK. Integrates Grok image generation with USDG/HTTP 402 payments, spending limits, and durable recovery state for interrupted requests. - [Farmgun data-quality dashboard](https://ethduke.github.io/farmgun-dashboard/): Supporting subproject with incremental backfills, normalized SQL tables and reconciliation checks, plus recovery tests for duplicate events, missing blocks and recorded reorg scenarios. - [Hoodra Inference Marketplace MVP — portfolio note](https://ethduke.github.io/index.md): OpenAI-compatible FastAPI inference marketplace prototype with USDG/EIP-3009 settlement, an HTTP 402 challenge/retry flow, usage accounting, seller revenue, platform fees, and buyer credits after upstream failure. Buyer credits are internal credits, not automatic on-chain refunds. - [RAG Retrieval Prototype — portfolio note](https://ethduke.github.io/index.md): Python retrieval prototype using PostgreSQL/pgvector, embedding retrieval, and a full-text fallback. Integrates OpenRouter embeddings and chat generation with retrieved context and prompts requesting citations and an explicit insufficient-evidence response. ## Tools - [Voltz Recovery](https://github.com/ethduke/voltz-recover): Rust CLI for recovering unsettled Voltz positions using the protocol sunsetting positions CSV. - [PartyDAO Recovery](https://github.com/ethduke/partydao-withdraw): Python helper for checking known Party Protocol positions, claiming distributions and recovering crowdfund refunds or escrow. ## Portfolio and profiles - [Text portfolio](https://ethduke.github.io/index.md): Readable project summaries, supplementary project notes, and public links. - [GitHub profile](https://github.com/ethduke): Public code and repositories under the ethduke handle. - [Hugging Face profile](https://huggingface.co/ethduke): Public model profile under the ethduke handle. ## Optional - [Site source](https://github.com/ethduke/ethduke.github.io): HTML, CSS, and discovery files for this static project page. ## Background University GPU programming included an iterative CUDA algorithm for global optical flow. Later work moved into mobile app and game development, then private investing and tools for on-chain research, monitoring, trading and arbitrage experiments. The current focus returns to an earlier interest in AI through model fine-tuning, evaluation and ML tools. The homepage presents five selected projects, each with a closed-by-default disclosure containing five tools, followed by a compact Tools section with recovery utilities, experiment links and an About section. Its white background and plain sans-serif text are fixed presentation choices.