Open to DevOps and platform roles · Remote or hybrid from Medellín (UTC−5)

Sebastián López OsornoDevOps & Platform Engineer

I ship and watch the services that admissions and marketing teams depend on.

Hardened Docker images in GHCR, GitHub Actions pipelines, Nginx on Linux and a Prometheus, Grafana, Loki and Tempo stack with 18 probes and 12 alert rules that reach Telegram. I also keep the automatic deployment of 100+ landing pages on a VPS running.

Core stack

  • Docker · Compose
  • GitHub Actions
  • GHCR
  • Nginx · Linux
  • Prometheus · Grafana
  • Loki · Tempo
  • OpenTelemetry
  • Bash · Certbot
Sebastián López Osorno
years of experience
4+
integration services in production
20+
admissions landing pages shipped
100+
uptime probes on production services
18
alert rules that reach Telegram
12
days in a row with contributions
490+
GitHub organizations
10
repositories I have contributed to
202

Professional Experience

The servers, deployments and monitoring I have been in charge of

Sorted by relevance to the DevOps profile; matching achievements are highlighted.

  1. CRM & MarTech Developer

    ADCOM GROUP

    4 of 13 relevantCurrent

    Feb 2025 – Present · 1 yr 9 mosMedellín, Colombia · Remote

    I run the agency's VPS and the platform that deploys 100+ landing pages, with one Nginx per client, deployments through GitHub Actions and rsync, daily monitoring and a weekly Lighthouse run.

    • Built the platform that publishes the landing pages. A reusable GitHub Actions workflow builds each one, checks its path, compresses the files and uploads them with rsync to the VPS, where one Nginx per client serves it without rebuilding images or restarting anything.
    • Maintain the 100+ landing page repositories with scripts that apply one change to all of them, a daily monitor that checks HTTP status, Google Tag Manager, compression, caching, pending deployments and certificates, and a weekly Lighthouse run on the main landing pages.
    • Built a real estate agency's lead capture site. A GitHub Actions workflow publishes the inventory of its Wasi account every day before dawn, and requests for advice, contact and visits land in Supabase.
    • Administer a VPS with Docker, Nginx, SSL, Prometheus, Nagios and n8n that hosts internal tools and automations.
    • Amazon SES
    • Amazon SNS
    • Docker
    • GitHub Actions
    • Nginx
    • Linux
    • Prometheus
    • Nagios
    • Zoho CRM
    • Zoho One
    • Deluge
    • Zoho Creator
    • Zoho Forms
    • React
    • TypeScript
    • Vite
    • Tailwind CSS
    • Java
    • Spring Boot
    • Thymeleaf
    • Python
    • FastAPI
    • Jinja2
    • PostgreSQL
    • WhatsApp API
    • Meta Ads
    • Google Ads
    • Google Tag Manager
    • Typeform
    • Shopify
    • Dapta
    • n8n
    • Lighthouse
  2. IT Manager & Backend Integration Lead

    TIVENOS – Solutions for Education

    3 of 11 relevantCurrent

    Jun 2025 – Present · 1 yr 5 mosMedellín, Colombia · Remote · Freelance

    I publish 20+ services as images on GHCR, deploy them with GitHub Actions to Linux servers and an Azure VM, and watch them with Prometheus, Grafana, Loki and Tempo.

    • Ship every service as a hardened Docker image on GHCR, deployed with Docker Compose through GitHub Actions on Linux servers, an Azure VM among them, behind Nginx with SSL.
    • Built the observability stack, with OpenTelemetry traces from the FastAPI services to Tempo, metrics in Prometheus, logs in Loki, and Grafana with 4 dashboards, 18 uptime probes and 12 alert rules sent to Telegram.
    • Manage IT operations and the team's help desk (tickets, debugging and support), and defined the coding, security and deployment standards the services share.
    • Docker
    • GHCR
    • GitHub Actions
    • Azure
    • Linux
    • Nginx
    • OpenTelemetry
    • Prometheus
    • Grafana
    • Loki
    • Tempo
    • FastAPI
    • Python
    • Pydantic
    • uv
    • PostgreSQL
    • SQL Server
    • SOAP
    • Zeep
    • OAuth 2.0
    • Zoho CRM
    • Deluge
    • Zoho Analytics
    • Zoho Forms
    • Zoho WorkDrive
    • React
    • Vite
    • JavaScript
    • jQuery
    • Jinja2
  3. Backend Developer & Data Analyst

    MUV-U S.A.S

    2 of 7 relevant

    Jul 2023 – Jan 2025 · 1 yr 7 mosSabaneta, Colombia · Hybrid · Full-time

    Besides the data and CRM work, I ran the servers and IT infrastructure of a study-abroad agency and supported its users.

    • Grew from data analyst to CRM and Zoho ecosystem analyst, and later IT analyst as well.
    • Administered the company's server infrastructure and supported internal users.
    • Linux
    • Power BI
    • DAX
    • SQL
    • Python
    • Zoho CRM
    • Excel
    • Data Modeling
    • ETL
    • Web Development
    • IT Support
  4. Data Analyst (Internship)

    Quipux S.A.S

    Aug 2022 – May 2023 · 10 mosMedellín, Colombia · Hybrid · Internship

    A data internship where I automated downloads and repetitive processes with Python and batch scripts.

    • Python
    • Pandas
    • NumPy
    • Jupyter
    • SQL
    • ETL
    • Excel
    • Data Visualization
    • Batch scripting

Projects & Organizations

The deployment, observability and infrastructure platforms I built and run

Recreation of the Grafana dashboard of the integration services, with 26 Prometheus jobs, 18 uptime probes, 12 alert rules, requests and latency per service, the state of each probe and recent Loki logs.
Recreated with fictional data

Featured project · TIVENOS · infrastructure

Observability Platform

Jun 2026 – Present

The stack that watches the integration services and the servers they run on, with metrics, logs, traces, probes and alerts in one place.

  • Prometheus scrapes 26 jobs across the instrumented FastAPI services, the containers through cAdvisor, the machines through Node Exporter and Nginx through its exporter.
  • 18 Blackbox Exporter probes check from outside that every service and every domain answers, and that their TLS certificates are not about to expire.
  • Promtail ships the container logs to Loki through a read-only proxy of the Docker socket, and Tempo receives the services' OpenTelemetry traces.
  • Grafana holds 4 dashboards (Docker, FastAPI, machine and Nginx) and 12 alert rules, among them 500 errors in the integrations, containers restarting in a loop, disk and CPU, which reach Telegram.
  • Everything runs in Docker Compose next to the services, with 15 days of retention in Prometheus.
  • Prometheus
  • Grafana
  • Loki
  • Promtail
  • Tempo
  • OpenTelemetry
  • Blackbox Exporter
  • cAdvisor
  • Node Exporter
  • Docker Compose
  • Azure
  • Telegram

What I built at the companies where I work and have worked. The code is private and clients stay anonymous; each page explains the architecture.

  • Recreation of an integration service's OpenAPI documentation, with the form and CRM routes, the academic offer, the catalogs and the background jobs, and an example 202 response with its idempotency key.Recreated with fictional data

    TIVENOS · education technology

    Integration Platform

    Jun 2025 – Present

    20+ FastAPI services that keep Zoho CRM in sync with the academic systems of 15+ institutions in Latin America and Spain.

    • The newest services use idempotency keys, staggered retries when Zoho answers 429, jobs persisted in PostgreSQL and secrets encrypted with AES-256-GCM.
    • Every service ships as a hardened image on GHCR and stays watched with traces, metrics, logs and alerts that reach Telegram.
    • One service per institution on a shared standard, with logic-free routers, controllers that normalize the data and a single access layer for each external system.
    • Connects PeopleSoft Campus Solutions over SOAP with WS-Security, SQL Server databases behind a VPN, CSV files over FTP, REST APIs and webhooks.
    • Docker
    • GHCR
    • GitHub Actions
    • Nginx
    • OpenTelemetry
    • Prometheus
    • Loki
    • Tempo
    • Grafana
    • Python
    Case studyPrivate code
  • Recreation of a run of a landing page's deploy workflow, with install, build, check, compression, SSH with a pinned host key, two-phase rsync and the check that the public site serves the commit.Recreated with fictional data

    ADCOM · infrastructure

    Landing Page Deployment Platform

    Oct 2025 – Present

    The infrastructure that publishes, watches and maintains 100+ landing pages for several clients on one VPS, without restarting anything on each deployment.

    • Each landing page calls a reusable GitHub Actions workflow that installs, builds, checks the base path, gzips the files, generates WebP images and uploads the result with rsync in two phases.
    • The deployment logs in as a user without a shell, confined with rrsync and with a pinned host key, and each client's Nginx mounts its landing pages read-only.
    • A single Nginx block serves any registered landing page, with assets immutable for a year, uncached HTML, WebP by negotiation and the Google Tag Manager tags injected on the server.
    • Scripts that apply one change to all 106 repositories (deploy workflow, Dependabot policy, environment files) and generate each client's Nginx configuration.
    • GitHub Actions
    • Nginx
    • Docker Compose
    • rsync
    • Bash
    • Linux
    • Node.js 22
    • React
    • TypeScript
    • Vite
    View the projectPrivate code
  • Recreation of a fictional agency's listing, with filters by operation, type, city and price, cards with badges and the summary of the last sync with Wasi.Recreated with fictional data

    ADCOM · real estate agency

    Real Estate Landing with a Synced Inventory

    Jul 2026 – Present

    A real estate agency's lead capture site, which shows the properties the company already keeps in Wasi, synced every day before dawn, and takes requests for advice, contact and visits.

    • Every day before dawn, a GitHub Actions workflow downloads the inventory from the Wasi API, publishes only the available properties and, when something changed, commits and starts the deployment.
    • It ships to the agency's VPS with the same deployment workflow as the admissions landing pages.
    • The listing and its filters read a columnar index of 25 fields per property; each property's full record lives in its own file, fetched when its page opens.
    • When a property leaves Wasi, the next sync deletes its detail file.
    • GitHub Actions
    • Nginx
    • React 19
    • TypeScript
    • Vite
    • TanStack Router
    • TanStack Query
    • Tailwind CSS 4
    • Lovable
    • Supabase
    View the projectPrivate code
  • Recreation of the price quoter inside a CRM deal, with payment plan, scholarship, partner discount and a promotion cut by the 80% cap, the breakdown of each payment and the buttons for the PDF and for applying the quote.Recreated with fictional data

    TIVENOS · tools for sales teams

    Zoho CRM Widgets

    Oct 2026 – Present

    Five widgets that live inside Zoho CRM to build quotes, enroll, capture leads, book appointments and change programs without leaving the record.

    • A quote builder that simulates the payment plan in the browser, applies discounts within their cap, generates the investment plan PDF and only writes to the CRM on confirmation.
    • A React enrollment assistant that runs, in order, the five Deluge functions that talk to PeopleSoft Campus Solutions, validates the data before each step and translates the academic system's errors.
    • Lead capture from a campaign, one by one or as a bulk import with a template, column mapping and a review before importing.
    • Appointment management on the CRM's events to create, reschedule, cancel and record the outcome, with business permissions that block the action when they cannot confirm a role.
    • JavaScript
    • React
    • Vite
    • Zoho CRM Widget SDK
    • Zoho Extension Toolkit
    • Deluge
    • jsPDF
    • Node.js
    • jsdom
    • PeopleSoft Campus Solutions
    View the projectPrivate code
  • Recreation of the Program step of an admission form, with six cascading lists (unit, level, mode, schedule, term and program) and the summary of the application with the verified phone number.Recreated with fictional data

    TIVENOS · forms for institutional websites

    Admissions and Scholarship Web Forms

    Jun 2025 – Present

    Forms that institutions publish on their websites so an applicant can register, complete the application and upload documents, connected to the CRM through the integration services.

    • A multi-page flow that goes from lead registration to the full application that updates the opportunity, document upload and a thank-you page.
    • Cascading selects that load each institution's offering (unit, level, modality, schedule, term and program) from the academic hierarchy API.
    • A shared script for the CRM's web forms that keeps the UTM parameters in hidden fields and preselects the program from the URL.
    • Versions for undergraduate, graduate and continuing education, plus scholarship and family-relationship forms for the processes that need them.
    • JavaScript
    • HTML
    • CSS
    • jQuery
    • Select2
    • SweetAlert2
    • WordPress
    • FastAPI
    • Zoho CRM
    • Zoho Forms
    View the projectPrivate code
  • Recreation of a SQL client on the snapshot database, with one table per CRM module, a query on the run log and another of deals by stage, with the latest snapshot of each module completed.Recreated with fictional data

    TIVENOS · data

    CRM Snapshots

    Jun 2025 – Present

    A service that bulk-copies Zoho CRM modules into PostgreSQL so they can be analyzed with SQL outside the CRM, and logs every run.

    • The current version is a FastAPI API with key authentication and Prometheus metrics, deployed in Docker.
    • Uses Zoho's Bulk Read API to request each module's export, wait for the ZIP file, unpack it and load the CSV into PostgreSQL.
    • Covers the modules an institution's analysis needs, among them leads, deals, contacts, campaigns, notes and users.
    • Every run lands in a log table with the module, the date, the client and its status.
    • Azure
    • Docker
    • Prometheus
    • Bash
    • Python
    • FastAPI
    • Pydantic
    • SQLAlchemy
    • Zoho CRM Bulk API
    • PostgreSQL
    View the projectPrivate code
  • Recreation of the signature generator with a fictional brand and person, with the form on the left and the signature inside an email, the text logo, the contact details and the badge.Recreated with fictional data

    TIVENOS · internal tool

    Email Signatures

    Aug 2026 – Present

    A signature generator for the group's five brands that looks the same in Outlook, Gmail and Apple Mail.

    • A FastAPI and Jinja2 service with a form, a catalog per brand and theme, an .htm download for Outlook and a batch mode that turns a CSV into a ZIP with one signature per person.
    • Every logo ships twice, as a hosted image for modern clients and as the brand name in text for desktop Outlook, which renders with Word.
    • The fallback name is measured with an Arial Bold width table and shrinks one pixel at a time until it fits its column.
    • An audit renders every combination of brand, theme and badge and fails on anything an email client would break.
    • Docker
    • Prometheus
    • Python
    • FastAPI
    • Jinja2
    • HTML email
    Case studyPrivate code
  • Recreation of an admissions landing page for a fictional university with its form, next to the UTM fields that travel with the lead, the Zoho Forms post, the conversion event and the redirect to the thank-you page.Recreated with fictional data

    ADCOM · marketing agency

    University Admissions Funnel

    Feb 2025 – Present

    More than 90 admissions landing pages for five higher-education institutions that send every lead to Zoho CRM with the campaign that brought it.

    • React, TypeScript and Vite landing pages that capture UTM parameters, block double submissions, post to Zoho Forms and send the conversion event to Google Tag Manager.
    • WhatsApp, Meta Ads and Google Ads connected to the CRM through webhooks and REST, with Deluge functions and Zoho Creator apps for the sales teams.
    • Lead contact with AI agents in Dapta.
    • On postgraduate pages, the form asks for the applicant's level of studies and the answer reaches the CRM with the lead.
    • Docker
    • Nginx
    • React
    • TypeScript
    • Vite
    • Zoho CRM
    • Zoho Forms
    • Zoho Creator
    • Deluge
    • Google Tag Manager
    Case studyPrivate code
  • Recreation of a fictional lottery's daily results email in an inbox, with one email per day, the date in the subject and the results of eight draws.Recreated with fictional data

    ADCOM · lottery brands

    Hyper-Personalized Email at Scale

    Aug 2025 – Present

    Nightly results for two lottery brands plus welcome and birthday emails, each one carrying the name and segment of the person who receives it.

    • When a draw is not published yet, the script exits with its own code and the pipeline retries every 10 minutes, up to 9 times, before sending what was published.
    • A Python script queries the results API, fills a Jinja2 template that holds only variables and writes the HTML ready for the Amazon SES template.
    • Emails that a subscriber event triggers, such as the welcome and the birthday greeting.
    • Recipients come from a Zoho Analytics view through its bulk export API; each email carries the person's name and segment, and a column of the file can assign another template.
    • Bash
    • Amazon SES
    • Amazon SNS
    • Docker
    • Python
    • Jinja2
    • Requests
    • asyncio
    • aioboto3
    • cron
    View the projectPrivate code
  • Recreation of a Jupyter notebook that bulk-loads leads. It cleans a CSV, creates the Bulk Write API job, waits with a resume point, sums up created, updated and failed records, and links and tags them.Recreated with fictional data

    ADCOM · CRM automation

    Zoho Bulk Operations Toolkit

    Jul 2025 – Present

    Python scripts and notebooks that move large volumes of records in each client's Zoho CRM, across loads, links, tags, deletions and syncs.

    • Splits the CSV files, uploads them as ZIP to the Bulk Write API, creates the jobs, checks their status and resumes them if something breaks.
    • Links, tags and deletes records in bulk from a CSV, and prepares imports in Jupyter notebooks.
    • Syncs the customers of one client's Oracle database with its CRM.
    • Assigns codes and prepares a campaign's SMS sends, and analyzes the segments before each send.
    • Docker
    • Python
    • Jupyter
    • Pandas
    • Zoho CRM API
    • Zoho Bulk Write API
    • Flask
    • Oracle
    • CSV
    View the projectPrivate code
  • Recreation of a notebook that tracks collection campaigns by matching a purchased database against the email and SMS exclusion lists, counting who can be contacted and summing up, per campaign, how many paid.Recreated with fictional data

    Quipux · data internship

    Collection Campaign Automation

    Dec 2022 – Apr 2023

    The scripts and notebooks I wrote during the internship to track the campaigns of the revenue-collection area and clean up its databases.

    • Automatic downloads, filters and file splitters with Python and batch scripts, and generating and fixing the files of each campaign.
    • Pandas notebooks for the daily tracking of the campaigns in several cities.
    • Cleaning and joining purchased databases before using them in a campaign.
    • Email and SMS exclusion lists updated with every send.
    • Python
    • Pandas
    • NumPy
    • Jupyter
    • Excel
    • CSV
    • Batch scripting
    View the projectPrivate code
All projects and the repository archive

GitHub Organizations

Where my code lives, across work, products and education

  • TivenosEducation

    Private

    Integration services, observability, Zoho CRM widgets, admissions forms, CRM snapshots and email signatures for an education technology partner.

    54 repositories · 5 members

    See activityGitHub
  • SmartPotTech

    IoT platform for hydroponic crops, with firmware, broker, API, AI assistant, PWA and infrastructure.

    11 repositories · 3 members

    See activityGitHub
  • GoPoli

    Ride-sharing platform for university students, with a PWA, an API and a database.

    5 repositories · 2 members

  • ADCOM-Group

    Private

    Admissions landing pages and the platform that deploys them, Zoho automations, results services and email metrics for the agency's clients.

    121 repositories · 3 members

    See activityGitHub
  • PepperTechDev

    PepperCRM, a CRM product built with Spring Boot, React and MongoDB.

    6 repositories · 4 members

    See activityGitHub
  • EngineeringSebastian-s

    The Computer Engineering degree course by course, with AI, computer vision, networks, operating systems, distributed systems and data structures.

    37 repositories

    See activityGitHub
  • TaurusSebastian-s

    Data technical test with FastAPI, Pandas and React.

    4 repositories

    See activityGitHub
  • TestLabData

    Private

    Python data automations from the Quipux internship, for campaigns and reports (2022 – 2023).

    18 repositories

    See activityGitHub
  • TechnicalSebastians

    Projects of the Software Programming Technician program (SENA – IUSH), with web apps and tools in PHP, MySQL and C#.

    4 repositories · 2 members

    See activityGitHub
  • VocationalSebastian-s

    Technical high school projects (Pascual Bravo and INEM) with HTML, PHP, VB.NET, Java and Python.

    8 repositories · 3 members

    See activityGitHub
All organizations, with my commits in each

My Journey

From uploading files by hand to fleets that deploy and watch themselves, and on to a cybersecurity master's

Each line is a role and each stop is a milestone. Select a stop to see what happened there.

Mar 2026

Project · Mar 2026 – Present

GoPoli

University project · Politécnico JIC

Ride-sharing platform for students of my university, where I am the main contributor.

  • Web & full-stack
  • Backend & integrations
  • DevOps & cloud
SDG11Sustainable Cities and Communities4Quality EducationGo to the section

Technical Skills

The tools I deploy, watch and secure with, from containers and CI/CD to observability, cloud and networks

  • DevOps & Observability

    22 tools
    • Docker
    • Docker Compose
    • GitHub Actions
    • GitLab CI/CD
    • GHCR
    • Docker Hub
    • Nginx
    • Linux
    • Kubernetes
    • OpenTelemetry
    • Prometheus
    • Grafana
    • Loki
    • Promtail
    • Tempo
    • Blackbox Exporter
    • cAdvisor
    • Node Exporter
    • Nagios
    • rsync
    • SSL/Certbot
    • Bash
  • Cloud & Hosting

    11 tools
    • Azure
    • Amazon SES
    • Amazon SNS
    • Hostinger VPS
    • GitHub Pages
    • Firebase
    • MongoDB Atlas
    • Redis Cloud
    • Render
    • Netlify
    • Heroku
  • Security

    10 tools
    • OWASP
    • Kali Linux
    • Wireshark
    • CodeQL
    • Dependabot
    • Let's Encrypt
    • Spring Security
    • JWT
    • AES-256-GCM
    • WS-Security
  • Networks

    11 tools
    • Cisco IOS
    • VPN
    • Packet Tracer
    • OSPF
    • EIGRP
    • RIPv2
    • IPv6
    • DHCPv6
    • SNMP
    • PRTG
    • VoIP (Issabel)
  • Backend & APIs

    20 tools
    • FastAPI
    • Spring Boot
    • Spring Security
    • Django
    • Flask
    • Node.js
    • Laravel
    • REST
    • SOAP/WSDL (Zeep)
    • GraphQL (Strawberry)
    • Webhooks
    • JWT
    • OAuth 2.0
    • OpenAPI
    • Swagger
    • Pydantic
    • SQLAlchemy
    • asyncpg
    • Jinja2
    • Thymeleaf
  • Databases

    9 tools
    • PostgreSQL
    • MySQL
    • MariaDB
    • SQL Server
    • Oracle
    • MongoDB
    • Redis
    • SQLite
    • H2

Services I Offer

What I can deploy, watch and automate, with the project where I already did it

  • CRM & Zoho · Data & BI · DevOps

    Process Automation

    I turn repetitive tasks into scheduled processes that warn you when something fails.

    • Workflows in n8n, Zapier and Power Automate, and Deluge functions
    • Python scripts scheduled with cron or GitHub Actions
    • Bulk email with Jinja2 templates and Amazon SES
    • Generated documents, such as quote PDFs and email signatures
    • Retries and alerts when a data source arrives late

    Done in: Hyper-Personalized Email at Scale · Email Signatures · Zoho Bulk Operations Toolkit

  • DevOps · Backend

    Infrastructure & Deployment

    I put each service in containers, with automatic deploys and a secure server.

    • Linux VPS administration, Nginx, SSL and ports
    • Docker images, Compose and CI/CD with GitHub Actions
    • Deploys without restarts for fleets of static sites
    • Restricted deploy users and pinned host keys
    • GHCR images with Dependabot and CodeQL

    Done in: Landing Page Deployment Platform · MyPortfolio · SmartPot

  • DevOps · Backend

    Observability & Reliability

    I instrument services to know what fails before anyone reports it.

    • Metrics with Prometheus and dashboards in Grafana
    • Centralized logs with Loki and traces with OpenTelemetry and Tempo
    • Uptime probes, certificate expiry checks and alert rules
    • Alerts to Telegram and daily monitors that open issues
    • Regular performance reviews with Lighthouse

    Done in: Observability Platform · Landing Page Deployment Platform

  • Backend · CRM & Zoho · Full-Stack

    Integration & Backend Engineering

    I connect the CRM with the systems already in place, so nobody types the same data twice.

    • Custom REST APIs in Python (FastAPI) and Java (Spring Boot)
    • Integration with academic and legacy systems over REST, SOAP, SQL Server or files on FTP
    • Background jobs with retries, idempotency and a status you can query
    • Webhooks and connectors for WhatsApp, Meta Ads, Google Ads and forms
    • OpenAPI documentation and automated tests

    Done in: Integration Platform · PepperCRM · GoPoli

  • CRM & Zoho

    CRM Development & Automation (Zoho)

    I set up Zoho so the sales process lives in the CRM instead of spreadsheets.

    • Implementation and customization of Zoho CRM modules, fields, layouts and workflows
    • Deluge functions and in-record widgets built with the Zoho Extension Toolkit
    • Zoho Creator apps and Zoho Analytics dashboards
    • Bulk loads, links and cleanups with the Bulk API
    • Web forms connected to the CRM, with UTM capture and validation

    Done in: Zoho CRM Widgets · Zoho Bulk Operations Toolkit · Admissions and Scholarship Web Forms

  • Full-Stack · CRM & Zoho

    Web Development & Landing Pages

    I build fast, bilingual, measurable websites and web apps connected to the CRM.

    • Apps in React, Next.js and Vite with TypeScript and Tailwind CSS
    • Campaign landing pages with UTM capture, forms and conversion events
    • Prerendered sites with complete SEO, Open Graph and structured data
    • PWAs with maps (Leaflet and OSRM) and group chat
    • Accessibility and performance measured with Lighthouse

    Done in: GoPoli · Real Estate Landing with a Synced Inventory · University Admissions Funnel · MyPortfolio

  • Data & BI

    Business Intelligence & Data

    I get data out of wherever it lives, clean it and turn it into dashboards and reports that update themselves.

    • Database audits, cleanup and deduplication
    • CRM snapshots in PostgreSQL to analyze it with SQL
    • Dashboards in Power BI (DAX) and Zoho Analytics
    • Python and Pandas notebooks for analysis and campaign tracking
    • Automated operational reports

    Done in: CRM Snapshots · Collection Campaign Automation · Taurus Technical Test

  • CRM & Zoho · Data & BI · Backend

    Technical Consulting & Support

    I help business and IT teams decide on, document and run the technology they use.

    • Process assessment and architecture proposals
    • Technical documentation, standards and good practices
    • Logging, security and deployment standards for new services
    • Help desk and support for CRM users
    • Coordination between development, marketing and analytics

    Done in: Integration Platform · University Admissions Funnel

Why hire me?

Eleven reasons, each with what a manager or a teammate wrote about working with me

  • From question to production

    I take a problem from the first question to production, keep it running, and learn whatever tool it needs.

    “He is reliable, works steadily and can move his tasks forward without much follow-up.”
    Lautaro Bordoni · Zoho CRM Expert Consultant · Translated from Spanish
  • Calm when something breaks

    When a service fails, I find the cause in the logs, traces and metrics, fix it, and leave an alert so it shows up sooner next time.

    “how he approaches problems: no drama, calmly and always looking for solutions”
    Rodrigo Sánchez · IT team · Translated from Spanish
  • I share what I know

    I review code, explain my decisions and write the documentation I would have liked to find.

    “I highlight his willingness to help others and share his experience”
    Paula Vega · E-Commerce & Digital Marketing Specialist · Translated from Spanish
  • I deliver more than was asked

    When I close a task I look at what surrounds it, such as the missing monitoring, the test that did not exist or the manual step that can be automated.

    “you throw him one ball and he gives you back three”
    Daniela Bolivar · Global Business Development Manager · Translated from Spanish
  • From business need to architecture

    I start from the decision or process a team needs to change, then choose the architecture and split it into tasks.

    “He translates business needs into architecture and concrete tasks, anticipates risks and prioritizes with good judgment.”
    Felipe Camacho · CMO · Translated from Spanish
  • Less manual work

    I automate repetitive data entry and reporting with CRM workflows, n8n and scripts.

    “He is very people-oriented and acts as a facilitator in the continuous improvement of both individual and team processes.”
    Jennifer Andrea Tuso M. · Customer Experience Director · Translated from Spanish
  • Connected data

    I bring data scattered across spreadsheets, the CRM and web forms together, so every area works from the same records.

    “He also has strong data analysis skills, which allow proper traceability and follow-up of information.”
    Tatiana Díaz · Communications & Marketing Specialist · Translated from Spanish
  • I speak marketing, finance and IT

    I work with each team on its own terms, which helps when a project spans all three.

    “He is a diligent, proactive professional with a great ability to deliver solutions that meet the needs of each area.”
    Kelly Johana Mejia · Business Administration Professional · Translated from Spanish
  • Technology that serves the business

    I judge a solution by what it changes for the business, whether that is leads reaching the CRM complete, reports nobody builds by hand or pages that load fast.

    “excellent technical command of web development with a strategic vision”
    Daniel Rodriguez · CEO · Translated from Spanish
  • I learn fast and teach what I learn

    I learn the tool the problem calls for, from Deluge to OpenTelemetry or an academic system's API, and leave it documented for the team.

    “He always has an insatiable curiosity to learn new things and guides us through the process.”
    Darwin David Castaño Hernández · Software Developer · Translated from Spanish
  • Careful with data

    I validate, remove duplicates and keep a record before loading or syncing data, because a mismatched record costs more than the check.

    “His meticulous approach and attention to detail have been fundamental to our team's success.”
    Emmanuel Berrio Jimenez · Full-Stack Developer · Translated from Spanish

The Engineer's Mindset

From running servers in 2023 to watching 20+ services today

“Engineering is the art of understanding complex systems.”

I'm Sebastián López Osorno, a developer from Medellín, Colombia, in my final semester of Computer Engineering. For more than 4 years I've been getting systems that don't talk to each other to share data people can trust.

My infrastructure work started at MUV-U, with the company's servers and support for its users. At ADCOM I set up a VPS with Docker, Nginx and SSL, and later the deployment of the landing pages, with a user without a shell that uploads the files through rsync without restarting anything.

At TIVENOS I publish 20+ services to GHCR. Since I needed to hear about a failure before a team reported it, I built the stack that watches them, with metrics in Prometheus, logs in Loki, traces in Tempo and Grafana alerts that reach Telegram.

Along that path I've worked on almost every side of a tech team, from data, CRM and backend to frontend, servers and, at TIVENOS, technical coordination. It lets me understand what marketing, finance or IT ask for without anyone translating it for me, and turn it into concrete tasks.

With artificial intelligence I took the same path, from building it to directing it. At university I built, with a classmate, an expert system in CLIPS, fuzzy logic with scikit-fuzzy and genetic algorithms, and on my own a reactive agent that decides which actuators to switch on; at SmartPot, an assistant with expert rules, fuzzy logic and scikit-learn models that forecasts when a crop will leave its range and proposes actions applied in bulk; and at ADCOM, lead contact with AI agents in Dapta.

I work with language models at both scales. On the small side, I fine-tuned Qwen2.5-1.5B with LoRA and built a RAG pipeline with a quantized Qwen2-0.5B and a FAISS index, meant to run on modest hardware. On the large side, I built an n8n agent that answers with Claude and queries three MCP servers I wrote in Python, and I've worked with GPT, with Gemini and with open models running locally through Ollama.

In daily development I direct coding agents, Claude Code among them, with engineering judgment. Before delegating I write down each project's rules, from commit authorship to what is never touched in production; then I review every proposal and run it through the same tests and the same CI as any other change. Having built these systems from the inside is what lets me decide what to delegate, spot when an answer doesn't hold up and use AI to save work without giving up the design.

Next is bringing those language models to the data I integrate today, with assistants that answer from each organization's own information. On the academic side, I finish the cybersecurity diploma in December 2026, graduate in March 2027, and then come a specialization in data science and a master's in cybersecurity.

What I care about most is that the teams depending on a service are never the first to find out it went down. I'm looking for a DevOps or platform role, remote or hybrid.

  1. 2019INEM: first algorithms and web design
  2. 2020Pascual Bravo: software development technician
  3. 2022Politécnico and SENA: engineering and a programming technician degree
  4. 2022Quipux: data analysis internship
  5. 2023MUV-U: CRM, Power BI and servers
  6. 2024SmartPot: lead developer of the IoT platform
  7. 2025ADCOM: CRM, MarTech and 100+ landing pages
  8. 2025TIVENOS: IT Manager and integration lead
  9. 2026GoPoli: ride-sharing PWA
  10. 2026Cybersecurity diploma

Languages

Spanish
Native
English
Professional working proficiency
Portuguese
Elementary

Education

  1. 2022 – 2026

    Bachelor's in Computer Engineering

    Politécnico Colombiano Jaime Isaza Cadavid

    Final semester · Graduation Mar 2027

    See the programGitHub organization · 37 repositories

    • Software engineering
    • Artificial intelligence
    • Machine learning
    • Computer vision
    • Evolutionary computing
    • Semantic web and agents
    • Distributed and parallel programming
    • Cisco networks and IPv6
    • Operating systems
    • Hardware architecture
    • Compilers and automata
    • Data structures
    • SQL and NoSQL databases
    • Testing and TDD
    • Modeling and simulation
    • Operations research
    • Numerical analysis
    • Applied statistics
    • IT project management
  2. 2026

    Diploma in Cybersecurity

    Politécnico Colombiano Jaime Isaza Cadavid

    In progress · Sep – Dec 2026

    See the programLab reports on GitHub

    • Kali Linux
    • Nmap
    • Ethical hacking
    • Vulnerability analysis
    • CTF
    • Privilege escalation
    • Incident response
    • Role-based access control
  3. 2022 – 2023

    Software Programming Technician

    SENA – Institución Universitaria Salazar y Herrera (IUSH)

    See the programGitHub organization · 4 repositories

    • Software analysis
    • Systems architecture
    • Software design
    • Web development
    • PHP and MySQL
    • C#
    • Database objects
    • Data modeling
    • Version control
    • Operating system installation
  4. 2020 – 2021

    Assistant Software Development Technician

    Institución Educativa Pascual Bravo

    See the programGitHub organization · 8 repositories

    • Programming logic
    • Data structures
    • Relational databases
    • PHP
    • HTML and CSS
    • Visual Basic .NET
    • Excel with VBA
    • Java
    • Python
  5. 2019 – 2021

    High School with Computer Science Specialization

    I.E. INEM José Félix de Restrepo

    See the programGitHub organization · 8 repositories

    • Computing fundamentals
    • Algorithms
    • Web design
All education, with its courses and projects

Certifications

Security, Git, IoT and fundamentals first, with what each certification adds to operations

What My Colleagues Say

Sixteen LinkedIn recommendations; those from people who saw me solve infrastructure problems come first

Recommendations
16
From supervisors
8
From teammates
8
  • Problem solver

    “Working with him on the IT team was an excellent experience. His technical knowledge is very broad, but the most important thing is how he approaches problems: no drama, calmly and always looking for solutions. One of those teammates who, when something breaks, you know will fix it. I recommend him without a doubt. And above all, he is an excellent person.”

    Translated from Spanish · Show original

    “Trabajar con él en el equipo de IT fue una experiencia excelente. Su conocimiento técnico es muy amplio, pero lo mas importante es su forma de encarar problemas: sin dramas, con tranquilidad y siempre buscando soluciones. De esos compañeros que cuando algo se estropea, sabes que ellos lo van a solucionar. Lo recomiendo sin lugar a dudas. Y por sobre todo lo anterior excelente persona.”

    Rodrigo Sánchez

    IT team · TIVENOS

    Same team · Mar 2026

  • Role model

    “Sebastián is an exceptional classmate with whom I'm lucky to share the same university program. He always has an insatiable curiosity to learn new things and guides us through the process. In projects, he is our reference for his experience and his ability to work as a team. His comments and feedback are always precise and valuable.”

    Translated from Spanish · Show original

    “Sebastián es un compañero excepcional con quien tengo la suerte de compartir en la misma carrera en la universidad. Siempre tiene una insaciable curiosidad por aprender cosas nuevas y nos guía en el proceso. En los proyectos, es nuestro referente por su experiencia y habilidad para trabajar en equipo. Sus comentarios y feedbacks son siempre precisos y valiosos.”

    Darwin David Castaño Hernández

    Software Developer · Python · Java · React

    Classmate · Jan 2025

  • Collaborative

    “I had the opportunity to work with him, and I can say with complete confidence that he is an exceptional professional. His technical ability, commitment and skill at finding solutions make him someone who has a great impact on every project he leads or takes part in. Beyond his knowledge, I highlight his willingness to help others and share his experience. He is always ready to support the team, tackle challenges with a proactive attitude and contribute ideas that add value. He is extremely diligent, responsible and focused on meeting goals without losing sight of the quality of his work. Working with him has been a very enriching experience, both for his professionalism and for his human quality. Without a doubt, I recommend him to any organization looking for a highly competent, collaborative professional committed to excellence.”

    Translated from Spanish · Show original

    “Tuve la oportunidad de trabajar con él y puedo decir con total confianza que es un profesional excepcional. Su capacidad técnica, compromiso y habilidad para encontrar soluciones lo convierten en una persona que genera un gran impacto en cada proyecto que lidera o en el que participa. Más allá de sus conocimientos, destaco su disposición para ayudar a los demás y compartir su experiencia. Siempre está dispuesto a apoyar al equipo, resolver desafíos con una actitud proactiva y aportar ideas que agregan valor. Es una persona sumamente diligente, responsable y enfocada en cumplir los objetivos sin perder de vista la calidad de su trabajo. Trabajar con él ha sido una experiencia muy enriquecedora, tanto por su profesionalismo como por su calidad humana. Sin duda, lo recomiendo a cualquier organización que busque un profesional altamente competente, colaborativo y comprometido con la excelencia.”

    Paula Vega

    E-Commerce & Digital Marketing Specialist · CRM · Loyalty · Digital channels

    Different team · Jul 2026

My Resume

For a DevOps role, the extended version brings every achievement of every job, with the deploys, containers and observability

Concise version, ready for applicant tracking systems.

  • 2 pages
  • PDF with selectable text
  • Updated on October 15, 2026

What it includes

  • Two pages in a single column with selectable text
  • Profile, experience, skills and education
  • Keywords for backend, CRM, data and DevOps roles
Preview of the first page of the resume · ATS (compact)Page 1 of 2

GitHub Metrics

What is behind the numbers in repository fleets, deploys and monitoring

Many of the commits come from keeping fleets in shape, with the same workflow, the same Dependabot setup or the same fix applied by a script to more than a hundred landing page repositories. That is why commits by language and hours do not match.

Figures from October 18, 2026, refreshed on every deploy

contributions since February 2022
28,584
commits since February 2022
27,770
days with at least one contribution
790
days in a row with contributions, still running
490
pull requests opened
171
pull requests reviewed
548
repositories I have contributed to
202
organizations I am a member of
10

Where the commits are

Commits on the default branch of the repositories I can query with the GitHub API, counted on October 15, 2026, which add up to 21,731 in 269 repositories. The commit figure above comes from GitHub's contribution count and is higher than this sum.

  • Admissions landing pages8,898 commits · 106 repositories

    The agency's campaign landing pages. They include the visual builder's automatic commits and the changes I applied by script to the whole fleet.

  • Integration services4,047 commits · 23 repositories

    The FastAPI services that connect Zoho CRM with each institution's academic systems.

  • SmartPot2,629 commits · 11 repositories

    The university IoT project, with firmware, API, web app, models and infrastructure.

  • Degree coursework1,663 commits · 37 repositories

    One repository per course or project of the Computer Engineering degree.

  • Email signatures904 commits · 1 repositories

    The TIVENOS email signature generator.

  • Everything else3,590 commits · 91 repositories

    The agency's infrastructure and tools, the TIVENOS forms, widgets and observability, team products, technical tests, this portfolio and personal repositories.

Hours versus commits

Each language's share of the GitHub commits and of the 537 hours WakaTime tracked in my editors.

commitshours

  • Python
    commits: 26%
    hours: 38%
  • TypeScript
    commits: 59%
    hours: 4%
  • Java
    commits: 5.3%
    hours: 8.7%
  • JavaScript
    commits: 2.9%
    hours: 5.8%
  • Jupyter
    commits: 2.6%
    hours: 5.3%
  • HTML
    commits: 2%
    hours: 6.6%
  • Shell
    commits: 0.9%
    hours: 3.4%

They measure different things. The count by language assigns each commit to its repository's main language, and a change applied to the whole landing page fleet adds one commit per repository, almost all of them TypeScript. WakaTime measures time in the editor, where the Python services and notebooks weigh the most.

Year by year

Contributions each year and the days with at least one.

  1. 2022

    52846 of 309 days active

  2. 2023

    24570 of 365 days active

  3. 2024

    683117 of 366 days active

  4. 2025

    6,077266 of 365 days active

  5. 2026

    21,051291 of 291 days active · through October 18

Contributions by day of the week

  1. Sun1,525
  2. Mon4,396
  3. Tue5,374
  4. Wed5,229
  5. Thu3,647
  6. Fri5,946
  7. Sat2,467

Editors (WakaTime)

  • PyCharm281 h
  • WebStorm106 h
  • IntelliJ IDEA84 h
  • Claude Code66 h
  • DataGrip3 h

202 repositories with commits of mine, 135 of them private.

Of the 548 pull requests I reviewed, 540 were dependency updates opened by Dependabot.

33 repositories created and 51 issues opened since February 2022.

Get In Touch

Tell me what you need to deploy, watch or automate

Reach me directly

I reply by email or WhatsApp. If it is about a role, a link to the job post helps me answer with what matters to you.

The message opens in WhatsApp or in your mail app, ready to send; nothing is stored on this site.