# Rafael Rojas

Ingeniero de Software Backend · Valdivia, Chile · Disponible para trabajo remoto, híbrido o reubicación

- Email: rafarojasv6@gmail.com
- Phone: +56 9 9123 9800
- Phone: +44 7821 734197
- Portafolio: https://rafaelrojasvi.github.io
- GitHub: https://github.com/rafaelRojasVi
- LinkedIn: https://www.linkedin.com/in/rafael-rojas-001906263
- PDF: https://rafaelrojasvi.github.io/cv/Rafael_Rojas_CV_ES.pdf

## Perfil

Ingeniero de software backend y CTO de dos empresas chilenas. Desde enero de 2026 diseño, construyo y opero, en gran parte solo, el software de tres empresas de tres rubros: construcción y movimiento de tierras, forestal y equipamiento de laboratorio. Aprendo cómo funciona cada oficio (cómo se calcula el precio de un m³ de relleno, cuándo vence una solicitud CONAF) y lo convierto en sistemas en Python y TypeScript sobre PostgreSQL, con migraciones probadas y una persona a cargo donde se mueven dinero, correos o permisos. Trabajo con agentes de IA a diario y construyo sus herramientas. Computer Science con First Class Honours (máxima distinción), University of Westminster, Londres.

## Conocimiento del rubro

- Construcción, movimiento de tierras y áridos: Análisis de precios unitarios (APU), cubicación, gastos generales, tarifas de arriendo de maquinaria, suministro y flete de áridos, historial de precios de proveedores, informes de mecánica de suelos, permisos DOM, licitaciones de movimiento de tierras en Mercado Público, bases de precios CYPE.
- Forestal: Predios y rodales, informes de cosecha, solicitudes CONAF y su vencimiento, shapefiles y flujos en ArcMap, PostGIS, cubicación de madera con LiDAR.
- Equipamiento de laboratorio: Catálogo de equipos por familia y fabricante, compras públicas en Mercado Público / ChileCompra, venta a universidades y laboratorios, historial de proveedores y cotizaciones.
- Agentes de IA: Claude Code como herramienta diaria, servidores MCP separados por permiso, instrucciones y skills de agente en cada repositorio, revisión humana antes de enviar o pagar cualquier cosa.

## Experiencia

### Chief Technology Officer (CTO), OrigenLab

ene 2026 – actualidad · Valdivia, Chile

Proveedor de equipamiento de laboratorio. Único ingeniero, a cargo de todo el software de la empresa.

- Construí el CRM con el que trabaja el equipo comercial: un dashboard en React con inicio de sesión de Google Workspace para oportunidades, organizaciones, personas, proveedores y un archivo de Drive, con datos de contacto enmascarados según el rol.
- Diseñé la plataforma de datos V2 en Supabase PostgreSQL 17: 36 tablas en siete esquemas privados, cuatro roles de base de datos, 139 políticas de seguridad a nivel de fila (RLS) y eventos de dominio de solo inserción. 23 migraciones, 408 aserciones pgTAP y 308 pruebas unitarias.
- Escribí la API de operador en FastAPI detrás de un proxy en Cloudflare Workers: su única vía de escritura son comandos idempotentes con concurrencia optimista, una prueba de CI falla si aparece otro endpoint de escritura y el navegador nunca tiene un token.
- Construí el pipeline de inteligencia de correo en Python 3.12: años de historial PST y Gmail cargados en marts de negocio en SQLite, con una memoria de seguridad que bloquea contactos repetidos o suprimidos. Nada se envía de forma automática.
- Construí inteligencia de licitaciones en Mercado Público / ChileCompra que detecta equipos de laboratorio en compras públicas, y rehíce origenlab.cl como catálogo estático en Astro con un control de CI para exactitud del catálogo, contraste y navegación por teclado.

Caso de estudio: https://rafaelrojasvi.github.io/projects/origenlab

### Chief Technology Officer (CTO), BENKER

ago 2026 – actualidad · Remoto

Contratista de obras civiles y movimiento de tierras. Construyo el sistema de presupuestos y gestión comercial con el que cotiza la oficina.

- Construí el software de presupuestos (Cotizador) en Next.js y TypeScript sobre PostgreSQL: cada estudio en pestañas de cotización, cubicación, APU, antecedentes y resumen, con el PDF que recibirá el cliente al lado del presupuesto antes de enviarlo.
- Convertí la historia de la empresa en un libro de precios: 503 planillas de 409 estudios anteriores leídas en 18.311 precios con fecha (maquinaria, fletes, mano de obra, materiales y botadero), y reimplementé fórmula por fórmula la planilla de precios unitarios de la oficina, comprobada contra estudios anteriores.
- APU por partida con rendimientos de mano de obra y maquinaria, materiales con merma y referencias de mercado de bases CYPE y de licitaciones adjudicadas de movimiento de tierras en Mercado Público. Catálogos de áridos (costo de 1 m³ puesto en obra, ofertas de proveedores), maquinaria y proveedores.
- Lee los antecedentes de cada licitación: planos DWG dibujados por capa con cotas de terreno, sondajes y napa de los informes de mecánica de suelos en PDF, itemizados del cliente y cartas de arriendo, todo con búsqueda.
- CRM y marketing sobre una sola capa de identidad, con reglas de consentimiento y un envío controlado, y servidores MCP separados por capacidad (lectura de Drive, lectura de Gmail, envío de Gmail) para que los permisos de un agente se vean a simple vista.

Caso de estudio: https://rafaelrojasvi.github.io/projects/benker

### Ingeniero de Software, Plataforma Geoespacial, Campo Digital (contrato)

ago 2026 – actualidad · Remoto

Empresa de servicios forestales y geoespaciales. Una plataforma para tres productos que antes vivían en shapefiles y Excel.

- Construí un monolito modular en FastAPI sobre PostgreSQL/PostGIS, en producción, con inicio de sesión de Google Workspace, permisos por producto y cambios de rol auditados; rechaza configuraciones inseguras, como una conexión sin TLS.
- SIG forestal que usa el equipo forestal del cliente: carga validada de shapefiles con trazabilidad SHA-256, mapa interactivo, informes de cosecha con versiones publicadas y estado de solicitudes CONAF sincronizado cada noche. Los polígonos inválidos se marcan en el punto exacto donde su borde se cruza.
- Importación de Excel para un proyecto eléctrico que reconoce las columnas por su encabezado, conserva el número de fila de origen, se detiene ante mapeos ambiguos y guarda un informe de revisión en cada carga.
- Investigación LiDAR: inspección de LAS/LAZ y estimadores de volumen de pilas de madera comparados con mediciones de referencia. Más de 1.500 pruebas en Python, 20 migraciones y 11 registros de decisiones de arquitectura.

Caso de estudio: https://rafaelrojasvi.github.io/projects/campo-digital-platform

### Ingeniero de Software Freelance, Independiente

nov 2025 – actualidad · Londres / Remoto

Backends e integraciones para pequeñas empresas.

- Construí un asistente de reservas por WhatsApp para un estudio de tatuajes, en producción: FastAPI, PostgreSQL, abonos con Stripe, sugerencia de horas en Google Calendar y registro en Google Sheets.
- Modelé cada reserva como máquina de estados: webhooks idempotentes, bloqueo de filas para transiciones concurrentes, verificación de firmas de webhook, conciliación con Stripe y tokens de acción de un solo uso.

Caso de estudio: https://rafaelrojasvi.github.io/projects/tattoo-booking-bot

### Socio, NewDev, cooperativa de desarrollo de software

2026 – actualidad · Valdivia, Chile

Cooperativa de ingenieros de software de Valdivia que comparte práctica y trabajo con clientes.

- Construí la base de conocimiento de referencia de la cooperativa en Git, legible por personas y agentes: un responsable por cada dato, procedencia en cada afirmación y un validador que hace fallar el build cuando los documentos se desalinean.

## Proyectos

### LedgerBank API, Elixir, Phoenix, PostgreSQL, Oban

API de estilo bancario con autenticación JWT, libro contable transaccional y trabajos en segundo plano, probada contra doble gasto y transferencias concurrentes.

https://rafaelrojasvi.github.io/projects/ledger-bank-api

## Formación

### BSc Computer Science, First Class Honours, University of Westminster, Londres

sep 2022 – jul 2025

Máxima distinción del sistema británico. Resultados destacados: Database Systems 91 %, Software Development 87 %, Algorithms 80 %, Client-Server Architectures 74 %.

### International Foundation Year in Computing, University of Brighton International College

sep 2021 – ago 2022

Aprobado con distinción. Representante estudiantil; apoyo a estudiantes internacionales.

## Habilidades

- Lenguajes: Python, TypeScript, SQL. Conocimiento práctico de Elixir y Go.
- Backend: FastAPI, Pydantic, SQLAlchemy, Alembic, Next.js, APIs REST, webhooks
- Datos y SIG: PostgreSQL, PostGIS, Supabase, seguridad a nivel de fila, pgTAP, SQLite, shapefiles, DWG, LAS/LAZ
- Frontend: React, Astro, Playwright
- Infraestructura: Docker, GitHub Actions, Cloudflare Workers, Railway, Linux
- Integraciones: Stripe, WhatsApp Business API, APIs de Google Workspace, servidores MCP
- Agentes de IA: Claude Code, Claude API, desarrollo de servidores MCP, skills de agente, diseño de permisos

## Idiomas

Español (nativo), inglés (C1, carrera completa en Londres)
