Skip to content
LacerdaTraderCodePublic

About

16 public projects grouped by area — Applied AI, Backend & Data, Automation & Bots, Trading & Quant, DevOps & Security. Python-first, by Wagner Lacerda.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

37 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

🎯 Portfolio — Wagner Lacerda

Senior Software Engineer | Python • Backend • AI Apps • Automation • Bots • Systems

12+ years in IT, independent since 2019. APIs, data pipelines, automation, and applied LLM/AI work — see the full profile for background, full stack, and contact.

💡 Most of my professional projects are private due to client NDAs. The 16 public repositories below demonstrate the technologies I use in practice, grouped by area. Click a group to expand it.


🧠 Applied AI

4 projects — Model Context Protocol, RAG, LLM evaluation, and ML prediction

Model Context Protocol server that queries and compares Claude, GPT, and Gemini side by side through a single interface.

Stack: MCP Claude / GPT / Gemini adapters httpx

  • Adapter-per-vendor design — adding a new provider means adding one file, not touching existing ones
  • Providers are opt-in based on which API keys are configured, with no hard failure when one is missing
  • Comparison logic is decoupled from the MCP transport layer, so it's testable on its own and via a real MCP session

End-to-end retrieval-augmented generation pipeline that answers questions grounded in a document set, with citations back to the source chunks.

Stack: Hybrid retrieval (RRF) Qdrant fastembed TF-IDF FastAPI Claude

  • Retrieval is chosen by configuration — TF-IDF, semantic (embeddings in Qdrant), or hybrid, which merges both rankings with Reciprocal Rank Fusion; TF-IDF stays a first-class mode that runs fully offline with no model download
  • Each mode is measured on a 40-question golden set (hit rate@3: hybrid 0.975, semantic 0.900, TF-IDF 0.875), and CI fails if hybrid falls below the TF-IDF baseline — the README also says where semantic search alone loses
  • Every generated answer returns alongside the exact chunks it was grounded in, not just a confident-sounding response

Rubric-based evaluation pipeline for LLM outputs, producing labeled data usable for fine-tuning.

Stack: Anchored rubrics LLM-as-judge Preference data (DPO-shaped)

  • A golden-set agreement check validates the LLM judge against human-labeled examples before trusting its scores
  • Score gaps between ranked outputs are converted directly into DPO-style preference pairs

Classification models predicting short-term price direction, benchmarked against a naive baseline.

Stack: scikit-learn Random Forest MLP

  • Chronological train/test split and lookahead-free features — avoids the temporal leakage that quietly inflates backtest accuracy
  • Every model is compared against a baseline predictor, so "better than chance" is actually demonstrated, not assumed

🔧 Backend, Data & Architecture

3 projects — REST APIs and high-performance data pipelines

Production-ready REST API template with JWT authentication and full CRUD, intended as a real starting point, not a toy example.

Stack: FastAPI SQLAlchemy JWT Pydantic

  • JWT auth with bcrypt password hashing and refresh-token handling built in, not bolted on later
  • Interactive Swagger/OpenAPI docs generated automatically from the Pydantic schemas

Async REST API combining Django Ninja's typed routing with MongoDB as the primary store.

Stack: Django Ninja MongoDB Motor JWT

  • Fully async data access via Motor, paired with Django Ninja's type-hinted request/response validation
  • Argon2 password hashing, stronger by default than the more common bcrypt/PBKDF2 choices

Modern ETL pipeline built for throughput, moving data through Parquet and SQL without a Pandas bottleneck.

Stack: Polars DuckDB Parquet

  • Benchmarked at 10-100x faster than an equivalent Pandas pipeline, with the benchmark included in the repo, not just claimed
  • DuckDB used for the SQL-shaped transforms, Polars for the rest — each tool used where it's actually faster

🤖 Automation, Scraping & Bots

4 projects — scraping, Telegram/Discord bots, and no-code integration

Complete scraping toolkit covering three different extraction strategies for three different kinds of target.

Stack: Selenium Playwright BeautifulSoup Polars

  • Three scrapers, not one — BeautifulSoup for static HTML, Playwright/Selenium for JS-rendered pages, picked per target instead of forcing one tool everywhere
  • Built-in rate-limiting to avoid hammering target sites, with results exported to Parquet via Polars

Real-time price-alert bot that watches the Binance API and notifies users the moment a threshold is crossed.

Stack: python-telegram-bot Binance API asyncio SQLAlchemy

  • Fully async with asyncio + aiohttp, so price polling never blocks the bot's command handling
  • Per-user alert thresholds persisted via SQLAlchemy, scheduled with APScheduler instead of a naive sleep loop

Moderation bot built around Discord's modern slash-command interface, with persisted infractions.

Stack: discord.py SQLAlchemy asyncio

  • Slash commands throughout, not legacy prefix commands — matches how Discord actually expects bots to behave today
  • Moderation actions and infractions persisted to a database, so history survives a bot restart

Webhook-driven automation suite connecting no-code platforms (n8n, Make) to a custom Flask backend for logic that doesn't fit visual workflows.

Stack: Flask n8n Make Webhooks

  • Used where it genuinely fits: no-code platforms handle orchestration, Flask handles the logic (e.g., lead scoring) that needs real code
  • Integrates with Telegram and Slack as delivery channels for automated workflow outputs

📈 Trading & Quant

3 projects — technical analysis, strategy simulation, and EA trade analysis

Interactive dashboard with technical indicators for market analysis, built for quick visual read of price action.

Stack: Streamlit Plotly yfinance

  • SMA, EMA, RSI, MACD, and Bollinger Bands, plotted on interactive Plotly candlestick charts
  • Display and analysis only, by design — no order execution path, so it can't be mistaken for a live trading tool

Backtester comparing money-management strategies across thousands of simulated trade sequences.

Stack: Monte Carlo simulation DuckDB Kelly Criterion

  • Fixed, Martingale, D'Alembert, Fibonacci, and Kelly Criterion compared on ruin rate, not just average return — the metric that actually matters for risk of blowing an account
  • Hundreds of Monte Carlo trials aggregated and queried via DuckDB SQL

A real MetaTrader 5 Expert Advisor paired with a Python/Polars pipeline that analyzes its exported trade log.

Stack: MQL5 Polars MetaTrader 5

  • A complete, functioning EA with percent-risk position sizing, not a stripped-down demo
  • Win rate, profit factor, expectancy, and max drawdown computed directly from the EA's own trade log

⚙️ DevOps, Infra & Security

2 projects — automation scripts and a multi-platform security scanner

Multi-platform security analysis platform (Web, Mobile, Desktop) combining SAST, SCA, secret detection, and authorized DAST, with AI-generated fix prompts.

Stack: Next.js Semgrep Gitleaks OSV-Scanner Nuclei Claude API

  • Orchestrates Semgrep, Gitleaks, OSV-Scanner/Trivy, MobSF, Nuclei, and Checkov behind one pipeline, instead of running each tool by hand
  • Every finding gets an automatically generated, ready-to-paste Claude Code fix prompt with the exact file, line, and expected fix
  • Active pentest (Nuclei) requires explicit, audited authorization confirmation on two independent layers before it runs against any URL — never runs against a target without consent

A collection of 8 standalone automation scripts for everyday system and file tasks.

Stack: Python pathlib psutil

  • Covers file organizing, backups, duplicate finding, log analysis, Excel handling, email automation, and system monitoring
  • Each script is self-contained and runnable on its own — no shared framework required to use just one of them

🛠️ Full Tech Stack

Python TypeScript Next.js FastAPI Flask Django Ninja SQL MongoDB Polars DuckDB Claude OpenAI scikit-learn Playwright Docker GitHub Actions

See the profile README for the complete, categorized stack.


About

16 public projects grouped by area — Applied AI, Backend & Data, Automation & Bots, Trading & Quant, DevOps & Security. Python-first, by Wagner Lacerda.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors