>_ Martín.dev

~/inicio // hello

status: available · 20 h/week

I build custom software and use AI to automate your manual tasks.

I’m Martín José Herrera Villarreal, Systems Engineer · Full Stack Developer & AI Automation. I build custom software and automate processes with AI so you can spend less time on repetitive work.

// Barranquilla, Colombia · Remote

// from problem to system · pick a servicediagram

AI automation

I remove manual, repetitive tasks: data extraction from PDFs, invoices and documents with AI vision, OCR and automated workflows.

  • Document data extraction
  • LLM integration (Gemini, Claude, OpenAI)
  • Prompt engineering

Full Stack web development

Custom web apps and platforms, from the database to the interface, ready to grow.

  • Next.js / React / Angular
  • REST APIs with NestJS and Node.js
  • PostgreSQL, MySQL, MongoDB

Data & dashboards

I connect your data sources, clean them and make them decision-ready: ETL pipelines and data models that feed your reports.

  • ETL pipelines
  • Database modeling
  • System integration

System modernization

I give legacy systems new life: visual redesign, new modules and migration to maintainable architectures.

  • Hexagonal architecture
  • Incremental refactoring and migration
  • UI/UX redesign

AI agents & integration

I bring AI assistants and agents into your processes and your development team, with clear specifications and result validation.

  • LLM agents and assistants
  • AI-assisted development
  • Consulting and training
years of experience
3+
per week available · remote
20 h
service areas
5

~/servicios // how I can help you

How can I help you?

I combine full stack development with applied AI to build solutions that save time, reduce errors and scale with your business.

AI automation

01

I remove manual, repetitive tasks: data extraction from PDFs, invoices and documents with AI vision, OCR and automated workflows.

  • ✓ Document data extraction
  • ✓ LLM integration (Gemini, Claude, OpenAI)
  • ✓ Prompt engineering

Full Stack web development

02

Custom web apps and platforms, from the database to the interface, ready to grow.

  • ✓ Next.js / React / Angular
  • ✓ REST APIs with NestJS and Node.js
  • ✓ PostgreSQL, MySQL, MongoDB

Data & dashboards

03

I connect your data sources, clean them and make them decision-ready: ETL pipelines and data models that feed your reports.

  • ✓ ETL pipelines
  • ✓ Database modeling
  • ✓ System integration

System modernization

04

I give legacy systems new life: visual redesign, new modules and migration to maintainable architectures.

  • ✓ Hexagonal architecture
  • ✓ Incremental refactoring and migration
  • ✓ UI/UX redesign

AI agents & integration

05

I bring AI assistants and agents into your processes and your development team, with clear specifications and result validation.

  • ✓ LLM agents and assistants
  • ✓ AI-assisted development
  • ✓ Consulting and training

How I work

  1. 01

    Discovery

    I understand your business, the problem and what success means for you.

  2. 02

    Specification

    I define scope, architecture and deliverables in writing before writing code.

  3. 03

    Iterative development

    Short, verifiable deliveries with visible progress every week.

  4. 04

    Delivery & support

    Deployment, documentation and support after launch.

Engagement models

Per project

Scope, deliverables and timeline defined up front. Ideal for a specific product or automation.

Get a custom quote →

Monthly plan

Dedicated hours each month for ongoing improvements, maintenance and new automations.

Get a custom quote →

Hourly consulting

Architecture review, identifying opportunities for process automation or technical guidance.

Get a custom quote →

~/proyectos // what I built

Portfolio

A selection of projects where I applied full stack development, data and AI.

Case study

Invoice data extraction with AI vision

In production · energy retailer invoices · technical lead

invoices reprocessed per month (before: almost all)
≤ 7
reprocessing rate
< 0.4%
invoices per month
2,000+

Problem

Data was extracted with one regular expression per invoice layout for each energy retailer. If a field moved a centimeter in the PDF, the regex broke: almost every invoice had to be reprocessed, many were fixed by hand, and every run had to be checked, because one could come out fine and the next one wrong.

Solution

I replaced the regexes with a vision model (Google Gemini) and a prompt that understands the different ways the information arrives, no matter where each field lands in the PDF.

Result

Stable data on every run and manual review only for edge cases. Volume grew from about 1,500 to over 2,000 invoices a month with no extra manual work.

// same data, different layoutconceptual illustration

Layout A

before · one regex per layout

✓ match
/Total due\s+\$([\d.,]+)/
ok total found
# works as long as the field stays put

now · vision with Gemini

✓ same data
{ "period": "…", "total": "…" }

Layout B

before · one regex per layout

✕ no match
/Total due\s+\$([\d.,]+)/
err no match
warn reprocess · fix by hand

now · vision with Gemini

✓ same data
{ "period": "…", "total": "…" }
# same field, different position

A conceptual illustration of the real problem, not a live demo: the invoice, layouts and outputs are fictional and are not measurements. The project’s real figures are this case’s metrics.

  • Google Gemini
  • AI vision
  • Prompt engineering
  • ETL
  • Hexagonal arch.
Screenlog landing page, a movie and series tracker, with the headline “Every film. Every episode.” over a backdrop of posters

Screenlog

Installable movie and TV tracker (PWA): per-episode progress, upcoming-episodes calendar, IMDb and Rotten Tomatoes ratings, push notifications and friends. Google sign-in, ES/EN, CI with Playwright e2e.

  • Next.js
  • React
  • TypeScript
  • Prisma
  • PostgreSQL
  • PWA
  • Vercel
// hexagonal architectureconceptual sketch
DocuParse AI hexagonal architecture: a domain core surrounded by adapters for Next.js, the NestJS API, Gemini and PostgreSQL.domainextractionNext.jsNestJS APIGeminiPostgreSQL
  1. 1/4 · you upload the invoice from the Next.js interface
  2. 2/4 · the NestJS API hands it to the domain through an inbound port
  3. 3/4 · the Gemini adapter reads the document with AI vision
  4. 4/4 · PostgreSQL sits behind its own persistence adapter

Conceptual architecture sketch, not a live extraction demo.

DocuParse AI

In progress

AI document data extractor: upload an invoice and a vision model (Gemini) returns the structured data as JSON. NestJS backend with hexagonal architecture, Next.js and PostgreSQL. A public, sanitized version of my extraction work.

  • NestJS
  • Next.js
  • PostgreSQL
  • Gemini
  • Hexagonal arch.

~/sobre-mi // who I am and what I work with

From document to data, from data to decision

Systems Engineer and Full Stack Developer with 3+ years of experience, focused on bringing generative AI into business processes.

I technically lead a solution that extracts data from PDF invoices using AI vision (Google Gemini) and cut reprocessing from almost every invoice to at most 7 a month out of 2,000+, compared with the previous regex-based method.

Experienced in ETL pipelines, OCR, prompt engineering, hexagonal architecture and development with AI agents (Claude Code with Gentle AI). Currently teaching myself AI Engineering.

./Applied AI

  • Generative AI
  • LLM
  • Google Gemini (vision)
  • Claude API
  • Structured output (JSON schema)
  • Prompt engineering
  • Document data extraction
  • OCR (Amazon Textract)
  • LangChain / LangGraph

./AI-assisted development

  • Claude Code
  • AI agents with MCP
  • AI code review

./Backend

  • TypeScript
  • Node.js
  • NestJS
  • Python
  • REST APIs
  • Swagger / OpenAPI
  • JWT / OAuth
  • Prisma
  • TypeORM

./Data & automation

  • PostgreSQL
  • MySQL
  • MongoDB
  • SQL (modeling, migrations, procedures)
  • ETL pipelines
  • pandas / numpy
  • Scraping & RPA (Selenium, Playwright)

./Frontend

  • Next.js
  • React
  • Tailwind CSS
  • shadcn/ui
  • Zustand / Redux
  • React Hook Form + Zod
  • PWA

./Testing & DevOps

  • Vitest
  • Playwright
  • Pytest
  • GitHub Actions
  • GitLab CI
  • Docker
  • AWS (Textract, S3, EC2, Lambda, RDS)
  • Vercel
  • Git

./Architecture

  • Hexagonal architecture
  • SOLID principles
  • Legacy modernization
  • Scrum

./Languages

  • Spanish (native)
  • English (technical reading and writing)

~/experiencia // where I’ve put my skills to work

  1. ISES – Ingeniería y Soluciones Especializadas S.A.S.

    Barranquilla, Colombia

    Full Stack Developer

    Aug 2026 – Present
    • Technical lead · AI invoice extraction:I own the intelligent invoice-extraction solution for energy retailers, which processes around 2,000 invoices per month from 15+ retailers and removes the manual download from each portal, and I supervise an intern in charge of maintaining the automations.
    • Architecture:I migrated the extraction automations to a hexagonal architecture (ports and adapters) with updated libraries and built a Python CLI (Rich/Textual) to operate them, improving maintainability and extensibility.
    • Development with AI agents:I build with AI coding agents (Claude Code and Pi) configured with Gentle AI, an open-source framework that adds persistent memory across sessions, risk-based code review and sub-agents; every commit also goes through an AI code review. My role is to define the specs, direct the architecture and validate the results.
    • Multi-client platform:I proposed and am developing the new version of the energy-data platform, moving from a single client to a multi-client, multi-service product with NestJS, Next.js/React and PostgreSQL.
    • Data:I retrieve invoices via portal scraping (Selenium, Playwright), email or API, handle extraction errors with business-rule checks, retries and human review, and support other projects with ETL, database modeling, migrations and stored procedures.

    Junior Full Stack Developer & Automation Engineer

    Oct 2024 – Jul 2026
    • AI data extraction:I proposed and implemented replacing regular expressions with AI vision (Gemini 2.5) and prompt engineering to extract data from PDF invoices, cutting reprocessing from almost every invoice to at most 7 a month out of 2,000+ and preparing the data that feeds the Power BI dashboards.
    • New business management system:I built end-to-end business modules and REST APIs with NestJS, PostgreSQL and Angular 18.
    • Client-facing lookup app:I redesigned the React interface to make it more intuitive and maintained its .NET backend.
    • Legacy modernization:I championed and carried out the visual and interactive redesign of the company’s internal management system (PHP CodeIgniter, jQuery, MySQL), along with its maintenance and new modules.
  2. Wekala Technologies S.A.S.

    Barranquilla, Colombia

    Web Developer Trainee

    Mar 2023 – Sep 2024
    • Web development:I built web modules with Next.js and NestJS, integrating services and building user interfaces.
    • Databases:I fixed bugs and implemented queries in SQL and MongoDB, using Git and Scrum.

Education

B.Sc. in Systems Engineering

Feb 2020 – Dec 2025

Universidad Simón Bolívar — Barranquilla

  • Minor in Digital Transformation Project Management.
  • National distinction: top Saber Pro score (ICFES). Academic excellence scholarship.

AI Engineering

2026 – Ongoing

Self-taught

~/contacto // let’s talk

Got a process to automate or an idea to build?

I work as a freelancer with small and mid-sized businesses in Colombia and Latin America, with 20 hours a week available. Tell me what you need and I’ll reply with a proposal. The first conversation is free.

$contact --send

I only use your name, email and message to reply to you. They are sent through the Web3Forms form service.