Acerca de
Lenin Meza
Desarrollador full-stack y arquitecto detrás de Freelance México. Esta plataforma fue construida para conectar a clientes con freelancers mexicanos en un entorno transparente, sin barreras de entrada y con pagos seguros.
¿Qué es Freelance México?
Freelance México es un marketplace bidireccional donde los clientes publican proyectos y los freelancers ofrecen servicios. Incluye perfiles de freelancers, propuestas con sistema de estado, escrow de pagos vía Stripe, comisión cero al lanzamiento y agregador de empleos remotos de México.
El proyecto es open-by-default: el código vive en GitHub y los issues son públicos. La meta es construir la infraestructura freelance que México necesita, sin comisiones depredadoras y con cumplimiento total de la LFPDPPP.
Arquitectura técnica
Stack
- WordPress 6.x con tema FSE (Block Theme)
- HivePress 1.7 — perfiles de vendor
- WooCommerce 10 — pagos y carrito
- PHP 8.3 sobre LiteSpeed Enterprise
- Tailwind CSS 3 (CDN JIT) para diseño
- MySQL 8 vía HostGator shared
Capas propias
fm-core-engine: plugin con 40+ clases- Tema
freelance-mexico: plantillas FSE + PHP - mu-plugins: cargador
.envy SMTP Titan - Stripe Connect Express para pagos a freelancers
- WP-Cron diario: salud, sincronización Adzuna, alertas
- Wordfence + Cloudflare Turnstile para seguridad
Despliegue
CI/CD via GitHub Actions: cada push a main dispara SFTP upload (garygrossgarten/github-action-scp) hacia HostGator. Sin shell, sin WP-CLI — todo el bootstrap lo hace WordPress al primer request. La caché de Endurance/nginx se purga al guardar páginas en el admin.
Patrones clave
- Una clase por dominio — propuestas, escrow, KYC, cookies, SEO. Nada en
functions.php. - Writes idempotentes — opciones
fm_X_v1guardan creación de páginas y migraciones. - Cache-safe — el banner de cookies y los avatares se deciden en JS porque nginx sirve HTML estático.
- Health check diario — 28 verificaciones (clases cargadas, CPTs, fatals recientes, cron, DB) con alerta por email.
- Sin credenciales en git — todo el
.envestá en el servidor, cargado por mu-plugin antes del init.
Encuéntrame en
¿Tienes una pregunta o propuesta de colaboración? Escríbeme por el formulario de contacto.