Software developer · Torreón, Mexico

Well-made web software, from interface to API.

Computer Systems Engineering student (ITL), interning at MAHA Home de México on a production Shopify Plus store. I work on frontend, REST and GraphQL API integration, backend and automated tests.

Selected work

Public work comes with code and tests. Private work is described without internal details.

Case study ·

  • coursework
  • verified

GYMWARRIOR — PHP and MySQL store

2026 hardening: prepared statements, CSRF, upload validation, transactional checkout, environment-based config and fictional data. End-to-end tests that fail on the original and pass on the fix.

My role
Original build at school; hardening, tests and documentation in 2026 with AI assistance.
Stack
PHP · MySQL · JavaScript · Bootstrap · Playwright
Status
13 of 13 end-to-end tests pass (10 failed on the original)

Read the case study →Code →

More projects

  1. Professional portfolio

    This site: bilingual, static and tested on every change.

    Details
    Problem
    Showing real work without exposing private systems or company data.
    Solution
    Astro with typed content, a test that blocks confidential terms, end-to-end tests at three widths and continuous deployment to GitHub Pages.
    My role
    Design, content and review; code written with AI agents.
    Status
    Live
    • Lighthouse 100 for accessibility and SEO
    • Mobile performance 99–100 (median of 3)
    publicAstro · TypeScript · Vitest
  2. EcomOS

    My own system to run a dropshipping store: catalog, supplier, pricing, ads and a control panel.

    Details
    Problem
    Automate an e-commerce operation without letting automation publish, spend or delete anything unapproved.
    Solution
    Shopify, Meta, Zendrop and TikTok integrations behind write gates (dry run, approval, backup, readback); MCP servers with a tool allowlist; versioned releases with rollback.
    My role
    Architecture, acceptance criteria and review. The code was written by AI agents (Claude Code and Codex) under my direction.
    Status
    Deployed on my own Linux VPS
    • 117 commits between July and September 2026
    • About 3,900 automated Python tests, plus Node tests
    • 27 systemd units and release/rollback scripts
    privatePython · FastAPI · Node.js
  3. QCE — market data engine

    Python system that ingests real-time crypto market data, stores and validates it, and requires human approval before any operation.

    Details
    Problem
    Test whether an idea works without fooling yourself with the data, and make sure no automated process can act unchecked.
    Solution
    REST and WebSocket ingestion, Parquet and DuckDB storage, an exact decimal ledger, strict research/production separation, systemd-managed services and a human approval gate.
    My role
    Architecture, risk rules and validation criteria. Code written mostly by AI agents under my direction and review.
    Status
    In active development (Sep–Oct 2026)
    • 408 commits in one month
    • About 4,000 Python tests plus 82 frontend tests (Vitest)
    • Type checking with mypy and static analysis with ruff
    privatePython · WebSockets · REST
  4. Shopify Feed Doctor

    Web tool that maps a supplier CSV to Shopify’s import format.

    Details
    Problem
    Mapping columns automatically is easy; knowing when the mapping is wrong is the hard part.
    Solution
    A scoring engine plus a “falsification” layer that can only lower a mapping’s confidence, never raise it. Tested against blind data packs.
    My role
    Designed the validation method and directed development, partly AI-assisted.
    Status
    v1.0.1 tagged
    • 44 commits, tags v1.0.0 and v1.0.1
    • About 150 Vitest test cases
    • No backend: everything runs in the browser
    privateTypeScript · Vite · Vitest
  5. TikTok video pipeline

    Vertical rendering with ffmpeg, clients for TikTok’s official APIs, and a human gate before publishing.

    Details
    Problem
    Produce short video at scale without publishing anything lacking rights or human review.
    Solution
    1080×1920 rendering, rights checks, a mock publisher by default, and Content Posting and Shop API clients with request signing.
    My role
    Design and direction; code written with AI agents.
    Status
    No real posts yet: waiting on TikTok API approval
    • About 780 automated tests
    • Versioned deploys with sha256 and rollback
    privatePython · ffmpeg · Pillow
  6. LEVEL 10 — web game

    Runner game with an engine-agnostic core and adapters for web and Cocos Creator.

    Details
    Problem
    Write the game logic once and be able to ship it to different platforms.
    Solution
    TypeScript monorepo with the core separated from presentation, and GitHub Actions CI on Ubuntu and Windows with Node 20 and 24.
    My role
    Design and direction; code written with AI agents.
    Status
    Not published to stores
    • 86 tests, 84 pass outside the repo (2 need git)
    • CI on a 2 OS × 2 Node version matrix
    privateTypeScript · Node.js · GitHub Actions
  7. Spotify Android client

    Kotlin and Jetpack Compose app consuming 28 Spotify Web API endpoints, with OAuth and playback.

    Details
    Problem
    Browsing a user’s catalog and library with an expiring token, without exposing credentials.
    Solution
    Retrofit services, Hilt injection, token refresh and credentials kept out of the code (local.properties).
    My role
    Own coursework project; hardened in 2026.
    Status
    Public code with instructions
    publicKotlin · Jetpack Compose · Retrofit
  8. 2D racing simulator

    Python game with tracks generated from images and mask-based collisions.

    Details
    Problem
    Detecting precisely when a car leaves an irregularly shaped track.
    Solution
    Pixel masks for collisions and distance sensors for the car.
    My role
    Own coursework project.
    Status
    Public code with instructions
    publicPython · pygame · NumPy

Experience

Jul 2026 – Present · Torreón, Mexico

Software Developer · Professional internship — MAHA Home de México

  • Developed and optimized an online store on Shopify Plus.
  • Customized the theme with Liquid, HTML, CSS and JavaScript, and built components and features for product and cart pages.
  • Integrated and consumed Shopify REST and GraphQL APIs, including bulk operations.
  • Organized and modeled product data with metafields and metaobjects.
  • Improved web performance and user experience, measured with Core Web Vitals.
  • Automated tasks and visual tests across screen widths with Node.js and Playwright.
  • Debugging, maintenance, verified change control and technical documentation.
  • Used AI agents in development, reviewing and verifying every change.
  • Shopify
  • Liquid
  • JavaScript
  • HTML
  • CSS
  • GraphQL
  • REST
  • Node.js
  • Playwright

Education

  • B.Eng. in Computer Systems Engineering · Instituto Tecnológico de La Laguna2022 – Dec 2026 (expected)
  • Technical high-school diploma in Electronics · CECyTEC2021

Skills

Grouped by where I have used them, not by how much I like them. Production outweighs projects; projects outweigh coursework.

In production

  • JavaScript
  • CSS
  • HTML
  • Shopify Liquid
  • Node.js
  • GraphQL
  • REST APIs
  • OAuth client credentials
  • Playwright
  • Core Web Vitals
  • WCAG contrast
  • PowerShell
  • JSON / JSONL

In my own projects

  • Python
  • FastAPI
  • pytest
  • TypeScript
  • React
  • Vitest
  • MCP
  • WebSockets
  • DuckDB
  • systemd
  • Docker
  • Linux
  • GitHub Actions
  • Git
  • ffmpeg
  • SQLite

In coursework

  • PHP
  • MySQL
  • Kotlin
  • Jetpack Compose
  • Java
  • C#
  • Swift
  • Haskell
  • Flutter
  • Redes (Packet Tracer)

About

I live in Torreón, Coahuila, in northern Mexico. I completed a technical high-school program in Electronics and I’m now studying Computer Systems Engineering at Instituto Tecnológico de La Laguna, where I’m doing my professional internship.

I care about the work nobody sees: two systems understanding each other, data arriving complete, a production change that can be undone. My internship taught me that the bug is rarely where it shows up, and that a number nobody counted isn’t data.

I work a lot with AI agents and treat them like a team that needs clear rules: permits, verification and someone who reviews. I’m actively improving my English.

Contact

I’m looking for a first role as a software developer: web, full stack, backend or integrations. On-site in La Laguna, hybrid or remote.