
Mobile app design and development
React Native and Expo apps that ship to both stores — and the Godot games that sit alongside them.

5+
Years of experience
I build the parts of a system that have to keep working when nobody is watching.
Right now that means leading a health interoperability platform that lets Colombian providers meet a national mandate — a queue-based pipeline of NestJS microservices producing HL7 FHIR R4 records, designed to survive an upstream government API that is frequently neither fast nor available.
Before that: React Native and Next.js in production at Publicis, red teaming and DevSecOps at Aligo and Geta Club Play, and a decade of tutoring that is still the reason I can explain any of it. Outside work I write robotics libraries in Rust and ship small mobile apps through Grisú.

React Native and Expo apps that ship to both stores — and the Godot games that sit alongside them.

Front ends in React, Next.js and Astro — fast, responsive, and built to be handed over.

AWS, Docker, CI/CD and the observability that tells you what is actually happening in production.

MQTT, Raspberry Pi, lidar and Rust — from sensor firmware to the map it produces.

Python services, agent-driven applications, and data pipelines that hold up under load.

Interface design in Figma, and design systems that survive being handed to a developer.

My default for systems work — robotics drivers, SLAM, and anything that has to run on a Raspberry Pi without a C++ toolchain in the way.

Backend services, AI work, automation and the web scraping I have leaned on since my security days.

Where most of my mobile work lives — e-commerce apps at Publicis, and the utility apps I ship through Grisú.

The web half of the same story: production front ends, design-system components, and the odd internal admin panel.

My go-to when a Python service needs to be fast to write, typed, and documented without extra ceremony.

How everything I build gets reproducible — from a one-off scraper to a monorepo of microservices.

Where the production workloads run, alongside CI/CD pipelines and the observability stack that watches them.

My daily driver since university, and the environment nearly everything I write ends up running on.

Document storage for the health-interoperability platform, where the shape of a clinical record is anything but fixed.

My default relational database — when the data has a shape worth enforcing, this is where it goes.

Event streaming for pipelines that cannot afford to lose a message, like the EcoDrive telemetry work.

Used when a client needs to ask precise questions of a graph of data instead of stitching together five REST calls.

The messaging backbone of my IoT work — lightweight enough for a microcontroller, reliable enough to design a system around.

The usual target for the robotics work: cross-compile the Rust, ship it to the Pi, watch the lidar spin.

Where the hardware side started — the automated irrigation system that took third place at Expo-Ingenierías ran on one.

CI/CD in the places that already run it; GitHub Actions and GitLab CI cover the rest.

The engine behind the hyper-casual mobile games I build at Grisú — open source, small, and quick to iterate in.

My editor. Configured once, carried everywhere, and faster than reaching for the mouse.

Where architecture notes, research and half-formed project ideas live before they turn into code.

For UI work — designing the interface before building it, as I did for GameConnect.

Issued by Metro de Medellín, Ruta N, Davivienda
First place among more than 50 teams from 16 universities, for an ecosystem of incentives built on top of the Medellín Metro's existing payment app.
Issued by Hack The Box
Reached third place on Colombia's Hack The Box ranking during my time working in offensive security.
Issued by Universidad EAFIT
Third place with SIMA, an automated irrigation and monitoring system for house plants, built by a team of five on Arduino and Ubidots.
Issued by Gobierno de Colombia
A full national scholarship awarded on the 2017 standardised test results, covering an engineering degree at EAFIT.
A SLAM library that produces a consistent occupancy grid and pose estimate without ROS2, C++ dependencies, or distro lock-in.
A laser scanner driver with no C++ SDK, no FFI and no bindgen — and no unsafe code anywhere in it.
A CLI that copies vendored, editable Rust components into your project instead of adding a dependency you have to fight.
A decision wheel for the choices not worth arguing about. Live on the App Store and Google Play.
A Stoic reading companion — one passage at a time, without the productivity-app noise around it.
A faithful simulator of the 90s Yak Bak — record, reverse, speed up, and play back. Live on the App Store.
Dec 2025 — Present · 9 mos
Medellín, Antioquia, Colombia
Dec 2025 — Present· 9 mos
Jul 2023 — Present · 3 yrs 2 mos
Colombia
Jul 2023 — Present· 3 yrs 2 mos
Dec 2023 — Nov 2025 · 2 yrs
Colombia
Jan 2025 — Nov 2025· 11 mos
Dec 2023 — Dec 2024· 1 yr 1 mo
Jul 2023 — Mar 2025 · 1 yr 9 mos
Spain
Jul 2023 — Mar 2025· 1 yr 9 mos
Dec 2022 — Jun 2023 · 7 mos
Medellín, Antioquia, Colombia
Jan 2023 — Jun 2023· 6 mos
Dec 2022 — Dec 2022· 1 mo
Aug 2022 — Oct 2022 · 3 mos
Medellín, Antioquia, Colombia
Aug 2022 — Oct 2022· 3 mos
Feb 2021 — Jun 2022 · 1 yr 5 mos
Medellín, Antioquia, Colombia
Sep 2021 — Jun 2022· 10 mos
Aug 2021 — Aug 2021· 1 mo
Feb 2021 — Aug 2021· 7 mos
Jan 2012 — May 2022 · 10 yrs 5 mos
Medellín, Colombia
Jan 2012 — May 2022· 10 yrs 5 mos
Working on something interesting, or hiring? Email is the fastest way to reach me.
Based in Medellín, Colombia