Skip to content
View L30N4RD018's full-sized avatar

Block or report L30N4RD018

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
L30N4RD018/README.md

Leonardo Mendoza

Backend & Data Engineer

📍 Cartagena, Colombia

LinkedIn Email DOI ORCID

🇬🇧 English · 🇪🇸 Español


I build backend services and data pipelines that deal with messy, real-world sources: government registries with no API, scanned regulatory documents, and legacy file formats that were never meant to be parsed. Most of that work is in the Colombian public-health sector.

Most of my professional code lives in private organisational repositories, so what follows describes what I built rather than linking to it. The public repositories on this profile are academic and personal work.

What I've built

Candidate assessment platform  in production

FastAPI PostgreSQL Redis WebSockets S3

Designed and built the backend behind the platform that runs my organisation's selection processes, which has carried 20+ real selection rounds across two generations. The interesting parts: exam lifecycles modelled as state machines, so invalid transitions fail in the domain instead of leaking into endpoints; an Outbox table driving asynchronous notifications; and remote proctoring with chunked video upload plus a WebSocket channel for attempt timers, designed so a dropped connection never costs a candidate their progress. I rebuilt the data model for the second generation while the first stayed live and untouched for audit.

Geospatial viewer for a regional healthcare network

NetworkX GeoPandas OpenStreetMap JSON Schema offline-first

A routing engine over a road network of 1.4 million nodes, returning referral routes between healthcare facilities in under half a second. It consolidates 6.8 GB of national cartography and OpenStreetMap extracts into a single queryable model, validated against a JSON Schema contract so malformed data fails at ingestion rather than in the viewer. Built offline-first: the whole thing runs on a disconnected institutional laptop from a single uvicorn command — no Docker, no network, no Node runtime — with an automated check that the bundled front end makes zero external requests.

National health registry crawler

Playwright Python SQLite resumable

Colombia's public healthcare provider registry has no API. I automated its extraction with Playwright, collecting all 932 public hospitals in the country along with their facilities, services and installed capacity. It persists progress so an interrupted run resumes instead of restarting, partitions work across parallel workers, and can reprocess only the records that failed.

Regulatory ETL for healthcare billing

Pydantic pandas ETL

Colombian health billing moved from a flat-file standard written in 2000 to the hierarchical JSON format required by 2023 regulation. I built the ETL for that migration, isolating readers, transformation and validated output so an amendment to the regulation touches a single layer. Correctness is enforced by Pydantic schemas against official government reference tables, not by convention.

Document understanding for legal PDFs

OpenCV OCR NumPy

A pipeline that converts scanned resolutions and regulatory documents into machine-readable form, preserving the original reading order and table structure. The decision that made it work: detect page geometry with OpenCV before invoking the OCR model, so it only ever sees pre-identified text regions and individual table cells rather than whole pages. PDFs with embedded text skip OCR entirely.

Research

Two chapters in the same Springer CCIS volume series from WEA 2025, written with the same team: one on the access-control system, one on the plate-recognition pipeline that feeds it.

Springer peer reviewed NestJS TypeScript source code

VACS: A Modular Software System for Vehicular Access Control — Alvarino, Taboada, Mendoza, Montes & Martinez-Santos. Springer, Communications in Computer and Information Science (WEA 2025), pp. 222–232, October 2025. 10.1007/978-3-032-08206-0_19

A modular NestJS backend organised around isolated domain modules, with access modelled as enforceable rules and plate recognition as the event source. Capstone project, and the code is public.

Springer peer reviewed YOLOv11 OpenCV FastAPI Redis

An Optimized Approach for Automatic License Plate Recognition in Open-Access Environments — Alvarino, Taboada, Mendoza & Martinez-Santos. Springer, Communications in Computer and Information Science (WEA 2025), pp. 223–233, October 2025. 10.1007/978-3-032-08203-9_19

The recognition pipeline behind VACS: detection and OCR tuned for open-access environments, where plates arrive at unconstrained angles, distances and lighting rather than at a controlled barrier. Served over FastAPI with Redis in front of it.

Tools I actually use

Languages Python TypeScript JavaScript SQL R
Backend FastAPI NestJS OpenAPI Pydantic SQLAlchemy Alembic
Data Playwright pandas NumPy GeoPandas Shapely NetworkX
Databases PostgreSQL SQLite Redis
Infrastructure Docker Nginx GitHub Actions Linux Terraform Vault
Practices pytest CI/CD API contract design Technical writing

Relational modelling, indexing and migrations sit under the database badges; ETL pipeline design and API contract design are the parts I think about most and the parts no logo represents. I've also built infrastructure prototypes with Terraform, Vault and Docker Swarm (database-per-tenant provisioning), though not yet running in production.

Currently

Going deep on two things rather than broad on many: distributed data processing beyond single-node pipelines, and cloud deployment with real infrastructure-as-code. The gap between "I containerised it" and "I operate it" is the one worth closing next.


GitHub stats Top languages Contribution activity over the last month Contribution snake

Pinned Loading

  1. agriculture-company-backend agriculture-company-backend Public

    REST API for an agricultural company's crop, production and fleet management, built on a layered domain architecture. University capstone, 2024.

    Python 1

  2. doc-ocr doc-ocr Public

    Structural extraction from scanned PDFs: OpenCV finds tables and text regions before OCR runs, so tables survive as tables. Outputs Markdown and JSON.

    Python

  3. reps-scraper reps-scraper Public

    Resumable, parallel scraper for REPS, Colombia's national health-provider registry — an ASP.NET WebForms site with no API and no bulk download.

    Python

  4. ZenoexORG/vacs-backend ZenoexORG/vacs-backend Public

    TypeScript