Valencia, EspañaSpain · 39.47°N 0.38°W Hora localLocal time --:--

Convierto el conocimiento del negocio en sistemas que funcionan.I turn business knowledge into systems that work.

Head of IT & Business SystemsIT Manager hands-on · más de 20 años en sistemasHands-on IT Manager · 20+ years in IT systems

Responsable técnico del ERP (Microsoft Dynamics NAV), los datos, las aplicaciones, la infraestructura y la seguridad de una empresa de distribución. Analizo la necesidad, decido la solución y dirijo su implementación con IA: especifico, reviso y apruebo cada cambio que llega a producción. Technical lead for the ERP (Microsoft Dynamics NAV), data, applications, infrastructure and security of a distribution company. I analyse the need, decide the solution and lead its implementation with AI: I specify, review and approve every change that reaches production.

RolRole
Head of IT & Business Systems
ExperienciaExperience
20+ años20+ years
ERP
Dynamics NAV · C/AL
EnfoqueFocus
ERP, datos, aplicaciones, IA, normativa UE, seguridad e infraestructuraERP, data, applications, AI, EU regulation, security and infrastructure
Agentes IAAI agents
Hasta 8 proyectos activos en paraleloUp to 8 active projects in parallel
IdiomasLanguages
Español nativo · Inglés intermedioSpanish native · English intermediate
20+años en tecnología y sistemasyears in technology and systems
15+sistemas a mi cargo en producciónproduction systems under my responsibility
~60automatizaciones sobre el ERPautomations built on the ERP
§ 01PerfilProfile

Del conocimiento del negocio a sistemas integrados.From business knowledge to integrated systems.

Formé parte del equipo que implantó Microsoft Dynamics NAV: toma de requisitos, configuración, pruebas, documentación y formación de usuarios. Sobre esa base he liderado el diseño y desarrollo de las aplicaciones que hoy dan servicio a ventas, compras, logística, administración y dirección.

I was part of the team that implemented Microsoft Dynamics NAV: requirements gathering, configuration, testing, documentation and end-user training. On that foundation I have led the design and development of the applications that now serve sales, purchasing, logistics, finance and management.

En esas aplicaciones asumo el ciclo completo: identifico la necesidad, defino requisitos, diseño la solución, dirijo su implementación con IA, la valido y la mantengo. Uno conocimiento del negocio y del ERP con una visión transversal de aplicaciones, datos, infraestructura y seguridad. Priorizo sistemas sencillos de operar, datos de calidad verificable y decisiones documentadas.

For those applications I own the full cycle: I identify the need, define requirements, design the solution, lead its AI-driven implementation, validate it and maintain it. I combine business and ERP knowledge with a cross-cutting view of applications, data, infrastructure and security. I favour systems that are simple to operate, data whose quality can be verified, and documented decisions.

Mi base es de analista de sistemas: he programado durante años en C/AL y Python (unas 60 herramientas sobre el ERP) y trabajo a diario con SQL Server y T-SQL. Desde 2026 el código lo escriben agentes de IA a partir de mis especificaciones; yo diseño, reviso cada cambio y apruebo lo que llega a producción.

My background is in systems analysis: I have programmed for years in C/AL and Python (some 60 tools on top of the ERP) and work daily with SQL Server and T-SQL. Since 2026, AI agents write the code from my specifications; I design, review every change and approve what reaches production.

  1. El ERP como fuente única de verdadThe ERP as single source of truthLas aplicaciones consumen datos publicados y validados; ninguna depende de consultas directas al ERP.Applications consume published, validated data; none rely on direct ERP queries.
  2. Seguridad y gobierno desde el diseñoSecurity and governance by designGestión de secretos por entorno, principio de mínimo privilegio, escaneo de secretos en el repositorio y trazabilidad de cambios.Per-environment secrets management, least privilege, repository secret scanning and full change traceability.
  3. IA con supervisión humanaAI with human oversightAutomatización con puntos de control: ningún despliegue sin revisión y aprobación explícita.Automation with checkpoints: no deployment without review and explicit approval.
  4. Orientación al usuarioUser focusRequisitos con usuarios clave, aplicaciones offline-first para trabajo de campo y documentación funcional.Requirements with key users, offline-first apps for field work and functional documentation.
§ 02CapacidadesCapabilities

Todo lo que sé hacer, en nueve áreas.Everything I can do, in nine areas.

Cada punto procede de sistemas reales en funcionamiento. Las áreas no van por separado: el mismo proyecto suele tocar el ERP, los datos, la aplicación, la IA, la normativa, la seguridad y el servidor.Every point comes from real systems in operation. The areas do not stand alone: the same project usually touches the ERP, data, the application, AI, regulation, security and the server.

01

ERP · Microsoft Dynamics NAVERP · Microsoft Dynamics NAV

El ERP como centro de la operación: lo evoluciono sin romper sus validaciones ni su modelo funcional.The ERP at the heart of operations: I evolve it without breaking its validations or functional model.

  • Desarrollo C/AL en C/SIDE: tablas, páginas, codeunits, informes y eventosC/AL development in C/SIDE: tables, pages, codeunits, reports and events
  • Procesos desatendidos con NAS y Job Queue: pedidos, facturación y recordatoriosUnattended NAS and Job Queue processes: orders, invoicing and reminders
  • Aplicaciones Python lanzadas desde acciones del ERP y apertura de documentos en contextoPython apps launched from ERP actions, with in-context document opening
  • Servicios SOAP, intercambio de ficheros, EDI y codificaciones heredadasSOAP services, file exchange, EDI and legacy encodings
  • Integración con almacén, comercio electrónico y herramientas departamentalesIntegration with warehouse, e-commerce and departmental tools
  • Diagnóstico de incidencias entre documentos, movimientos y procesosTroubleshooting across documents, ledger entries and processes

Dynamics NAV · C/AL · NAS · Job Queue · SOAP · RDLC · EDI

Se conecta conConnects with

Proyectos de esta áreaProjects in this area

02

Ingeniería de datosData engineering

Una sola fuente de verdad, publicada solo cuando los datos cuadran.A single source of truth, published only when the data reconciles.

  • Plataforma central de datos: copia de origen, tablas transformadas y contratos de estructura por aplicación consumidoraCentral data platform: source copy, transformed tables and structure contracts per consuming application
  • Pipelines ETL de SQL Server a MySQL/MariaDB con cargas completas e incrementales, detección de cambios con rowversion y cargas masivas con LOAD DATAETL pipelines from SQL Server to MySQL/MariaDB with full and incremental loads, rowversion change detection and bulk LOAD DATA loads
  • Protección de la operación del ERP: usuario de solo lectura, límites ante bloqueos, prioridad baja en deadlocks, paralelismo limitado y ventanas horariasProtecting ERP operations: read-only user, lock timeouts, low deadlock priority, limited parallelism and time windows
  • Compatibilidad entre motores: fechas vacías del ERP, importes y precisiones, codificaciones y collations, y consultas traducidas de T-SQL a MySQLCross-engine compatibility: empty ERP dates, amounts and precision, encodings and collations, and queries translated from T-SQL to MySQL
  • Enriquecimiento de datos: geocodificación con caché, relaciones entre referencias y control de activos gráficos con huellasData enrichment: cached geocoding, item relationships and fingerprint-based control of image assets
  • Lecturas por bloques y ventanas de ejecución compatibles con la operación del ERPChunked reads and run windows that respect ERP operations
  • Transferencia segura, staging y publicación atómicaSecure transfer, staging and atomic publishing
  • Validación de filas, sumas, longitudes, fechas y huellas; conciliación de cambios y borradosRow, sum, length, date and fingerprint checks; reconciliation of changes and deletions
  • Contratos de estructura por destino y un único publicador por tablaPer-target structure contracts and a single publisher per table
  • Migración gradual por tabla, validada en bases paralelas y comparando resultados antes de sustituir cada integraciónGradual table-by-table migration, validated on parallel databases and comparing results before replacing each integration
  • APIs REST de integración con Flask: flujos pull y push, adaptación a contratos JSON de terceros y correspondencia de identificadores entre sistemasIntegration REST APIs with Flask: pull and push flows, adaptation to third-party JSON contracts and ID mapping across systems
  • Sincronización resiliente: lotes, control del ritmo, reintentos con espera exponencial y tratamiento de límites de API, bloqueos y tiempos de esperaResilient sync: batching, rate control, exponential-backoff retries and handling of API limits, deadlocks and timeouts
  • Pool de conexiones MySQL, límites de consulta y health checks con caché temporalMySQL connection pooling, query limits and health checks with a short-lived cache

SQL Server · T-SQL · MySQL · MariaDB · ODBC · Python · Flask · pandas

Se conecta conConnects with

03

IA aplicada en los productosAI inside the products

Lenguaje, visión y voz dentro de procesos reales, con validación y revisión humana.Language, vision and voice inside real processes, with validation and human review.

  • Agente con herramientas que trabaja por fases, consulta fuentes externas, puntúa y registra evidencias y costeTool-using agent that works in phases, queries external sources, scores and logs evidence and cost
  • Traducción contextual con memoria que protege cifras y unidades y respeta las correcciones humanas, también en documentos WordContext-aware translation with memory that protects figures and units and keeps human corrections, Word documents included
  • Validación entre imagen y descripción con embeddings multimodales (CLIP), caché y umbrales revisados por personasImage-to-description validation with multimodal embeddings (CLIP), caching and human-reviewed thresholds
  • Transcripción y resumen de voz, y extracción estructurada desde fotos y tarjetasVoice transcription and summarisation, and structured extraction from photos and business cards
  • Búsqueda visual de productos y edición de imágenes con máscaras y recorte de fondoVisual product search and image editing with masks and background removal
  • Propuestas de IA que un motor de reglas valida contra referencias, medidas y restricciones realesAI proposals validated by a rules engine against real references, measurements and constraints
  • Procesamiento por lotes, reintentos, control de tokens y topes de gastoBatch processing, retries, token tracking and spend caps

OpenAI · Anthropic · DeepL · Whisper · CLIP · PyTorch

Se conecta conConnects with

04

Desarrollo dirigido con IAAI-driven development

Defino el problema y la solución; los agentes implementan; yo reviso, valido y apruebo.I define the problem and the solution; agents implement; I review, validate and approve.

  • Equipo de 9 agentes especializados: arquitectura, desarrollo, QA, datos, operación, documentación, infraestructura, ERP y diseño gráficoTeam of 9 specialised agents: architecture, development, QA, data, operations, documentation, infrastructure, ERP and graphic design
  • Instrucciones y contexto por proyecto, procedimientos y habilidades compartidasPer-project instructions and context, shared procedures and skills
  • Agente de diseño gráfico: piezas SVG y HTML con guías de marca, herramientas propias (inventario de recursos, miniaturas, extracción de logos, contraste WCAG) y revisión humana de cada entregaGraphic design agent: SVG and HTML pieces following brand guidelines, custom tooling (asset inventory, contact sheets, logo extraction, WCAG contrast) and human review of every delivery
  • Hooks que interceptan herramientas y listas de rutas y operaciones permitidasHooks that intercept tools, plus allow-lists of paths and operations
  • Filtrado de información sensible antes de mostrarla en panelesSensitive information filtered before it is shown on dashboards
  • Seguimiento de sesiones, estados, bloqueos y resultados de cada agenteTracking of each agent’s sessions, states, blockers and results
  • Configuración común y reproducible en Windows y macOSShared, reproducible configuration across Windows and macOS

Claude Code · agentes · hooks · Git · GitHub

Se conecta conConnects with

Proyectos de esta áreaProjects in this area

05

Aplicaciones full stack y offlineFull-stack and offline apps

Aplicaciones completas para quien las usa, del backend a la interfaz, también sin conexión.Complete applications for the people who use them, from backend to interface, offline too.

  • APIs con FastAPI, Pydantic y SQLAlchemy; interfaces con Next.js, React y TypeScriptAPIs with FastAPI, Pydantic and SQLAlchemy; interfaces with Next.js, React and TypeScript
  • PWA offline-first: SQLite (WebAssembly) e IndexedDB en el navegador, cola de sincronización sin duplicados y paquetes descargables por partesOffline-first PWAs: in-browser SQLite (WebAssembly) and IndexedDB, a duplicate-free sync queue and chunked data packs
  • Sesiones por dispositivo y borrado remoto al reconectarPer-device sessions and remote wipe on reconnection
  • Editor 2D a escala con geometría y colisiones, y visualización 3D con Three.jsTo-scale 2D editor with geometry and collisions, and 3D visualisation with Three.js
  • Mapas vectoriales y geocodificación con varios proveedoresVector maps and multi-provider geocoding
  • Evolución e integración de una plataforma PrestaShop existenteEvolution and integration of an existing PrestaShop platform

FastAPI · Next.js · React · TypeScript · PWA · Three.js · PHP

Se conecta conConnects with

06

Automatización empresarialBusiness automation

Herramientas que eliminan trabajo manual en todos los departamentos.Tools that remove manual work across every department.

  • Aplicaciones de escritorio departamentales y bibliotecas compartidas de conexión, logs, exportación y acceso al ERPDepartmental desktop apps and shared libraries for connections, logging, exports and ERP access
  • Informes financieros y operativos, exportación a Excel y documentos con imágenesFinancial and operational reports, Excel exports and documents with images
  • Generación de PDF: fichas, certificados, etiquetas y documentación multidiomaPDF generation: product sheets, certificates, labels and multilingual documents
  • Códigos QR, EAN y logísticosQR, EAN and logistics codes
  • Intercambio de información: EDI, CSV, XML, JSON y SFTPData exchange: EDI, CSV, XML, JSON and SFTP
  • Entrada automática desde APIs y correo (IMAP sobre SSL): lectura de mensajes, transformación en documentos y ficheros compatibles, y confirmación al origen solo tras completar la transferenciaAutomatic intake from APIs and email (IMAP over SSL): message parsing, conversion into compatible documents and files, and confirmation to the source only after the transfer completes
  • Sincronización de imágenes por fecha de modificación, sin descargas innecesariasImage sync based on modification dates, with no unnecessary downloads
  • Calidad de datos: duplicados, normalización, conciliación y relacionesData quality: duplicates, normalisation, reconciliation and relationships
  • Gestión de imágenes y documentos, y seguimiento normativo con estados, historial y avisosImage and document management, and regulatory tracking with states, history and notifications

Python · PyQt5 · Tkinter · ReportLab · openpyxl · PyMuPDF

Se conecta conConnects with

Proyectos de esta áreaProjects in this area

07

SeguridadSecurity

Controles desde el diseño, comprobados, y una gestión de riesgos documentada.Controls by design, verified, and documented risk management.

  • Autenticación con JWT o sesiones opacas, contraseñas con Argon2id, bcrypt o scrypt, y segundo factor TOTPAuthentication with JWT or opaque sessions, Argon2id, bcrypt or scrypt password hashing, and TOTP second factor
  • Autorización por rol, propiedad y ámbito, verificada en servidor, y límite de intentosRole, ownership and scope authorisation checked server-side, and rate limiting
  • Cookies HttpOnly y SameSite, CORS, cabeceras de seguridad y TLSHttpOnly and SameSite cookies, CORS, security headers and TLS
  • Validación de ficheros subidos con eliminación de metadatos, y contenedores sin privilegiosUpload validation with metadata stripping, and unprivileged containers
  • Firewall de nueva generación (UTM): administración, actualizaciones de firmware y firmas, y mantenimientoNext-generation firewall (UTM): administration, firmware and signature updates, and maintenance
  • Red segmentada en varias capas, con una red independiente para el almacénMulti-layer segmented network, with a separate network for the warehouse
  • Secretos fuera del código y escaneo con GitleaksSecrets out of code and scanning with Gitleaks
  • Inventario de riesgos, revisión de accesos, rotación de credenciales y respuesta a incidentesRisk inventory, access reviews, credential rotation and incident response
  • Monitorización de integridad y autenticación de correo (SPF, DKIM y DMARC)Integrity monitoring and email authentication (SPF, DKIM and DMARC)

Firewall UTM · VLAN · JWT · TOTP · Argon2id · Gitleaks · TLS

Se conecta conConnects with

08

Infraestructura y operaciónInfrastructure and operations

Entornos que se pueden reconstruir, vigilar y recuperar.Environments that can be rebuilt, monitored and recovered.

  • Windows Server y Linux, on-premise y cloudWindows Server and Linux, on-premise and cloud
  • Servidor de ficheros Debian con Samba para los equipos Windows, con permisos por grupos y niveles por departamentoDebian file server with Samba for the Windows machines, with group- and level-based permissions per department
  • Docker Compose, servicios del sistema, proxies inversos y TLS automáticoDocker Compose, system services, reverse proxies and automatic TLS
  • Doble copia de seguridad: física en otro servidor local y en la nube, completa y versionada con rclone (Wasabi y S3)Dual backups: physical on a second local server, and full, versioned cloud copies with rclone (Wasabi and S3)
  • Inventario de virtualización VMware y monitorización de discos, máquinas y bases de datosVMware virtualisation inventory and monitoring of disks, machines and databases
  • Alertas por correo y móvil, logs con retención y control de ejecuciones simultáneasEmail and mobile alerts, retained logs and concurrent-run control
  • Herramientas de operación para aplicaciones Windows: panel web y API de control (estado, arranque, parada, reinicio, logs), icono en la bandeja, arranque automático y alertas de errores al móvilOperations tooling for Windows apps: web dashboard and control API (status, start, stop, restart, logs), system-tray icon, automatic start-up and error alerts to mobile
  • Diagnóstico de consultas lentas, índices y bloqueos; pruebas de carga y de memoriaDiagnosis of slow queries, indexes and locks; load and memory testing
  • Procedimientos de cambio con copia previa, trazabilidad y vuelta atrásChange procedures with a prior backup, traceability and rollback

Windows Server · Debian · Samba · rclone · Wasabi · AWS · Docker · VMware

Se conecta conConnects with

09

Cumplimiento normativoRegulatory compliance

Requisitos europeos convertidos en procesos digitales, trazables e integrados con el ERP.European requirements turned into digital, traceable processes integrated with the ERP.

  • Necesidades regulatorias convertidas en circuitos digitales conectados con el ERP: EUDR, CBAM y PPWRRegulatory requirements turned into digital workflows connected to the ERP: EUDR, CBAM and PPWR
  • Seguimiento documental de proveedores: solicitudes con plantillas, estados y transiciones, cambios masivos, recordatorios y avisos de casos sin respuestaSupplier documentation tracking: template-based requests, states and transitions, bulk changes, reminders and alerts for unanswered cases
  • Trazabilidad de cada cambio (usuario, fecha, estado anterior y nuevo, comentario) y autenticación adicional para revertir un estado aprobadoTraceability of every change (user, date, old and new state, comment) and extra authentication to revert an approved state
  • Comunicaciones en español o inglés según el proveedor, con comprobación del adjunto antes del envíoCommunications in Spanish or English depending on the supplier, with the attachment checked before sending
  • Datos de seguridad de producto sincronizados desde el sistema especializado al ERP: frases H, P y EUH, pictogramas GHS y UFIProduct safety data synced from the specialised system into the ERP: H, P and EUH statements, GHS pictograms and UFI
  • Etiquetado normativo multidioma en PDF, con avisos de información incompleta, validación del EAN y previsualización separada de la publicaciónMultilingual regulatory labels in PDF, with alerts for incomplete information, EAN validation and preview kept apart from publishing

EUDR · CBAM · PPWR · CLP/GHS · UFI · Python · PyQt5 · Dynamics NAV

Se conecta conConnects with

§ 03ProyectosProjects

Sistemas en producción, con resultados medibles.Systems in production, with measurable results.

Sistemas en funcionamiento que he diseñado y dirigido de extremo a extremo. Se muestran el proceso y el resultado, nunca datos internos.Systems in operation that I designed and led end to end. They show the process and the result, never internal data.

01 · Comercio B2BB2B commerce

Plataforma B2B y app comercialB2B platform and sales app

Venta para el equipo comercial, integrada con el ERP y operativa sin conexión.Sales tool for the field team, integrated with the ERP and working offline.

28+ pedidos en los primeros días de piloto · sincronización en ~1 min · sin coste de licencias28+ orders in the first days of the pilot · ~1 min sync · no licence costs

Decisión claveKey decision

Plataforma propia sobre una capa de datos validada del ERP, con segundo factor, sesiones por dispositivo y permisos por cliente.In-house platform on a validated ERP data layer, with a second factor, per-device sessions and per-customer permissions.

RendimientoPerformance

Cálculo de precios por lotes con cachés acotadas: de 115 ms a 0,43 ms en la medición de un lote de 24 referencias. Estabilidad comprobada con pruebas de carga de hasta 500 usuarios simulados.Batched price calculation with bounded caches: from 115 ms to 0.43 ms in the measurement of a 24-item batch. Stability checked with load tests of up to 500 simulated users.

FastAPI · Next.js · PWA · MySQL

02 · ComprasPurchasing

App de compras internacionalInternational purchasing app

Herramienta de los compradores en ferias y viajes: datos del ERP sin conexión, captura de proveedores con voz, fotos y tarjetas, y búsqueda visual de productos.The buyers’ tool at trade fairs and on trips: offline ERP data, supplier capture by voice, photos and business cards, and visual product search.

En uso por el equipo de compras en ferias de China, con y sin conexiónUsed by the purchasing team at trade fairs in China, online and offline

Decisión claveKey decision

Catálogo en el dispositivo con SQLite (WebAssembly), cola de sincronización sin duplicados, borrado remoto y claves de IA siempre en el servidor.On-device catalogue with SQLite (WebAssembly), a duplicate-free sync queue, remote wipe and AI keys always on the server.

React · PWA · FastAPI · Whisper · LLM

03 · IA aplicadaApplied AI

Agente de búsqueda de proveedoresSupplier sourcing agent

Un agente con herramientas localiza fabricantes por fases, compara fotos, los puntúa y los contrasta con el histórico de compras.A tool-using agent finds manufacturers in phases, compares photos, scores them and checks them against purchase history.

Horas de búsqueda ahorradas al equipo de compras · detecta referencias ya compradasHours of searching saved for the purchasing team · flags items already bought

Decisión claveKey decision

Los datos internos, como los costes, nunca se envían al modelo; evidencias de cada fuente, cancelación y tope de gasto por búsqueda.Internal data, such as costs, is never sent to the model; evidence from every source, cancellation and a spend cap per search.

Claude · FastAPI · Next.js · MariaDB

04 · RetailRetail

Planogramas sobre fotografía realPlanograms on real photography

Editor a escala de lineales y stands sobre fotos reales, con geometría, colisiones y conexión al catálogo.To-scale editor for shelves and stands on real photos, with geometry, collisions and catalogue connection.

Todas las estanterías del stand de una feria internacional en Frankfurt, diseñadas en digital en lugar de montarse en físicoEvery shelf of a trade-fair stand in Frankfurt designed digitally instead of being mocked up physically

Decisión claveKey decision

La IA propone surtido y genera ambientes, pero un motor de reglas valida referencias, medidas y baldas reales antes de aceptar nada.AI proposes assortments and generates settings, but a rules engine validates real references, measurements and shelves before anything is accepted.

FastAPI · Next.js · Konva · OpenAI

05 · IA aplicadaApplied AI

Equipo de agentes de IAAI agent team

Nueve agentes por función, del desarrollo al diseño gráfico, sin acceso a credenciales y con aprobación humana en cada paso.Nine agents, one per function, from development to graphic design, with no credential access and human approval at every step.

Hasta 8 proyectos activos en paralelo con un único responsable técnicoUp to 8 active projects in parallel with a single technical lead

Ver cómo funcionaSee how it works →

Claude Code · Python · three.js

06 · DatosData

Plataforma central de datosCentral data platform

Extrae los datos del ERP, los transforma, valida y publica con un contrato por aplicación consumidora, sustituyendo integraciones anteriores.Extracts ERP data, transforms, validates and publishes it with a contract per consuming application, replacing earlier integrations.

Alimenta cada hora 4 sistemas: compras, comercio online, catálogo B2B y herramientas internasFeeds 4 systems every hour: purchasing, online store, B2B catalogue and internal tools

Decisión claveKey decision

Cada carga se valida y se publica de forma atómica, con un único publicador por tabla; los procesos antiguos se sustituyeron tras comparar resultados.Every load is validated and published atomically, with a single publisher per table; legacy processes were replaced after comparing results.

Protección del ERPProtecting the ERP

Cargas incrementales con detección de cambios (rowversion) y conciliación de borrados; usuario de solo lectura, límites ante bloqueos, paralelismo limitado y ventanas horarias para las cargas pesadas.Incremental loads with change detection (rowversion) and deletion reconciliation; read-only user, lock timeouts, limited parallelism and time windows for heavy loads.

MigraciónMigration

Migración gradual, tabla a tabla, validada en bases paralelas y con un único proceso publicador; las integraciones restantes se van incorporando.Gradual, table-by-table migration validated on parallel databases with a single publishing process; remaining integrations are being brought in.

SQL Server · MySQL · Python

07 · Normativa UEEU regulation

Cumplimiento EUDR, CBAM y PPWREUDR, CBAM and PPWR compliance

Tres módulos integrados con el ERP que detectan las operaciones afectadas y piden a cada proveedor lo que exige cada norma: origen, especies, geolocalización y evidencias (EUDR); instalaciones, procesos, energía y emisiones (CBAM); documentación de envases (PPWR).Three ERP-integrated modules that identify affected operations and request from each supplier what each regulation requires: origin, species, geolocation and evidence (EUDR); installations, processes, energy and emissions (CBAM); packaging documentation (PPWR).

Seguimiento documental de proveedores digitalizado y trazable, en lugar de correos sueltos y hojas de cálculoSupplier documentation tracking, digital and traceable, instead of loose emails and spreadsheets

Decisión claveKey decision

Estados con transiciones explícitas (pendiente, solicitado, recibido, aprobado, rechazado, sin respuesta), historial de cada cambio con usuario, fecha y comentario, y autenticación adicional para revertir un estado aprobado.States with explicit transitions (pending, requested, received, approved, rejected, unanswered), a history of every change with user, date and comment, and extra authentication to revert an approved state.

AutomatizaciónAutomation

Solicitudes con plantillas, cambios masivos, recordatorios, avisos internos de casos sin respuesta y comunicaciones en español o inglés según el proveedor.Template-based requests, bulk changes, reminders, internal alerts for unanswered cases and communications in Spanish or English depending on the supplier.

Python · PyQt5 · SQL Server · Dynamics NAV · SMTP/TLS

08 · Seguridad de productoProduct safety

Etiquetado normativo y seguridad de productoRegulatory labelling and product safety

Sincroniza los datos de seguridad de producto desde el sistema especializado al ERP y genera las etiquetas multidioma: frases H, P y EUH, pictogramas GHS, UFI y código EAN.Syncs product safety data from the specialised system into the ERP and generates multilingual labels: H, P and EUH statements, GHS pictograms, UFI and EAN code.

El mantenimiento manual de relaciones se sustituye por una sincronización desde el origen, con etiquetas generadas automáticamenteManual maintenance of relationships replaced by sync from the source, with labels generated automatically

Decisión claveKey decision

Avisos ante información incompleta, validación del EAN y previsualización separada de la publicación. Los textos se agrupan por idioma, como en el arte del packaging, y se exportan para diseño.Alerts for incomplete information, EAN validation and preview kept apart from publishing. Texts are grouped by language, as in the packaging artwork, and exported for design.

Calidad del datoData quality

Se conservan las diferencias significativas entre códigos, se corrigen problemas de codificación y los datos incorrectos en origen se derivan a calidad.Meaningful differences between codes are preserved, encoding issues are fixed, and wrong source data is routed to quality.

Python · ODBC · Dynamics NAV · ReportLab · CLP/GHS

09 · IA aplicadaApplied AI

Traductor automático de productoAutomated product translator

Traduce descripciones, atributos e instrucciones de uso a varios idiomas, también en documentos Word, integrado con el ERP.Translates descriptions, attributes and instructions for use into several languages, Word documents included, integrated with the ERP.

Fichas e instrucciones multidioma sin traducción manual, con el formato original de los documentosMultilingual product data and instructions with no manual translation, keeping the documents’ original format

Decisión claveKey decision

Memoria de traducción, protección de cifras y unidades, correcciones humanas que se respetan y ajuste a los límites de longitud del ERP.Translation memory, protected figures and units, human corrections that are kept, and fitting to the ERP’s length limits.

Python · OpenAI · DeepL · SQL Server

10 · IntegraciónIntegration

Integración del ERP con una plataforma externaERP integration with an external platform

Capa de integración que expone datos del ERP mediante una API REST y los sincroniza con una plataforma de terceros en los dos sentidos: la plataforma consulta y los procesos propios publican.Integration layer that exposes ERP data through a REST API and syncs it with a third-party platform both ways: the platform pulls and our own processes push.

Catálogo sincronizado con la plataforma externa sin intervención manual, resistente a límites y caídas del servicio de tercerosCatalogue kept in sync with the external platform with no manual work, resilient to third-party limits and outages

Decisión claveKey decision

Envíos por lotes con control del ritmo y reintentos con espera exponencial ante límites (HTTP 429), bloqueos y errores transitorios; un fallo individual no detiene el resto y queda registrado.Batched sends with rate control and exponential-backoff retries on limits (HTTP 429), deadlocks and transient errors; a single failure does not stop the rest and is logged.

ConciliaciónReconciliation

El destino se concilia con el origen, incluidos los registros que dejan de estar activos, con registros persistentes de identificadores y combinación de upsert y actualización parcial según el comportamiento de la API.The target is reconciled with the source, including records that are no longer active, with persistent ID registries and a mix of upserts and partial updates to fit the API’s behaviour.

Python · Flask · MySQL · SQL Server · REST

11 · InfraestructuraInfrastructure

Servidor de datos corporativoCorporate file server

Diseñado e instalado desde cero sobre Debian: almacenamiento compartido para los equipos Windows de la empresa, con acceso por grupos y niveles para cada departamento.Designed and installed from scratch on Debian: shared storage for the company’s Windows machines, with group- and level-based access for every department.

7 años en funcionamiento sin un solo fallo · datos de todos los departamentos centralizados, con doble copia de seguridad: física y en la nube7 years in operation without a single failure · every department’s data centralised, with dual backups: physical and cloud

Decisión claveKey decision

Doble copia de seguridad: una física en otro servidor local, para recuperar rápido ante un fallo del equipo, y otra en la nube, completa y versionada con rclone en Wasabi, por si se pierde el local; sin cifrar, para descargarla a la máxima velocidad.Dual backup: a physical copy on a second local server, for fast recovery if the machine fails, and a full, versioned cloud copy with rclone to Wasabi in case the site is lost; unencrypted, so it can be downloaded at full speed.

Mi responsabilidadMy responsibility

Instalación, configuración, mantenimiento, actualizaciones y gestión de accesos.Installation, configuration, maintenance, updates and access management.

Debian · Samba · rclone · Wasabi

12 · AutomatizaciónAutomation

Automatización departamentalDepartmental automation

Aplicaciones y procesos que eliminan tareas manuales: informes, PDF, etiquetas QR y EAN, EDI y calidad de datos.Apps and processes that remove manual tasks: reports, PDFs, QR and EAN labels, EDI and data quality.

~60 herramientas en uso diario sobre el ERP~60 tools in daily use on top of the ERP

Python · PyQt5 · SQL Server · ReportLab

Ver 6 sistemas másSee 6 more systemsMostrar menosShow less

13 · IA aplicadaApplied AI

Validación de imágenes con IAAI image validation

Compara cada imagen de producto con su descripción mediante embeddings multimodales y señala posibles incoherencias.Compares every product image with its description using multimodal embeddings and flags possible mismatches.

Revisión dirigida: las personas revisan solo los casos señaladosTargeted review: people only check the flagged cases

Decisión claveKey decision

Caché de embeddings con detección de cambios por huella, y umbrales evaluados frente a falsos positivos con muestras revisadas por personas.Embedding cache with fingerprint change detection, and thresholds evaluated against false positives with human-reviewed samples.

PyTorch · OpenCLIP · Python

14 · OperaciónOperations

ServiceDesk internoInternal ServiceDesk

Gestión de solicitudes e incidencias con estados, equipos, prioridades, adjuntos, notificaciones y registro de tiempos.Request and incident management with states, teams, priorities, attachments, notifications and time logging.

Soporte trazable con SLA calculados y métricas de servicioTraceable support with calculated SLAs and service metrics

Decisión claveKey decision

Permisos verificados en servidor, límite de intentos y protección anti-bots en el acceso.Server-side permission checks, rate limiting and bot protection at sign-in.

FastAPI · React · MySQL

15 · LogísticaLogistics

Visor 3D de carga de palets3D pallet load viewer

Calcula capacidad, distribución y colisiones de la carga y la muestra en 2D y 3D en el navegador.Calculates load capacity, distribution and collisions, and shows it in 2D and 3D in the browser.

Distribución de la carga calculada antes de preparar el pedidoLoad distribution calculated before the order is prepared

Decisión claveKey decision

Cálculo determinista, sin modelos generativos: el resultado tiene que ser exacto.Deterministic calculation, no generative models: the result has to be exact.

Three.js · Python

16 · DatosData

Geocodificación y mapasGeocoding and maps

Normaliza direcciones, las geocodifica con varios proveedores, comprueba su coherencia y las muestra en mapas vectoriales propios.Normalises addresses, geocodes them with several providers, checks consistency and shows them on self-hosted vector maps.

Direcciones normalizadas y localizadas para los sistemas de negocioNormalised, located addresses for the business systems

Decisión claveKey decision

Caché por huella para no repetir consultas y mapas servidos desde la propia infraestructura.Fingerprint cache to avoid repeated lookups, and maps served from our own infrastructure.

MapLibre · PMTiles · Python

17 · InfraestructuraInfrastructure

Centro de control de servidoresServer control centre

Panel propio desde el que controlo todos los servidores: recolectores de estado de máquinas virtuales, discos, almacenamiento, bases de datos, procesos y consumo de IA, con alertas por correo y móvil.My own dashboard to oversee every server: status collectors for virtual machines, disks, storage, databases, processes and AI usage, with email and mobile alerts.

Las incidencias se detectan antes de que lleguen al usuarioIncidents are detected before they reach users

Python · VMware · pyVmomi · Linux

18 · DirecciónManagement

Cuadro de mando de direcciónExecutive dashboard

Indicadores de negocio para la gerencia sobre datos del ERP. Mi parte: conexión a datos, seguridad y servidor, en colaboración con el equipo de frontend.Business KPIs for management on ERP data. My part: data connection, security and server, in collaboration with the frontend team.

En desarrolloIn development

Next.js · SQL Server

§ 04Ciclo completoFull cycle

Seis roles, una persona.Six roles, one person.

El ciclo de vida de un sistema abarca seis disciplinas: análisis, arquitectura, planificación, desarrollo, infraestructura y operación. Asumo las seis con responsabilidad de extremo a extremo: del análisis al servidor.A system’s life cycle spans six disciplines: analysis, architecture, planning, development, infrastructure and operations. I cover all six with end-to-end ownership: from analysis to server.

  1. 01

    AnálisisAnalysis

    Analista funcionalBusiness analyst

    Levantamiento de requisitos con los usuarios clave a partir del proceso real de la organización.Requirements gathering with key users, based on the organisation’s actual process.

    produceoutput · requisitos y flujosrequirements and flows

  2. 02

    ArquitecturaArchitecture

    Arquitecto de solucionesSolutions architect

    Definición de la solución técnica y registro de cada decisión con su justificación.Definition of the technical solution, with every decision recorded and justified.

    produceoutput · decisiones documentadasdocumented decisions

  3. 03

    PlanificaciónPlanning

    Jefe de proyectoProject manager

    Priorización, fases y backlog: alcance, orden de entrega y criterios de aceptación.Prioritisation, phases and backlog: scope, delivery order and acceptance criteria.

    produceoutput · hoja de ruta y ticketsroadmap and tickets

  4. 04

    Desarrollo con IAAI-driven development

    Director técnico del desarrolloDevelopment technical lead

    El código lo escriben agentes de IA a partir de mis especificaciones. Como analista de sistemas que ha programado en C/AL y Python y trabaja a diario con SQL Server, verifico, reviso y apruebo cada cambio antes de que llegue a producción.AI agents write the code from my specifications. As a systems analyst who has programmed in C/AL and Python and works daily with SQL Server, I verify, review and approve every change before it reaches production.

    produceoutput · cambios revisados, probados y aprobadosreviewed, tested, approved changes

  5. 05

    InfraestructuraInfrastructure

    Sysadmin / DevOpsSysadmin / DevOps

    Servidores, redes, contenedores, copias y despliegues reproducibles.Servers, networks, containers, backups and reproducible deployments.

    produceoutput · entornos y desplieguesenvironments and deployments

  6. 06

    OperaciónOperations

    Soporte y operacionesSupport and operations

    Monitorización, gestión de incidencias y mejora continua tras la puesta en producción.Monitoring, incident management and continuous improvement after go-live.

    produceoutput · monitorización y procedimientosmonitoring and runbooks

portal de pedidos · de la idea a producciónorder portal · from idea to production01/06
AnálisisAnalysisArquitecturaArchitecturePlanPlanDesarrollo IAAI devInfraInfraOperaciónOps

análisis · proceso actualanalysis · current process

ClienteCustomer
→
ComercialSales rep
→
ERP
→
AlmacénWarehouse
⚠ doble introducción de pedidosorders entered twice
⚠ tarifas aplicadas manualmenteprices applied manually
⚠ stock sin actualización en tiempo realstock not updated in real time
requisitorequirement integración automática del pedido en el ERP con la tarifa del clienteautomatic order integration into the ERP with the customer’s price list

arquitectura · componentes y decisionesarchitecture · components and decisions

InterfazInterfaceweb · app sin conexiónweb · offline app
APIreglas y permisosrules and permissions
Capa de datosData layerréplica validadavalidated replica
ERPfuente de verdadsource of truth
ADR-01 réplica de solo lecturaread-only replica
ADR-02 offline-first en campooffline-first in the field
ADR-03 2FA en administración2FA for administration

planificación · fase 1planning · phase 1

Por hacerTo do

#15 2FA administraciónadmin 2FA
#16 desplieguedeployment

En cursoIn progress

#13 carritocart
#14 pedido → ERPorder → ERP

HechoDone

#11 catálogocatalogue
#12 tarifas por clientecustomer pricing
prioridadpriority primero lo que elimina tareas manuales; después, el resto del alcancefirst what removes manual tasks; then the rest of the scope

desarrollo con IA · revisión de códigoAI-driven development · code review

agent/pedidosorders · PR #422 archivosfiles
- cur.execute(f"SELECT * FROM orders WHERE id = {order_id}")
W. Valera Riesgo de inyección SQL: usar consultas parametrizadas y columnas explícitas.SQL injection risk: use parameterised queries and explicit columns.
+ cur.execute("SELECT id, status FROM orders WHERE id = %s", (order_id,))
W. Valera Cabecera y líneas en una única transacción para garantizar la atomicidad.Header and lines in a single transaction to guarantee atomicity.
+ with conn.begin():+ save_order(order); save_lines(order.lines)
✓ 24 tests✓ gitleaks✓ revisiónreview
Revisado y aprobadoReviewed and approved · W. Valera
revisoI review: seguridad · transacciones · rendimiento · errores · testssecurity · transactions · performance · errors · tests

infraestructura · despliegueinfrastructure · deployment

proxyTLS
webNext.js
apiFastAPI
dbred internainternal net
$ docker compose up -d✓ proxy · TLS✓ api · healthcheck✓ db · solo red internainternal network only✓ copia programadabackup scheduled
firewallSSH con clavekey-only SSHsin rootnon-root

operación · en producciónoperations · in production

webOK
apiOK
datosdataal díafresh
copia nocturnanightly backuprestaurablerestorable
alertasalerts0 abiertas0 open

servicio estable · avisos solo si algo cambiastable service · alerts only on change

un proyecto · seis roles · una personaone project · six roles · one person

Coherencia de extremo a extremoEnd-to-end consistencyLas decisiones de diseño se trasladan íntegras a la implementación y a la operación.Design decisions carry through intact to implementation and operations.
Responsabilidad únicaSingle point of accountabilityUn interlocutor que responde del sistema completo, del requisito a la producción.One point of contact accountable for the whole system, from requirement to production.
Entrega ágil y controladaFast, controlled deliveryPlazos de entrega reducidos, con revisión y aprobación en cada fase.Shorter delivery times, with review and approval at every stage.

ContinuidadContinuity

Documentación, control de versiones y procedimientos permiten que otro profesional o los agentes de IA retomen cualquier sistema. La continuidad no depende de una sola persona.Documentation, version control and runbooks allow another professional or the AI agents to take over any system. Continuity does not depend on a single person.

Matriz de coberturaCoverage matrix

0/16 celdas cubiertas · sin huecoscells covered · no gaps

AnalizarAnalyse
DiseñarDesign
ConstruirBuild
OperarRun
InfraestructuraInfrastructure
✓capacidad y riesgoscapacity and risks
✓red, copias y seguridadnetwork, backups, security
✓servidores y contenedoresservers and containers
✓parches y vigilanciapatching and monitoring
DatosData
✓fuentes y calidadsources and quality
✓modelo y réplicamodel and replica
✓ETL y validaciónETL and validation
✓conciliación y alertasreconciliation and alerts
AplicaciónApplication
✓procesos y usuariosprocesses and users
✓API e interfazAPI and interface
✓desarrollo con IA y revisiónAI-driven build and review
✓incidencias y mejorasincidents and improvements
IA aplicadaApplied AI
✓casos de uso realesreal use cases
✓límites y aprobaciónlimits and approval
✓agentes y promptsagents and prompts
✓costes y calidadcost and quality
§ 05Proyecto destacado · 2026Featured project · 2026

Un departamento de tecnología con agentes de IA.A technology department powered by AI agents.

Un equipo de agentes especializados, uno por función, que desarrolla, prueba y mantiene sistemas en producción como un departamento de tecnología, siempre con aprobación humana. Con él mantengo más de 15 sistemas y hasta 8 proyectos activos en paralelo, con un único responsable técnico.A team of specialised agents, one per function, that builds, tests and maintains production systems like a technology department, always under human approval. With it I maintain more than 15 systems and up to 8 active projects in parallel, as a single technical lead.

EtapaStage 01 / 06

  • Un agente por funciónOne agent per function
  • Partes con semáforoTraffic-light reports
  • ERP en solo lecturaRead-only ERP
  • Sin acceso a credencialesNo credential access
  • Supervisión en panel 3D3D supervision dashboard

El equipo: un agente por función. Los especialistas en datos, redes y servidores, C/AL de NAV y diseño gráfico intervienen según el alcance del cambio.The team: one agent per function. Data, networks & servers, NAV C/AL and graphic design specialists take part depending on the scope of the change.

change.pipelinelive

    + especialistas según el cambio+ specialists depending on the change

    data-engineerResponde preguntas de negocio con consultas de solo lectura al ERPAnswers business questions with read-only ERP queriesinfra-engineerRevisa red, servidores y virtualización, siempre en solo lecturaReviews network, servers and virtualisation, always read-onlynav-developerPrepara los cambios C/AL en Dynamics NAV; los importa una personaPrepares C/AL changes in Dynamics NAV; a person imports themgraphic-designerPrepara piezas SVG y HTML con las guías de marca y comprueba el contrastePrepares SVG and HTML pieces to brand guidelines and checks contrast

    // representación ilustrativa del flujo// illustrative representation of the flow

    El equipoThe team

    La IA como un equipo coordinado con roles y controles, no como un chat suelto. Funciona como un departamento de tecnología: uno planifica, otro construye, otro prueba y otro documenta. Yo dirijo y apruebo cada paso.AI as a coordinated team with roles and controls, not a loose chat. It works like a technology department: one plans, one builds, one tests and one documents. I lead and approve every step.

    • ArchitectPlanifica antes de construir: capa de datos afectada, proyectos implicados, riesgos y vuelta atrás. No escribe código.Plans before building: affected data layer, impacted projects, risks and rollback. Writes no code.
    • Lead developerConstruye y corrige siguiendo el plan aprobado, con copia de seguridad previa a cualquier cambio.Builds and fixes following the approved plan, with a backup before any change.
    • QA leadPrueba, revisa la seguridad y cuadra cifras contra el ERP. Emite informe con semáforo y nunca corrige: devuelve el trabajo.Tests, reviews security and reconciles figures against the ERP. Reports with a traffic light and never fixes: it sends work back.
    • Data engineerResponde preguntas de negocio con consultas de solo lectura al ERP.Answers business questions with read-only ERP queries.
    • SREVigila procesos nocturnos, cargas de datos y tareas programadas, y diagnostica fallos.Monitors nightly jobs, data loads and scheduled tasks, and diagnoses failures.
    • Tech writerMantiene la documentación y el mapa de proyectos al día.Keeps documentation and the project map up to date.
    • Infra engineerRevisa red, servidores y virtualización, siempre en solo lectura.Reviews network, servers and virtualisation, always read-only.
    • NAV developerAnaliza y prepara cambios en Dynamics NAV (C/AL). La importación y la compilación las hace siempre una persona.Analyses and prepares Dynamics NAV (C/AL) changes. Import and compilation are always done by a person.
    • Graphic designerPrepara piezas SVG y HTML siguiendo las guías de marca, comprueba el contraste y entrega cada encargo con un parte de revisión. No toca los originales: lee de una carpeta y escribe en otra.Prepares SVG and HTML pieces following brand guidelines, checks contrast and delivers every job with a review report. It never touches originals: it reads from one folder and writes to another.
    Oficina virtual en 3D3D virtual officeCada agente es un personaje en su mesa y se le ve trabajar en tiempo real. Las aprobaciones llegan como tarjetas de «Sí» o «No», también desde el móvil.Each agent is a character at its desk, visibly working in real time. Approvals arrive as “Yes” / “No” cards, also on mobile.
    Habilidades compartidasShared skillsConocimiento empaquetado que usan todos los agentes: cómo consultar el ERP sin riesgo, el contrato de datos entre el ERP y las aplicaciones, o el formato común de los informes.Packaged knowledge every agent uses: how to query the ERP safely, the data contract between the ERP and the applications, and the common report format.
    Traspasos con informe estándarHandoffs through standard reportsCada agente cierra su trabajo con un parte que recomienda el siguiente paso. Nada avanza sin aprobación.Each agent closes its work with a report recommending the next step. Nothing moves forward without approval.
    Configuración reproducibleReproducible setupRepositorios privados en una organización de GitHub y la configuración de los agentes instalable igual en cualquier equipo con un solo script.Private repositories in a GitHub organisation, and the agents’ configuration installable identically on any machine with a single script.

    PróximamenteComing next

    Lo que ya está en preparación, con la misma regla: la IA propone y ejecuta, la persona aprueba.What is already in preparation, under the same rule: AI proposes and executes, a person approves.

    • Nuevo sistema de gestión de almacénNew warehouse management systemUn proyecto propio y ambicioso: un SGA de nueva generación integrado con el ERP y la capa de datos, construido con el mismo método y los mismos controles.An ambitious in-house project: a new-generation WMS integrated with the ERP and the data layer, built with the same method and controls.
    • Segunda opinión con otro modeloA second opinion from another modelUn modelo de otro proveedor como revisor externo del QA: dos IA distintas fallan en cosas distintas y juntas detectan más errores.A model from another provider as an external reviewer for QA: two different AIs fail in different ways and together catch more errors.
    • Agente de ciberseguridadCybersecurity agentUn décimo agente centrado en la resiliencia frente al ransomware y en la vigilancia diaria de vulnerabilidades frente al inventario de versiones.A tenth agent focused on ransomware resilience and daily vulnerability monitoring against the version inventory.
    • Monitorización centralizadaCentralised monitoringMonitorización de la infraestructura integrada como una «sala de infraestructura» dentro de la oficina virtual.Infrastructure monitoring integrated as an “infrastructure room” inside the virtual office.
    • Agentes por departamentoDepartment agentsCalidad e importación, contabilidad y ventas, con la misma forma de trabajar y los mismos controles.Quality and import, accounting and sales, with the same way of working and the same controls.

    Alineado con las prácticas del sectorAligned with industry practice

    El modelo es el mismo que aplican los equipos de ingeniería de referencia en desarrollo con agentes: la IA escribe y una persona revisa y aprueba lo que llega a producción. En el sector se denomina agentic engineering con human-in-the-loop.The model is the same one leading engineering teams apply to agent-based development: AI writes and a person reviews and approves what reaches production. The industry calls it agentic engineering with human-in-the-loop.

    Aprobación humana antes de producciónHuman approval before productionPolítica del equipo: ningún despliegue sin aprobación explícita, y cada aprobación cubre una sola acción.Team policy: no deployment without explicit approval, and each approval covers a single action.
    Separación de funcionesSeparation of dutiesQuien implementa no aprueba: el agente de QA no corrige y el de desarrollo no valida su propio trabajo.Whoever implements does not approve: the QA agent does not fix and the development agent does not validate its own work.
    Mínimo privilegio para agentesLeast privilege for agentsHerramientas acotadas según el rol, solo lectura sobre el ERP y acceso a credenciales bloqueado por configuración.Tools scoped by role, read-only on the ERP and credential access blocked by configuration.
    Defensa frente a inyección de instruccionesPrompt-injection defenceEl contenido externo se trata como dato, nunca como orden; solo cuenta una aprobación con formato fijo.External content is treated as data, never as instructions; only a fixed-format approval counts.
    Secretos fuera del repositorioSecrets out of the repositoryCommit solo de los ficheros revisados y escaneo de secretos con reglas propias en el flujo de subida.Commit only the reviewed files, and secret scanning with custom rules in the push workflow.
    Observabilidad (AgentOps)Observability (AgentOps)Panel en tiempo real, partes con semáforo por agente y filtro de secretos en todo lo que se muestra.Real-time dashboard, traffic-light reports per agent and secret filtering on everything displayed.

    Mejora continua del propio sistemaContinuous improvement of the system itself

    El equipo de agentes se audita a sí mismo. La última revisión comparó cada control con las prácticas del sector, distinguió los que eran técnicos de los que solo eran normas escritas y produjo un plan por fases. Cada fase define qué se toca, cómo se prueba, cómo se vuelve atrás y qué decisión requiere.The agent team audits itself. The latest review compared every control with industry practice, separated the ones enforced technically from those that were only written rules, and produced a phased plan. Each phase defines what changes, how it is tested, how it is rolled back and which decision it needs.

    1. FasePhase 0planificadaplannedEndurecimiento de controlesControl hardeningQue cada barrera sea técnica y no solo de palabra: confirmación real en cada subida, bloqueo de operaciones destructivas en git y aprobación imposible de suplantar desde otro proceso.Make every barrier technical, not just a rule: a real confirmation on every push, destructive git operations blocked and approval that cannot be spoofed from another process.
    2. FasePhase 1planificadaplannedEspecificación y cambios pequeñosSpecification and small changesRequisitos, criterios de aceptación verificables y fuera de alcance antes de programar; un objetivo por cambio y un tope de tamaño, más estricto en zonas de riesgo.Requirements, verifiable acceptance criteria and out-of-scope before coding; one goal per change and a size cap, stricter in risk areas.
    3. FasePhase 2planificadaplannedIntegración continuaContinuous integrationTests, análisis estático, escaneo de secretos y auditoría de dependencias en cada cambio, con permisos de solo lectura y sin secretos en la CI.Tests, static analysis, secret scanning and dependency auditing on every change, with read-only permissions and no secrets in CI.
    4. FasePhase 3planificadaplannedTests primero y casos de abusoTests first and abuse casesEn zonas de riesgo, primero el test que falla y después el cambio; batería de abuso: importes, cantidades, doble envío, inyección, permisos y fechas.In risk areas, the failing test first and then the change; an abuse suite: amounts, quantities, duplicate submission, injection, permissions and dates.
    5. FasePhase 4en marchain progressMétricas del equipoTeam metricsTasa de aprobación, ciclo de entrega a QA, vueltas de revisión, tiempo de respuesta humano y coste por agente, con motivo codificado de cada rechazo.Approval rate, delivery-to-QA cycle, review round-trips, human response time and cost per agent, with a coded reason for every rejection.
    6. FasePhase 5planificadaplannedAislamiento y despliegue separadoIsolation and separate deploymentDesarrollo en copias aisladas, despliegue como paso aprobado y etiquetado, y ningún agente que pueda leer contenido externo y publicar a la vez.Development in isolated copies, deployment as an approved, tagged step, and no agent able to read external content and publish at the same time.

    Principio que guía el plan: ninguna fase añade autoaprobación ni amplía los permisos de un agente sin una decisión humana explícita.Guiding principle: no phase adds self-approval or widens an agent’s permissions without an explicit human decision.

    § 06Decisiones de arquitecturaArchitecture decisions

    Criterio, no solo tecnología.Judgement, not just technology.

    Seis decisiones que repito en cada proyecto, con su porqué y lo que cuestan. La primera, dibujada: separar el sistema transaccional de las aplicaciones que consumen sus datos.Six decisions I repeat in every project, with their reasoning and their cost. The first one, drawn: separating the transactional system from the applications that consume its data.

    ADR-01 · Replicar el ERP en lugar de consultarlo en directoReplicate the ERP instead of querying it live

    L1TransaccionalTransactional
    ERPFuente única de verdad para maestros y transacciones.Single source of truth for master data and transactions.
    Sistemas satéliteSatellite systemsAlmacén, EDI y otros sistemas integrados.Warehouse, EDI and other integrated systems.
    extracción de solo lecturaread-only extraction
    L2DatosData
    Capa de datosData layerRéplica del ERP que publica conjuntos de datos validados para el resto de sistemas.ERP replica that publishes validated datasets to every other system.

    ✓ 0 válidos · publicadosvalid · published   ✕ 0 rechazadosrejected

    carga validadavalidated load
    L3AplicacionesApplications
    Aplicaciones de negocioBusiness applicationsE-commerce, compras, analítica y cumplimiento normativo.E-commerce, purchasing, analytics and regulatory compliance.

    ADR-01

    Replicar el ERP en lugar de consultarlo en directoReplicate the ERP instead of querying it live

    ContextoContext
    Varias aplicaciones necesitan datos del ERP. Consultarlo en directo lo carga y las acopla a su disponibilidad.Several applications need ERP data. Querying it live loads it and ties them to its availability.
    DecisiónDecision
    Una capa de datos con réplica de solo lectura, validación y publicación atómica.A data layer with a read-only replica, validation and atomic publishing.
    Coste asumidoTrade-off
    Los datos llegan con minutos de retraso y hay que vigilar su frescura.Data arrives minutes late and its freshness has to be monitored.

    ADR-02

    Offline-first cuando el usuario trabaja fueraOffline-first when the user works away from the desk

    ContextoContext
    Ferias, viajes o almacén: la cobertura no está garantizada y el trabajo no puede esperar.Trade fairs, trips or the warehouse: coverage is not guaranteed and work cannot wait.
    DecisiónDecision
    Datos locales protegidos por el cifrado del dispositivo, cola de sincronización y borrado remoto.Local data protected by device encryption, a sync queue and remote wipe.
    Coste asumidoTrade-off
    Más complejidad: sincronizar, resolver conflictos y versionar el paquete de datos.More complexity: syncing, resolving conflicts and versioning the data pack.

    ADR-03

    La IA propone; una persona apruebaAI proposes; a person approves

    ContextoContext
    Los agentes y los LLM aceleran el desarrollo, pero pueden generar errores con apariencia de corrección.Agents and LLMs accelerate development, but they can produce errors that look correct.
    DecisiónDecision
    Un agente por función, herramientas mínimas, sin credenciales y aprobación humana antes de cualquier efecto.One agent per function, minimal tools, no credentials and human approval before any effect.
    Coste asumidoTrade-off
    El ritmo de entrega queda supeditado a la revisión humana.Delivery pace is bound to human review.

    ADR-04

    Tecnología madura antes que tecnología emergenteMature technology over emerging technology

    ContextoContext
    Sistemas que deben durar años, operados por un equipo pequeño.Systems that must last for years, run by a small team.
    DecisiónDecision
    Python, SQL, frameworks maduros, contenedores y proveedores sustituibles.Python, SQL, mature frameworks, containers and replaceable providers.
    Coste asumidoTrade-off
    Las novedades se adoptan solo cuando aportan un beneficio demostrable.New technologies are adopted only when they bring a demonstrable benefit.

    ADR-05

    Seguridad verificable, no declaradaVerifiable security, not declared security

    ContextoContext
    Un control que no se verifica acaba degradándose sin que se detecte.A control that is not verified eventually degrades without being detected.
    DecisiónDecision
    Cada control con su prueba: tests, escaneos y despliegues que se detienen si falta un control.Every control has its test: tests, scans and deployments that stop when a control is missing.
    Coste asumidoTrade-off
    Más trabajo inicial en automatización; a cambio, cualquier degradación se detecta en el siguiente despliegue.More upfront automation work; in return, any regression is caught on the next deployment.

    ADR-06

    Documentar cada decisiónDocument every decision

    ContextoContext
    En equipos reducidos con varios proyectos en paralelo, el conocimiento no documentado se pierde.In small teams running several projects in parallel, undocumented knowledge is lost.
    DecisiónDecision
    Registros de decisiones, tickets y cambios con copia previa y vuelta atrás.Decision records, tickets and changes with a pre-change copy and rollback.
    Coste asumidoTrade-off
    Tiempo de documentación en cada cambio; a cambio, cualquier profesional puede retomar el trabajo.Documentation time on every change; in return, any professional can pick up the work.
    § 07SeguridadSecurity

    Seguridad por capas, verificada.Security in layers, verified.

    Ningún control es suficiente por sí solo. Cada sistema se protege en capas, de fuera hacia dentro, y cada capa se comprueba: con tests, con escaneos o con un despliegue que falla si falta un control. Debajo, una simulación de ataques habituales y la capa que detiene cada uno.No single control is sufficient on its own. Every system is protected in layers, from the outside in, and every layer is checked: by tests, by scans or by a deployment that fails when a control is missing. Below, a simulation of common attacks and the layer that stops each one.

    petición legítimalegitimate requestataqueattackSimulación ilustrativa: cada ataque se detiene en la capa que lo frena; las legítimas llegan al dato.Illustrative simulation: each attack stops at the layer that blocks it; legitimate requests reach the data.

    soc.consolesimulación · ataques habituales contra un servicio websimulation · common attacks on a web service
      0peticiones maliciosas bloqueadasmalicious requests blocked
      0peticiones legítimas servidaslegitimate requests served
      0ataques que llegan al datoattacks reaching the data

      Simulación ilustrativa de cómo actúa cada capa. Los códigos y formatos son reales; las direcciones IP pertenecen a rangos reservados para documentación y no se muestra tráfico real.Illustrative simulation of how each layer acts. Codes and formats are real; IP addresses belong to ranges reserved for documentation and no real traffic is shown.

      Siguiente pasoNext step

      Ninguna seguridad es definitiva. Lo próximo en la hoja de ruta: escaneo de dependencias y vulnerabilidades en cada despliegue, copias inmutables y desconectadas, autenticación resistente al phishing (passkeys) y una prueba de intrusión externa.No security is ever final. Next on the roadmap: dependency and vulnerability scanning on every deployment, immutable offline backups, phishing-resistant authentication (passkeys) and an external penetration test.

      Aplicado en esta webApplied to this website

      • Nota A+ (135/100) en Mozilla Observatory, 12 de 12 pruebas superadasA+ (135/100) on Mozilla Observatory, 12 of 12 tests passed
      • CSP estricta: sin código incrustado, solo orígenes declaradosStrict CSP: no inline code, declared origins only
      • Integridad SRI en cada librería externaSRI integrity on every external library
      • HSTS, nosniff, Referrer-Policy, Permissions-Policy y frame-ancestorsHSTS, nosniff, Referrer-Policy, Permissions-Policy and frame-ancestors
      • Ninguna clave privada en el navegador: el formulario usa solo una clave públicaNo private key in the browser: the form uses a public key only
      • Sin cookies ni analítica de tercerosNo cookies and no third-party analytics
      infraestructurainfrastructure
      edgeCDN · WAF · TLS
      servidor · contenedoresserver · containersfirewall · SSH con clavefirewall · key-only SSH
      proxyTLS automáticoauto TLS
      webNext.js
      apisin rootnon-root
      dbred internainternal network
      copiasbackupscifradas · fuera del servidorencrypted · off-server
      deploygit pull · deploy key
      vigilantewatchdogalertasalerts
      datosdata
      ERPorigen · solo lecturasource · read-only
      artículositemsclientescustomerspreciosprices
      réplicareplica
      capa de datosdata layerMySQL
      productosproductstarifasprice listsclientescustomersstock

      ✓ sha256 · RENAME atómicoatomic

      cargaload
      BD de la appapp DBMySQL
      pedidosorderssesionessessionsusuariosusers

      INSERT pedidosorders

      pedido → ERP · sin intervención manualorder → ERP · no manual step
      api · FastAPI
      TLS→CORS→límiterate limit→JWT→rolrole→handler
      POST/api/login200
      POST/api/login/2fa200
      GET/api/catalogo200
      GET/api/tarifas200
      POST/api/pedidos201
      GET/api/documentos/…200
      Pydantic · SQLAlchemy · teststests · OpenAPI solo en desarrollodev only
      frontend
      /catalogo
      HogarHomeDecoraciónDecorTextilTextiletarifa del clientecustomer price list
      REF 041212,40 €+
      REF 11878,95 €AñadirAdd
      REF 093024,10 €+
      REF 22155,60 €+
      REF 007817,30 €+
      REF 13429,75 €+

      PedidoOrder · PWA

      sin conexión · 3 en colaoffline · 3 queued

      Código 2FA2FA code

      4829
      TLS 1.3cookie HttpOnlyHttpOnly cookieTOTPsecretos fuera del códigosecrets out of codegitleaksCSP

      Método · aplicable a cualquier proyectoMethod · applies to any project

      § 08MétodoMethod

      Así construyo un sistema, capa a capa.How I build a system, layer by layer.

      No es un proyecto concreto: es el método que aplico en todos. De abajo arriba, cada capa con lo que decido y cómo lo compruebo.Not one specific project: the method I apply to all of them. Bottom-up, each layer with what I decide and how I check it.

      00 / 06

      MétodoMethod

      Así construyo un sistema.This is how I build a system.

      Independientemente del proyecto, el método es el mismo. Empiezo por la base y termino por lo que ve el usuario. Al bajar, cada capa aparece en primer plano con lo que decido en ella y cómo lo compruebo, antes de encajar en su sitio.Regardless of the project, the method is the same. I start at the base and finish with what the user sees. As you scroll, each layer comes to the front with what I decide in it and how I check it, before slotting into place.

      Capa 1 · InfraestructuraLayer 1 · Infrastructure

      Una base que se puede reconstruir.A foundation that can be rebuilt.

      Contenedores sin privilegios, base de datos nunca expuesta a internet, proxy con TLS automático y despliegue reproducible desde git. Las copias van cifradas y fuera del servidor, y ni el propio servidor puede borrarlas.Unprivileged containers, a database never exposed to the internet, a proxy with automatic TLS and reproducible deployment from git. Backups are encrypted and off-server, and not even the server itself can delete them.

      Cómo lo compruebo: puertos verificados desde fuera y restauraciones probadas.How I check it: ports verified from outside and restores tested.

      Capa 2 · DatosLayer 2 · Data

      Una sola fuente de verdad.One single source of truth.

      El sistema principal, normalmente el ERP, no se modifica: se replica en solo lectura a una capa de datos. Cada carga se valida antes de publicarse y se publica de forma atómica; si los datos no cuadran, no se publican.The core system, usually the ERP, is never modified: it is replicated read-only into a data layer. Every load is validated before publishing and published atomically; if the data does not reconcile, nothing is published.

      Cómo lo compruebo: huellas, recuentos y conciliación con el origen.How I check it: fingerprints, row counts and reconciliation with the source.

      Capa 3 · APILayer 3 · API

      Ninguna petición llega a la lógica de negocio sin superar los controles.No request reaches business logic without passing the controls.

      Cada petición atraviesa la misma cadena (TLS, CORS, límites, sesión y permisos) antes del código de negocio. Contratos tipados, errores que no exponen información interna y documentación de la API solo en desarrollo.Every request passes the same chain (TLS, CORS, limits, session and permissions) before business code. Typed contracts, errors that expose no internal information and API docs in development only.

      Cómo lo compruebo: tests de autenticación, permisos y límites en cada ruta.How I check it: authentication, permission and rate-limit tests on every route.

      Capa 4 · InterfazLayer 4 · Interface

      Pensada para quien la usa.Designed for whoever uses it.

      Si el usuario trabaja fuera de la oficina, funciona sin conexión y sincroniza al recuperarla; el acceso de administración exige un segundo factor. Nada sensible se guarda en el navegador.If the user works away from the office, it runs offline and syncs on reconnection; administrative access requires a second factor. Nothing sensitive is stored in the browser.

      Cómo lo compruebo: pruebas con usuarios reales y sesiones revocables.How I check it: testing with real users and revocable sessions.

      Envolvente · SeguridadEnvelope · Security

      Envuelve todo lo demás.It wraps everything else.

      No es una capa más: rodea a todas. TLS de extremo a extremo, sesión en cookie HttpOnly, segundo factor en administración, secretos fuera del código, CSP y escaneo de secretos antes de cada subida.Not one more layer: it surrounds all of them. End-to-end TLS, HttpOnly session cookie, second factor for administration, secrets out of the code, CSP and secret scanning before every push.

      Cómo lo compruebo: escaneo en cada subida y despliegues que fallan si falta un control.How I check it: a scan on every push and deployments that fail when a control is missing.

      EnsambladoAssembled

      Un sistema, de extremo a extremo.One system, end to end.

      Con todo en su sitio, una petición recorre las capas y vuelve. Cada pieza es independiente y sustituible, pero quien lo usa ve un único sistema. Es el mismo método en todos los proyectos.With everything in place, a request travels through the layers and back. Each piece is independent and replaceable, yet the user sees a single system. Same method, every project.

      interfaz → API → datos → respuestainterface → API → data → response

      § 09ExperienciaExperience

      De la implantación del ERP a la dirección de la tecnología.From ERP implementation to leading technology.

      2024 — hoynowValencia

      Responsable de Sistemas de Negocio, Automatización e IABusiness Systems, Automation & AI Lead

      Arte Regal Import, S.L.

      Responsabilidad integral sobre ERP, datos, aplicaciones, infraestructura, copias de seguridad y seguridad de la información.End-to-end accountability for ERP, data, applications, infrastructure, backups and information security.

      ERP

      • Desarrollo C/AL con trazabilidad en código y documentaciónC/AL development traced in code and documentation
      • Integración con SGA y procesos desatendidos en Job Queue / NASWMS integration and unattended Job Queue / NAS processes
      • Facturación electrónica EDI e informes RDLCEDI e-invoicing and RDLC reporting
      • Digitalización del cumplimiento EUDR, CBAM y PPWR integrada con el ERP, y etiquetado normativo de seguridad de producto (CLP/GHS/UFI)Digitalisation of EUDR, CBAM and PPWR compliance integrated with the ERP, and product-safety regulatory labelling (CLP/GHS/UFI)
      • Aplicaciones Python integradas en acciones del ERP y servicios SOAPPython apps embedded in ERP actions, and SOAP services

      Datos e integraciónData & integration

      • Arquitectura y dirección técnica de la plataforma central de datos: extracción incremental desde el ERP, transformación, validación y publicación con contratos por aplicaciónArchitecture and technical lead of the central data platform: incremental ERP extraction, transformation, validation and publishing with per-application contracts
      • ETL completos e incrementales con staging, validación y publicación atómicaFull and incremental ETL with staging, validation and atomic publishing
      • Migración gradual de integraciones punto a punto a una arquitectura centralizadaGradual migration of point-to-point integrations to a centralised architecture
      • Integración del ERP con plataformas externas mediante APIs REST, sincronización por lotes resiliente y conciliación de registrosERP integration with external platforms through REST APIs, resilient batch sync and record reconciliation
      • Intercambio electrónico con clientes y proveedoresElectronic data exchange with customers and suppliers

      Producto digital e IADigital product & AI

      • Plataformas B2B integradas con el ERP y aplicaciones offlineB2B platforms integrated with the ERP and offline apps
      • IA integrada en procesos: traducción con memoria, visión multimodal, voz y agentes con herramientasAI built into processes: translation with memory, multimodal vision, voice and tool-using agents
      • ServiceDesk, editores 2D y 3D, mapas y unas 60 herramientas departamentalesServiceDesk, 2D and 3D editors, maps and some 60 departmental tools
      • Equipo de agentes de IA por función, del desarrollo al diseño gráfico, con aprobación humanaFunction-based AI agent team, from development to graphic design, with human approval
      • Desarrollo dirigido con IA: especificación, revisión de código y testsAI-driven development: specification, code review and tests

      Infraestructura y gobiernoInfrastructure & governance

      • Entorno híbrido on-premise y cloudHybrid on-premise and cloud environment
      • Servidor de datos Debian/Samba montado desde cero, con permisos por departamento: 7 años en funcionamiento sin fallos, con mantenimiento y actualizaciones a mi cargoDebian/Samba file server built from scratch with per-department permissions: 7 years in operation without failures, with maintenance and updates under my responsibility
      • Doble copia de seguridad, física y en la nube: otro servidor local y copias completas y versionadas con rclone en WasabiDual backup strategy, physical and cloud: a second local server, and full, versioned rclone backups to Wasabi
      • Gestión de secretos, vulnerabilidades y control de versionesSecrets, vulnerability and version-control management
      • Monitorización y alertas de infraestructura, bases de datos y procesosMonitoring and alerting for infrastructure, databases and processes
      • Gestión de riesgos, revisión de accesos y respuesta a incidentesRisk management, access reviews and incident response
      • Firewall perimetral de nueva generación y red segmentada por capas, con el almacén en una red propia: administración, actualizaciones y mantenimientoNext-generation perimeter firewall and layered network segmentation, with the warehouse on its own network: administration, updates and maintenance
      2018 — 2024Valencia

      Consultor IT · Implantación ERPIT Consultant · ERP Implementation

      Arte Regal Import, S.L.

      Miembro del equipo de implantación de Microsoft Dynamics NAV y del sistema de gestión de almacén, y dirección del proyecto de comercio electrónico.Member of the Microsoft Dynamics NAV and warehouse management implementation team, and lead of the e-commerce project.

      • Implantación de Dynamics NAV en equipo: instalación, configuración, requisitos, pruebas, documentación y formaciónTeam-based Dynamics NAV implementation: installation, configuration, requirements, testing, documentation and training
      • Informes, consultas SQL y adaptación funcional para cada departamentoReports, SQL queries and functional customisation for each department
      • Implantación del SGA (usuarios, grupos y permisos) e integración con el ERPWMS rollout (users, groups and permissions) and ERP integration
      • Dirección del proyecto de comercio electrónicoLead of the e-commerce project
      • Puesta en marcha de servidores de datos y soporte N1/N2Data server set-up and L1/L2 support
      Trayectoria anteriorEarlier career2005 — 2018 · 5 puestos en sistemas, soporte, redes y gestión técnica5 roles in systems, support, networking and technical management
      1. 2016 — 2018Venezuela

        Técnico de sistemasSystems technician

        Inversiones Di Consumo, C.A.

        • Soporte técnico de nivel 1 y 2, presencial y remoto, en entornos Windows y LinuxLevel 1 and 2 technical support, on-site and remote, on Windows and Linux
        • Instalación y mantenimiento de redes: enrutadores, puntos de acceso y cableadoNetwork installation and maintenance: routers, access points and cabling
        • Organización de sistemas de archivo y automatización de tareas administrativasFile system organisation and automation of administrative tasks
      2. 2009 — 2016Venezuela

        Técnico comercialTechnical sales

        Inversiones Cristal.com, C.A.

        • Gestión de compras e inventario de equipos informáticos y accesoriosPurchasing and inventory management for IT equipment and accessories
        • Diseño de controles internos para los procesos de envío y facturaciónDesign of internal controls for shipping and invoicing
        • Elaboración y seguimiento de presupuestosBudget preparation and monitoring
        • Coordinación del servicio de helpdesk y atención a la cartera de clientesHelpdesk coordination and customer portfolio management
      3. 2009 — 2014Venezuela

        Consultor técnico ITIT technical consultant

        Serviequipos Lara, C.A.

        • Asesoramiento en la adquisición de equipos informáticos con análisis de coste y retornoAdvice on IT equipment purchases based on cost and return analysis
        • Instalación y configuración de equipos de impresión de producción (Ricoh, Xerox, Canon, HP) y escaneo en redInstallation and configuration of production printing equipment (Ricoh, Xerox, Canon, HP) and network scanning
        • Administración del servidor de datosData server administration
      4. 2007 — 2009Venezuela

        Técnico de sistemasSystems technician

        Inversiones Cristal.com, C.A.

        • Instalación y mantenimiento de redesNetwork installation and maintenance
        • Soporte técnico en Windows y LinuxTechnical support on Windows and Linux
        • Mantenimiento preventivo y correctivo de equipos e impresorasPreventive and corrective maintenance of computers and printers
      5. 2005 — 2006Barquisimeto, Venezuela

        Responsable generalGeneral manager

        Pequeña Obra de la Divina Providencia Don Orione

        • Administración de bases de datos y de los sistemas de información de la organizaciónAdministration of the organisation’s databases and information systems
        • Desarrollo de programas para la carga automática de transacciones con tarjeta (Visa, Mastercard, American Express)Development of programs for automated loading of card transactions (Visa, Mastercard, American Express)
        • Planificación y ejecución de proyectos de asignación de recursosPlanning and delivery of resource-allocation projects
      § 10Stack

      Tecnologías que uso en producción.Technologies I use in production.

      FormaciónEducation

      Analista de SistemasSystems Analyst

      Universidad Centro Occidental Lisandro Alvarado

      IdiomasLanguages

      Español · nativoSpanish · native

      Inglés · intermedio, lectura técnica fluidaEnglish · intermediate, fluent technical reading

      UbicaciónLocation

      Valencia, EspañaSpain

      § 11ContactoContact

      1 row in set (0.01 sec)

      contacto.sqlconectado comoconnected as visitante@williamvalera.dev
      1INSERT INTO conversaciones
      2 (nombre, empresa, email, asunto, mensaje)
      3VALUES (
      4, -- nombre · obligatoriorequired
      5, -- empresa · opcionaloptional
      6, -- email · obligatorio · formato válidorequired · valid format
      7, -- asunto · ENUM
      8
      9);
      Ctrl + Enter
        live · headersSeguridad de esta webSecurity of this site
          ci · buildCompilando el CVBuilding the CV