Portfolio

Production work, with evidence

Live sites, published packages, and automation already running in production.

Filter
JavaScriptBrowser ExtensionPrivacy

Chrome Web Store + Firefox Add-ons · Local-only browser extension

LinkedIn Spam Blocker

Browser extension that hides LinkedIn engagement-bait spam locally, with no telemetry, remote blocklists, or network requests.

Why it mattered
LinkedIn engagement-bait posts crowd useful hiring, industry, and work updates, while platform reporting often leaves the pattern untouched.
Built
Built a Chrome and Firefox extension that scans supported LinkedIn pages locally, hides matching spam patterns, and gives users language toggles, custom phrases, whitelists, snooze, and false-positive recovery.
Verified result
Published in the Chrome Web Store and Firefox Add-ons with packaged releases, CI, a public privacy policy, and a zero-network design.
PythonCLIAudit

Published on PyPI · Fail-closed audit automation

Conciliador Bancario

Audit-grade reconciliation tool that stops on mismatches instead of masking them.

Why it mattered
Reconciliation tools often optimize for convenience even when the underlying data does not actually match.
Built
Built a Python tool that stops on mismatches, produces deterministic outputs, and keeps append-only audit logs rather than silently producing a wrong result.
Verified result
Published on PyPI with reproducible installation and a traceable record of every run.
PythonPyPICLI

12 stars · 3 forks · Published on PyPI

Rutificador

Published Python package teams can drop into forms, ETL jobs, and batch workflows.

Why it mattered
Teams processing Chilean IDs need consistent validation and normalization instead of re-implementing edge cases.
Built
Published a Python library and CLI with clean install paths, CI, and CodeQL-backed maintenance.
Verified result
Installable on PyPI and usable inside scripted and pipeline-oriented workflows.
TypeScriptFastAPIReact

DNS benchmarking with statistical rigor

DNSpect

Percentile-based DNS benchmarking stack built for analysis, not demo-friendly averages.

Why it mattered
Resolver comparisons often rely on single averages that hide distribution and outlier behavior.
Built
Built a TypeScript CLI, FastAPI backend, and React dashboard around percentile-based benchmarking.
Verified result
Technical framing centers statistical rigor instead of demo-friendly averages.
PythonScrapingGoogle Sheets

5 stars · 1 fork · Recurring production pipeline

★ 5Production1 fork

Jackpot Data Pipeline

Recurring scrape-to-sheets pipeline that removes manual lottery result updates.

Why it mattered
Lottery result sources are volatile, making manual updates brittle and time-consuming.
Built
Automated scraping, normalization, and Google Sheets publishing on a recurring schedule.
Verified result
Production pipeline with GitHub visibility and outputs designed for repeat use.
AstroSEOAccessibility

Live at noticiencias.com · Spanish-language science media, 8 disciplines

Live8 categories

Noticiencias

Live science publication with eight SEO-structured categories and readable editorial architecture.

Why it mattered
Science content sites often trade clarity for volume and lose structure as categories grow.
Built
Built an Astro editorial platform with category governance, source tracking, and methodology documentation.
Verified result
Live publication covering 8 disciplines with SEO-focused content architecture and RSS.