Projects

A full view of public work across automation, data engineering, AI tooling, and scientific software.

14 projects

LinkedIn Job Scraping & Data Export Pipeline thumbnail

A daily scraper that fixes itself when LinkedIn's markup breaks

Python scraping pipeline that collects job listings, normalizes records, persists run history in SQLite, and exports datasets through CLI workflows.

PythonBeautifulSoupSQLAlchemySQLiteOpenAI API+1
Mexico Jobs Analytics Pipeline thumbnail

A stateless weekly pipeline running on free infrastructure

Analytics pipeline that transforms raw job snapshots into curated DuckDB/Parquet datasets, bilingual reports, and a public MkDocs documentation site.

PythonDuckDBParquetMkDocsGitHub Actions+1
RepoSage: AI-Assisted Repository Audit Tool thumbnail

Deterministic codebase audit tool: structured evidence, not vibes.

Repository analysis tool that scans codebases, detects language and framework signals, summarizes dependencies, and outputs structured Markdown or JSON audit reports.

PythonGitHub ActionsOpenAI APIAnthropic APIMCP
Rust + Python RAG Chunking Pipeline thumbnail

Token-exact RAG ingestion where the hot path runs in Rust.

Token-aware RAG ingestion pipeline where Rust handles performance-critical chunking via PyO3, Python orchestrates embeddings, and Qdrant stores searchable vectors.

RustPyO3PythonQdranttiktoken-rs+3
Clipsmith: AI-Assisted Twitch Clip Pipeline thumbnail

Local pipeline that turns a Twitch VOD into publish-ready 9:16 clips using Whisper + LLM selection.

Local media automation pipeline that downloads VODs, transcribes Spanish audio, ranks candidate moments by chat activity, uses an LLM to select highlights, and cuts 9:16 MP4 clips.

PythonFFmpegfaster-whisperchat-downloadertwitch-dl+3
ShelterPulse: Simulating Kitten Season for Shelter Budget Allocation thumbnail

A simulation + optimization lab for shelter budget allocation under uncertainty.

Discrete-event simulation and Bayesian-optimization lab that answers a shelter's budget question: given a fixed budget split across foster support, clinic hours, isolation capacity, and adoption events, which allocation minimizes overflow during kitten season?

SimPyJAX / jaxboFastAPINext.jsTypeScript+3
Conduction Lens: What a 12-Lead ECG Can and Cannot Identify thumbnail

Which His-Purkinje conduction parameters a 12-lead ECG can identify: 4 of 7, with formal calibration.

Amortized, calibrated identifiability analysis of the His-Purkinje conduction system from a simulated 12-lead ECG: which conduction parameters the ECG can and cannot recover at a stated noise floor, measured on a calibrated posterior.

PythonsbiPyTorchpurkinje-uvmyocardial-mesh+3
WC26 Dashboard: Live World Cup Pool Forecasting thumbnail

Shows each of 5 quiniela players their live odds of winning the pool, updated on every real match result; with a what-if builder for any hypothetical.

Live World Cup 2026 dashboard for a 5-person quiniela: it Monte-Carlo-simulates the rest of the tournament 10,000 times from live Elo ratings to give each player their odds of finishing 1st–5th, with completed results pinned and a scenario builder for what-ifs.

Next.jsTypeScriptPythonAzure FunctionsAzure Static Web Apps+5
JAX-BO: Bayesian Optimization Library Maintenance thumbnail

Modernized an academic JAX Bayesian-optimization library into an installable PyPI package

Took an academic JAX Bayesian-optimization library that no longer installed on modern Python and turned it into an installable, CI-linted, automatically published PyPI package. A maintenance-and-packaging fork: the optimization math is upstream (Predictive Intelligence Lab); the distribution engineering is the contribution.

PythonJAXGaussian ProcessesPyPIGitHub Actions+1
Myocardial Mesh: Cardiac Simulation Python Library thumbnail

From a research notebook to a CI-gated, bit-exact Python library

A Python research library for computational cardiology: load a myocardial mesh, a Purkinje fibre tree, and electrode positions, run an iterative Purkinje-muscle coupling loop, and synthesise a 12-lead ECG. Used as the forward-simulation backbone in an M.Sc. thesis on probabilistic Purkinje-network reconstruction.

PythonNumPy / SciPyVTK / PyVistafim-pythonJAX+3
MarketLab: Reproducible Market Experiment Platform thumbnail

A config-driven, leak-free walk-forward harness that ships as a real package

Package-first research toolkit for market experiments: validated YAML configs, data preparation, baselines, scikit-learn training, a leak-free rolling walk-forward evaluator, diagnostics, reports, and a paper-only Alpaca trading path.

Pythonpandasscikit-learnyfinanceDocker+4

End-to-end demo of a personal finance dashboard: synthetic brokerage statements ingested by a Python ETL pipeline into DuckDB, surfaced as a React/Next.js allocation and performance dashboard.

Next.js 16TypeScriptTailwind v4React 19SVG charts+2

Interactive SQLite query lab running in the browser via sql.js/WebAssembly. Query synthetic portfolio holdings, monthly returns, and goals with plain SQL; no server, no backend.

sql.jsWebAssemblyNext.js 16TypeScriptTailwind v4+1