{
  "$schema": "https://raw.githubusercontent.com/jsonresume/resume-schema/v1.0.0/schema.json",
  "basics": {
    "name": "Juan Pablo Díaz Correa",
    "label": "Systems and Computer Engineer (EIA University)",
    "email": "juanipis@gmail.com",
    "url": "https://juanipis.xyz",
    "summary": "I'm a Systems and Computer Engineering graduate from EIA University. Today I'm the technical lead at PROCOL: I own the technical side and how we build software, hand in hand with our software team lead. There I build a Go + PostgreSQL multi-tenant SaaS on Azure and enterprise apps with Power Apps Code Apps, and I build AI agents for ABACO that write food-security policy bulletins and answer questions over child-nutrition data. Outside work I reverse-engineer file formats and protocols, write native macOS apps and automate my home. I work as an independent freelancer and I'm always open to proposals: AI agents, SaaS backends, Power Platform apps, or any project that wants to change the world. Write to me in English or Spanish.",
    "location": {
      "city": "Medellín",
      "countryCode": "CO"
    },
    "profiles": [
      {
        "network": "GitHub",
        "username": "Juanipis",
        "url": "https://github.com/Juanipis"
      },
      {
        "network": "LinkedIn",
        "username": "juanipis",
        "url": "https://www.linkedin.com/in/juanipis/"
      }
    ]
  },
  "work": [
    {
      "name": "PROCOL",
      "position": "Technical Lead",
      "url": "https://www.procol.no/",
      "startDate": "2025-11",
      "summary": "I lead the technical side — architecture, engineering practices and how we build software — working hand in hand with the software team lead.",
      "highlights": [
        "Designed and built the Go + PostgreSQL backend of a construction-contract accounting SaaS: multi-tenant identity with Ory Hydra federated to each customer's Entra ID and Bicep infrastructure on Azure; cut critical queries from 9.4 s to 71 ms.",
        "Adopted Power Apps Code Apps while still in preview and bootstrapped the team's React / TypeScript app on Dataverse with Clean/Hexagonal Architecture.",
        "Dataverse Custom APIs, security roles, fine-grained data access and audited production data migrations.",
        "Integrated AI agents with Power Platform and Teams that review code and build features in Azure DevOps over MCP.",
        "Set up the team's AI-assisted workflow, published a React design system as a private npm package and reverse-engineered Revit's .rvt format into a WebAssembly + Three.js viewer."
      ]
    },
    {
      "name": "ABACO",
      "position": "AI Engineer (Freelance)",
      "startDate": "2025-08",
      "summary": "AI agents for Colombia's food bank association.",
      "highlights": [
        "Built the multi-agent platform (Pydantic AI on Azure OpenAI) that writes food-security policy bulletins: analysis in a sandbox, Plotly figures and publication-ready PDF and DOCX with human-in-the-loop review.",
        "Built the Observatory agent on AWS Lambda that answers questions over child-nutrition indicators with charts, choropleth maps and time series.",
        "Collaborated on the public chatbot's RAG service and the public-health data pipelines; author of pdfgen-juanipis, the HTML-to-PDF library behind the bulletins."
      ]
    },
    {
      "name": "ISA",
      "position": "Intern",
      "url": "https://www.isa.co/",
      "startDate": "2025-01",
      "endDate": "2025-07",
      "summary": "Digitized the field-visit process.",
      "highlights": [
        "Replaced a manual Excel process with a Survey123 form (georeferenced photos and voice notes) and a Power Automate flow that stored the data in SharePoint.",
        "Built a Python (Flet) desktop app that generates reports and transcribes audio with faster-whisper."
      ]
    },
    {
      "name": "Kuenta",
      "position": "Full Stack Remote Developer",
      "url": "https://kuenta.co/",
      "startDate": "2023-06",
      "endDate": "2024-02",
      "summary": "Backend and frontend for a fintech platform.",
      "highlights": [
        "Go and Python (gRPC) microservices, AI services and Dockerfiles.",
        "Angular-Ionic components, GitLab CI/CD pipelines and bug fixing in Java services."
      ]
    }
  ],
  "education": [
    {
      "institution": "EIA University",
      "area": "Systems and Computer Engineering",
      "studyType": "Bachelor",
      "startDate": "2021-01",
      "endDate": "2025-12"
    }
  ],
  "awards": [
    {
      "title": "Second Place, Generative AI Hackathon",
      "summary": "EIA University · a chatbot that generates product backgrounds for ads."
    }
  ],
  "skills": [
    {
      "name": "languages",
      "keywords": [
        "Python",
        "TypeScript",
        "Go",
        "C#",
        "SQL",
        "Swift",
        "Dart",
        "Java"
      ]
    },
    {
      "name": "frameworks",
      "keywords": [
        "FastAPI",
        "React",
        "Astro",
        "NestJS",
        "Next.js",
        "Angular",
        "Flutter",
        "Three.js"
      ]
    },
    {
      "name": "ai",
      "keywords": [
        "Pydantic AI",
        "LangChain / LangGraph",
        "RAG",
        "Embeddings + pgvector",
        "Azure OpenAI",
        "MCP",
        "Claude Code",
        "Multi-agent systems"
      ]
    },
    {
      "name": "cloud",
      "keywords": [
        "AWS (Lambda, S3, Aurora)",
        "Azure (Entra ID, Container Apps, Bicep)",
        "Power Platform (Code Apps, Dataverse, Custom APIs, Power Automate)",
        "Docker"
      ]
    },
    {
      "name": "data",
      "keywords": [
        "PostgreSQL",
        "SQLite",
        "MongoDB",
        "gRPC",
        "OAuth2 / OIDC",
        "Clean / Hexagonal Architecture",
        "CI/CD"
      ]
    }
  ],
  "languages": [
    {
      "language": "Spanish",
      "fluency": "Native"
    },
    {
      "language": "English",
      "fluency": "B2"
    }
  ],
  "projects": [
    {
      "name": "Quake Alert Listener",
      "description": "Earthquake warnings for Home Assistant in one dependency-free Python file: merges official early warnings, Google's Android alerts, USGS, EMSC, SGC and your own seismometer, and estimates the shaking and seconds until the S-wave.",
      "keywords": [
        "python",
        "homeassistant",
        "raspberrypi",
        "docker"
      ],
      "url": "https://github.com/Juanipis/quake-alert-listener"
    },
    {
      "name": "Claude History Dashboard",
      "description": "Local dashboard and MCP server for your Claude Code history: KPIs, tokens, estimated cost, live sessions, search and a durable SQLite backup.",
      "keywords": [
        "python",
        "sqlite",
        "javascript"
      ],
      "url": "https://github.com/Juanipis/claude-code-history-dashboard"
    },
    {
      "name": "pdfgen-juanipis",
      "description": "Python library on PyPI that turns editable HTML into paginated PDF and Word with CSS Paged Media: letterhead templates, footnotes and smart page breaks.",
      "keywords": [
        "python",
        "html"
      ],
      "url": "https://github.com/Juanipis/pdfgen-juanipis"
    },
    {
      "name": "FanCtl",
      "description": "Native macOS fan controller for Apple Silicon: talks to the SMC through IOKit, with smart cooling modes, live charts and a thermal watchdog.",
      "keywords": [
        "swift"
      ],
      "url": "https://github.com/Juanipis/fanctl"
    },
    {
      "name": "MotoBuds for Mac",
      "description": "Native macOS companion app for Motorola Moto Buds: ANC modes, battery, in-ear detection and find-buds, reverse-engineered from the official Android app.",
      "keywords": [
        "swift"
      ],
      "url": "https://github.com/Juanipis/motobuds"
    },
    {
      "name": "StardewEchoes",
      "description": "Stardew Valley mod that gives NPCs persistent memory (embeddings + pgvector) and dynamic dialogue from several LLMs through a FastAPI server.",
      "keywords": [
        "dotnet",
        "python",
        "fastapi",
        "postgresql",
        "openai"
      ],
      "url": "https://github.com/Juanipis/llm_stardew_valley"
    },
    {
      "name": "Recetario BotW",
      "description": "Unofficial desktop app that reads your Breath of the Wild save and shows what you can cook with what you carry, with every recipe and effect.",
      "keywords": [
        "electron",
        "javascript",
        "python"
      ],
      "url": "https://github.com/Juanipis/recetario-botw"
    },
    {
      "name": "Dead Cells Save Sync",
      "description": "Moves Dead Cells progress from the Netflix mobile build to Steam, with the save format documented byte by byte.",
      "keywords": [
        "python"
      ],
      "url": "https://github.com/Juanipis/deadcells-save-sync"
    },
    {
      "name": "Wiimote Manager Pro",
      "description": "Use Wii Remotes as Xbox 360 controllers on Windows: per-game profiles, tilt-to-steer motion controls and up to four controllers.",
      "keywords": [
        "dotnet"
      ],
      "url": "https://github.com/Juanipis/WiimoteManagerPro"
    },
    {
      "name": "Agy Plugin for Claude Code",
      "description": "Claude Code plugin that delegates reviews, adversarial reviews and background tasks to Google's Antigravity CLI.",
      "keywords": [
        "javascript"
      ],
      "url": "https://github.com/Juanipis/agy-plugin-cc"
    },
    {
      "name": "Universal Genealogy of Despecho",
      "description": "An irreverent family tree of heartbreak songs with Darío Gómez at its center: explore cantina, salsa, pop and emo as a mythological genealogy.",
      "keywords": [
        "react",
        "typescript",
        "vite"
      ],
      "url": "https://juanipis.xyz/Universal-Genealogy-of-Despecho/"
    },
    {
      "name": "Vision Defect Detection",
      "description": "Computer vision that classifies metal hardware parts as good or defective from a single frame, with explainable geometric metrics.",
      "keywords": [
        "python"
      ],
      "url": "https://github.com/Juanipis/vision_defect_detection"
    },
    {
      "name": "DataTrip",
      "description": "Desktop app for Survey123 data: extracts georeferenced photos, transcribes voice notes with AI, and generates Excel reports.",
      "keywords": [
        "python",
        "flutter",
        "powerautomate"
      ]
    },
    {
      "name": "Dance Club Comuna 8",
      "description": "A web app for a dance club in Medellin.",
      "keywords": [
        "flutter",
        "firebase"
      ],
      "url": "https://github.com/Juanipis/dance_club_comuna_8"
    },
    {
      "name": "Miyuki Webpage",
      "description": "An online store for a miyuki products brand.",
      "keywords": [
        "nextjs"
      ],
      "url": "https://github.com/pablomesa08/miyuki-webpage"
    },
    {
      "name": "Miyuki Backend",
      "description": "A backend for an online miyuki products brand.",
      "keywords": [
        "nestjs",
        "postgresql"
      ],
      "url": "https://github.com/pablomesa08/backend-miyuki"
    },
    {
      "name": "Who's that Pokemon?",
      "description": "Guess the Pokemon by its silhouette.",
      "keywords": [
        "flutter"
      ],
      "url": "https://github.com/Juanipis/pokemon_game"
    },
    {
      "name": "Backend for an Online Store",
      "description": "Necessary backend for an online store.",
      "keywords": [
        "python",
        "postgresql",
        "mongodb",
        "docker"
      ],
      "url": "https://github.com/Juanipis/backend_tienda_online"
    },
    {
      "name": "AprendIoT",
      "description": "Educational website about IoT. It was an engineering project at EIA.",
      "keywords": [
        "html",
        "javascript",
        "firebase"
      ],
      "url": "https://github.com/Juanipis/AprendIoT"
    },
    {
      "name": "Dwalle",
      "description": "Bot connected to GPT-3.5 to chat about products of an online store.",
      "keywords": [
        "python",
        "docker",
        "openai",
        "linux"
      ],
      "url": "https://github.com/alejop153/DWALLE"
    },
    {
      "name": "Harry Potter Recognition",
      "description": "Select a Harry Potter character, upload an image and if it matches, save it.",
      "keywords": [
        "python",
        "fastapi",
        "docker",
        "aws",
        "flutter"
      ],
      "url": "https://github.com/Juanipis/api-consulta-flutter-impltgr"
    },
    {
      "name": "Personal Website",
      "description": "This website: static, bilingual and built with Astro.",
      "keywords": [
        "typescript",
        "html"
      ],
      "url": "https://github.com/Juanipis/juanipis.github.io"
    },
    {
      "name": "Apptibiogram Clone",
      "description": "Clone of the Apptibiogram app for analyzing antibiograms.",
      "keywords": [
        "flutter",
        "java",
        "springboot",
        "postgresql"
      ],
      "url": "https://github.com/Juanipis/proyecto_medico"
    },
    {
      "name": "Mi Contratista CLI",
      "description": "CLI to manage a contractor's tasks.",
      "keywords": [
        "python"
      ],
      "url": "https://github.com/Juanipis/mi_contratista_cli?tab=readme-ov-file#mi-contratista-cli"
    },
    {
      "name": "Murder REST API",
      "description": "REST API to consult a PostgreSQL database.",
      "keywords": [
        "java",
        "springboot",
        "postgresql"
      ],
      "url": "https://github.com/Juanipis/asesinatos-springboot"
    },
    {
      "name": "Huffman Encoder",
      "description": "Huffman encoder in Java to compress and decompress texts.",
      "keywords": [
        "java"
      ],
      "url": "https://github.com/Juanipis/Huffman"
    },
    {
      "name": "Polyphasic Sorting",
      "description": "Polyphasic sorting method in Java.",
      "keywords": [
        "java"
      ],
      "url": "https://github.com/Enano2001/Polifasico"
    },
    {
      "name": "IBM Personality Analysis",
      "description": "Personality analysis with IBM Personality Insights.",
      "keywords": [
        "python",
        "ibmcloud"
      ],
      "url": "https://github.com/Juanipis/Analisis-de-personalidad"
    },
    {
      "name": "Pychat",
      "description": "Chat in Python using sockets.",
      "keywords": [
        "python"
      ],
      "url": "https://github.com/Juanipis/Pychat"
    },
    {
      "name": "Quimera Eyes",
      "description": "Block programming based on USB devices for visually impaired people.",
      "keywords": [
        "python",
        "linux",
        "raspberrypi"
      ],
      "url": "https://github.com/Juanipis/QuimeraEyes"
    }
  ],
  "meta": {
    "canonical": "https://juanipis.xyz/resume.json",
    "availability": {
      "status": "Open to freelance work",
      "text": "I work as an independent freelancer and I'm always open to proposals: AI agents, SaaS backends, Power Platform apps, or any project that wants to change the world. Write to me in English or Spanish."
    },
    "lastModified": "2026-11-08"
  }
}