Skip to content
jvelezmagicLet's talk ↗

~/jvelezmagic

Jesús
Vélez Santiago

I design and build AI products. I start with someone stuck on a task and work backwards to whatever model, data or interface gets them unstuck. Based in Mexico.

$ git log --graph↓
  • engineering
  • science
  • teaching
Jesús, arms crossed, wearing a black T-shirt with the jvelezmagic logo

$ cat README.md

About

I'm Jesús — online, jvelezmagic. I trained as a genomic scientist, modeling bacteria and decoding single cells, and slowly followed the data into software.

Today I design and build AI products, starting from the problem rather than the model. Along the way I co-built decoupleR, taught data science on Platzi, and reached the finals of a couple of AI hackathons.

The "magic" in my handle is half a joke: I still love the moment a messy pile of data turns into something people can actually use.

Based
Mexico · remote
Languages
Spanish, English
Writes
Python, TypeScript, SQL, R
Off-hours
Camping, sunsets, starry nights

$ git log --graph

The story so far

Building AI products today. It started in a genomics lab, with a lot of teaching along the way.

12 commits · 3 branches · 1 merge · since 2020

  1. ??????? · git commit -m "your idea here"

    The next commit isn't written yet. If you're working on an AI product, or a problem that might become one, it could be ours.

    Message me on LinkedIn ↗
  2. 04 · HEAD → main

    Designing AI products

    At uDocz I design and build the AI features people study with: flashcards, quizzes and summaries made from their own documents. I still check the numbers like a statistician.

  3. HEAD → mainML Engineer & Python DeveloperuDocz

    Retrieval-augmented generation over ~1M documents, real-time AI flashcards and quizzes, and the Airflow + dbt pipelines behind them.

    git show 2d0e409 ↓

    now2d0e409 · role

    commit 2d0e409 (HEAD → main)

    Date: Jun 2023 → now

    ML Engineer & Python Developer @ uDocz

    + RAG over ~1M documents: LangChain, FastAPI, Postgres, Redis, open-source embeddings

    + real-time AI flashcards and quizzes generated from each document

    + summaries tuned for SEO and for readers

    + Airflow + dbt pipelines with observability

    uDocz ↗Python · FastAPI · LangChain · Postgres · Redis

  4. Advanced document handling & retrieval with LangChainCourse

    Hands-on course (in Spanish) on chunking, retrieval and RAG techniques.

    Code ↗

    Oct 2023291f589 · course

  5. 03 · git merge science

    From the lab to products

    I branched into industry — analytics at Platzi, then automating infrastructure as an ML engineer at Wannabe. decoupleR got published, and the science branch merged into main. It never really left.

  6. Missing data: detection, exploration & imputationPlatzi

    Two-part course on finding, understanding and imputing missing values.

    Part 1 ↗Part 2 ↗

    Sep 20225270a48 · course

  7. Exploratory data analysisPlatzi

    Course ↗

    Sep 2022d310945 · course

  8. Machine Learning EngineerWannabe

    Deployment from fully manual to fully automated (GitHub Actions, Docker, Kubernetes); infra cost down 75%, API errors down 90%.

    git show 247db42 ↓

    Sep 2022247db42 · role

    commit 247db42

    Date: Sep 2022

    Machine Learning Engineer @ Wannabe

    - manual deploys

    + fully automated CI/CD: GitHub Actions, Docker, Kubernetes

    + infra cost -75%

    + GraphQL APIs (NestJS, Apollo tracing), error rate -90%

    TypeScript · NestJS · GraphQL · Kubernetes

  9. Merge branch 'science' into main

    From research labs to building products — the science never left.

    Mar 202269597fd · merge

  10. decoupleR: ensemble of methods to infer biological activitiesBioinformatics Advances

    Published the package I co-built at the Saez Lab.

    Paper ↗Code ↗

    Mar 20229703787 · research

  11. Data AnalystPlatzi

    KPI dashboards in Metabase & Superset and new course-evaluation metrics; halved data extraction time.

    git show bde0243 ↓

    Jan 2022bde0243 · role

    commit bde0243

    Date: Jan 2022

    Data Analyst @ Platzi

    - decisions based on assumptions

    + KPI dashboards in Metabase and Superset

    + new course-evaluation metrics across Redshift, Postgres, Tinybird

    + data extraction time -50%

    SQL · Redshift · Metabase

  12. 02 · git checkout -b teaching

    Learning out loud

    I started teaching what I was learning: a live class on pandas, a talk on packaging code, and my first Platzi courses. Meanwhile the science kept going, automating single-cell pipelines at La Jolla Institute.

  13. Bioinformatics SpecialistLa Jolla Institute for Immunology

    Automated single-cell pipelines and reports so researchers could explore their own data.

    git show 0f9d184 ↓

    Oct 20210f9d184 · role

    commit 0f9d184

    Date: Oct 2021

    Bioinformatics Specialist @ La Jolla Institute for Immunology

    - manual cleaning and normalization

    + automated single-cell pipelines and experiment reports

    + tested, documented internal libraries

    R · Python · single-cell

  14. Start creating packages to share your codeSaez Lab

    Video ↗

    Jun 20214f4a652 · talk

  15. Environments for data science — Jupyter, Conda & beyondPlatzi

    Two courses on setting up productive, reproducible data science workbenches.

    Jupyter & Anaconda ↗Advanced environments ↗

    May 2021aec4e15 · course

  16. Pandas and its ecosystemPlatzi Live

    Code ↗

    Apr 2021b742896 · talk

  17. 01 · git init

    Code as a lab instrument

    It started in genomics. At Heidelberg's Saez Lab I spent a year building decoupleR, an R package to infer biological activity from omics data — and found I liked building the instrument as much as using it.

  18. R Software DeveloperHeidelberg University · Saez Lab

    Co-built decoupleR — 10+ statistical methods in one framework; Bioconductor acceptance went from ~3 months to 2 weeks.

    git show 7df2b0a ↓

    Aug 20207df2b0a · role

    commit 7df2b0a

    Date: Aug 2020

    R Software Developer @ Heidelberg University · Saez Lab

    + 10+ statistical methods in one framework (decoupleR)

    + test-driven, cross-platform R package

    - ~3 months to Bioconductor acceptance

    + 2 weeks to Bioconductor acceptance

    Bioconductor ↗R · Bioconductor

$ gh repo list --pinned

Side projects

Things I built outside the day job: open source, hackathon finals and research.