Proyectos extra

Side projects

Lo que hago fuera de los stands

What I make beyond booths

Un cortometraje animado y las herramientas que programé para problemas reales: yo defino el problema, el flujo y el diseño, y lo construyo con vibe coding hasta que funciona en la vida real.

An animated short film and the tools I built for real problems: I define the problem, the flow and the design, and build it with vibe coding until it works in real life.

01

Animación 3D · cortometraje de titulación

3D animation · thesis short film

La libertad nace en la sombra del sacrificio

Freedom is born in the shadow of sacrifice

Mi proyecto de titulación de Diseño de Animación (2024): un cortometraje 3D sobre una niña destinada al sacrificio que se enfrenta al Ser Supremo. Historia, personajes, escenarios, animación y render en cuatro meses; con Xavier López Arriaga Candiani en edición, música y posproducción.

My Animation Design thesis (2024): a 3D short film about a girl destined for sacrifice who confronts the Supreme Being. Story, characters, sets, animation and rendering in four months; with Xavier López Arriaga Candiani on editing, music and post-production.

Deus VultDeus VultDeus Vult
02

Addon de Blender · mi herramienta de trabajo

Blender add-on · my everyday tool

MATTR Tools

Lo programé para dejar de repetir a mano lo que todo stand necesita: carpetas, cámaras, renders, planos para el taller, variantes de color y videos para presentar. Hoy es mi flujo completo de trabajo, de la primera versión al archivo que se fabrica.

I wrote it to stop doing by hand what every booth needs: folders, cameras, renders, workshop drawings, colour variants and presentation videos. Today it is my whole workflow, from the first version to the file that gets built.

  • 22,900+líneas de Pythonlines of Python
  • 182herramientastools
  • 14panelespanels
  • 4.0 → 5.2versiones de BlenderBlender versions
MATTR Tools · Visualización
  1. AlambreWireframe
  2. SólidoSolid
  3. BlancoWhite
  4. Render finalFinal render

Un clic: la cámara gira alrededor del stand y lo renderiza en cuatro estilos que se unen en un solo video. Los videos giratorios de este portafolio siguen ese mismo proceso.

One click: the camera orbits the booth and renders it in four styles joined into one video. The turntables in this portfolio follow that same process.

  1. ProyectoProject
  2. ModeloModel
  3. MaterialesMaterials
  4. CámarasCameras
  5. Render
  6. VisualizaciónTurntable
  7. PlanosDrawings
  8. ExportarExport

Así se ve dentro de BlenderWhat it looks like inside Blender

Una pestaña «MATTR» en el panel lateral, con 14 secciones

A «MATTR» tab in the sidebar, with 14 sections

MATTR Tools dentro de Blender

Las 14 secciones, una por una · capturas reales del addonThe 14 sections, one by one · real captures of the add-on

  • MATTR Tools · Proyecto
    01

    Proyecto

    Project

    Crea las carpetas estándar de cada trabajo (renders, export, referencias) y guarda cada versión del .blend con su número, que sube solo. Si el archivo no está guardado, avisa en rojo.

    Creates each job's standard folders (renders, export, references) and saves every version of the .blend with a number that goes up by itself. If the file isn't saved, it warns in red.

    EjemploExampleCada stand vive en su carpeta con v01, v02, v03…Every booth lives in its own folder with v01, v02, v03…

  • MATTR Tools · Escena
    02

    Escena

    Scene

    Para escenas pesadas: bloquea lo que no quiero mover, muestra lo oculto, limpia colecciones vacías y quita las jerarquías de assets descargados sin mover nada de su lugar.

    For heavy scenes: locks what I don't want to move, reveals hidden objects, cleans empty collections and removes downloaded assets' hierarchies without moving anything.

    EjemploExampleBloquear todo menos la pieza en la que trabajo.Lock everything except the piece I'm working on.

  • MATTR Tools · Modelo
    03

    Modelo

    Model

    Mide cualquier objeto en ancho (X), alto (Z) y profundidad (Y) y lo escala a su medida real en cm o m, aunque esté rotado. Si no conozco las medidas de un producto, arma un prompt para que una IA las estime desde una foto y las aplica.

    Measures any object in width (X), height (Z) and depth (Y) and scales it to its real size in cm or m, even when rotated. If I don't know a product's size, it builds a prompt so an AI estimates it from a photo, then applies it.

    EjemploExampleUn anaquel descargado queda en 90 × 180 × 40 cm con un clic.A downloaded shelf becomes 90 × 180 × 40 cm in one click.

  • MATTR Tools · Materiales
    04

    Materiales

    Materials

    La paleta del proyecto para pintar muchas piezas a la vez, y las variantes: el mismo stand en varios colores, guardado por colección, que se cambia con un clic y se renderiza en lote sin duplicar la geometría.

    The project palette to paint many pieces at once, and variants: the same booth in several colours, saved per collection, swapped with one click and batch-rendered without duplicating geometry.

    EjemploExampleLas dos propuestas de color de Motorola salen del mismo modelo.Motorola's two colour proposals come from the same model.

  • MATTR Tools · Paisajismo
    05

    Paisajismo

    Landscaping

    Pasto, árboles, jardines y senderos con Geometry Nodes: una sola copia en memoria repetida miles de veces y árboles con doble nivel de detalle, ligeros al navegar y realistas en el render.

    Grass, trees, gardens and paths with Geometry Nodes: a single copy in memory repeated thousands of times, and trees with two levels of detail, light while navigating and realistic at render time.

    EjemploExampleJardines de exteriores sin que se trabe la escena.Outdoor gardens without the scene lagging.

  • MATTR Tools · Cámaras
    06

    Cámaras

    Cameras

    Lista todas las cámaras, le da a cada una su resolución (Full HD, vertical, 4K, A4…) y renderiza solo las marcadas, cada una en la carpeta de su versión.

    Lists every camera, gives each its own resolution (Full HD, vertical, 4K, A4…) and renders only the ticked ones, each into its version folder.

    EjemploExampleLas nueve cámaras de Heinz, en un solo lote.Heinz's nine cameras, in a single batch.

  • MATTR Tools · Render
    07

    Render

    Presets de calidad para EEVEE y Cycles con un clic, render rápido de la vista, halo en las luces, material de revisión y render por colecciones.

    One-click quality presets for EEVEE and Cycles, quick viewport render, light glow, a review material and render by collections.

    EjemploExampleDe vista previa a calidad final sin tocar veinte ajustes.From preview to final quality without touching twenty settings.

  • MATTR Tools · Visualización
    08

    Visualización

    Turntable

    El video giratorio: una cámara orbita el stand y lo renderiza en alambre, color, blanco y render final; al terminar une todo en un MP4.

    The turntable: a camera orbits the booth and renders it in wireframe, colour, white and final render, then joins everything into one MP4.

    EjemploExampleTodos los videos giratorios de este portafolio.Every turntable in this portfolio.

  • MATTR Tools · Planos técnicos
    09

    Planos técnicos

    Technical drawings

    En tres pasos (cámaras, render de vistas y lámina) arma la hoja con planta, frente, lateral e isométrico, cotas automáticas y cajetín, en estilo clay, blueprint, líneas o alambre, lista para PDF.

    In three steps (cameras, view renders and sheet) it lays out plan, front, side and isometric views with automatic dimensions and a title block, in clay, blueprint, line or wireframe style, ready for PDF.

    EjemploExampleLas láminas de Herradura que ves más abajo.The Herradura sheets you see below.

  • MATTR Tools · Exportar
    10

    Exportar

    Export

    Prepara el modelo (escala, modificadores y texturas a disco) y lo exporta a FBX, OBJ, GLB, STL o DXF sin perder ninguna textura en el camino.

    Prepares the model (scale, modifiers and textures to disk) and exports it to FBX, OBJ, GLB, STL or DXF without losing a single texture on the way.

    EjemploExampleLos modelos 3D que puedes girar en cada caso.The 3D models you can orbit in every case.

  • MATTR Tools · Optimizar
    11

    Optimizar

    Optimize

    Califica la salud de la escena de 0 a 100 y ordena lo que falla —texturas pesadas, objetos de millones de triángulos, materiales repetidos— con un botón para arreglar cada aviso.

    Scores the scene's health from 0 to 100 and ranks what's wrong —heavy textures, million-triangle objects, duplicated materials— with a button to fix each warning.

    EjemploExampleUn archivo pesado que vuelve a moverse fluido.A heavy file that runs smoothly again.

  • MATTR Tools · Biblioteca
    12

    Biblioteca

    Library

    Registra miles de modelos de una carpeta con miniaturas hechas en segundo plano; los busco, los veo y los importo sin abrir carpetas. Es mi BlenderKit personal.

    Registers thousands of models from a folder with thumbnails made in the background; I search, preview and import them without opening folders. It's my personal BlenderKit.

    EjemploExampleMás de mil FBX de mobiliario y producto.Over a thousand furniture and product FBX files.

  • MATTR Tools · Arquitectura
    13

    Arquitectura

    Architecture

    Escaleras, rampas, barandales y luces de techo paramétricos: cambio las medidas y el modelo se rehace solo.

    Parametric stairs, ramps, railings and ceiling lights: I change the dimensions and the model rebuilds itself.

    EjemploExampleEscaleras para stands de dos niveles.Stairs for two-level booths.

  • MATTR Tools · Utilidades
    14

    Utilidades

    Utilities

    Medir aristas en pantalla, renombrar en lote, calcular pantallas LED, convertir un PNG en una malla recortada y reconectar texturas perdidas buscándolas por nombre dentro del propio proyecto.

    Measure edges on screen, batch-rename, size LED screens, turn a PNG into a cut-out mesh and relink missing textures by searching for them by name inside the project.

    EjemploExampleLas texturas de Puratos, reconectadas (compáralo abajo).Puratos' textures, relinked (compare below).

Ejemplos realesReal examples

Seis stands de este portafolio, girando con el mismo proceso

Six booths from this portfolio, spinning with the same process

Planos técnicosTechnical drawings

De la pieza en 3D a la lámina para el taller

From the 3D piece to the workshop sheet

Elijo una pieza y el addon arma la lámina: cuatro vistas, cotas automáticas en centímetros y cajetín con el proyecto. Sale en varios estilos —blueprint, líneas o alambre— listos para cotizar y fabricar.

I pick a piece and the add-on lays out the sheet: four views, automatic dimensions in centimetres and a title block. It comes out in several styles —blueprint, lines or wireframe— ready to quote and build.

Lámina Lámina blueprint
Lámina blueprint
Lámina Isométrico blueprint
Isométrico blueprint
Lámina Líneas con cotas
Líneas con cotas
Lámina Isométrico a color
Isométrico a color
Lámina Alambre con cotas
Alambre con cotas
Lámina Isométrico en alambre
Isométrico en alambre
Variantes de materialMaterial variants

El mismo stand, otra propuesta de color, sin duplicar el modelo

Same booth, another colour proposal, without duplicating the model

Nació porque los clientes pedían el mismo stand en varios colores. Cada juego de materiales se guarda por colección y se cambia con un clic. Arrastra para comparar las dos propuestas de Motorola.

It came from clients asking for the same booth in several colours. Each material set is saved per collection and swapped with one click. Drag to compare Motorola's two proposals.

Motorola Next Arena
Motorola Next Arena
Propuesta limpiaClean proposalPropuesta azulBlue proposal
Reconectar texturasRelink textures

Cuando las imágenes cambian de carpeta, el stand no se queda en blanco

When images move folders, the booth doesn't go blank

Busca cada textura perdida por su nombre y se queda con la del propio proyecto. Arrastra para ver el stand de Puratos con las texturas perdidas y ya reconectadas.

It looks for every missing texture by name and keeps the one from the project itself. Drag to see the Puratos booth with its textures missing and relinked.

Stand Puratos
Stand Puratos
Texturas perdidasMissing texturesReconectadasRelinked
Cámaras y render por lotesCameras and batch rendering

Cada cámara con su encuadre y resolución, renderizadas de una vez

Every camera with its framing and resolution, rendered in one go

Dejo las cámaras listas y el addon renderiza solo las que elijo, cada una en su carpeta de versión. Estas son cuatro de las nueve de Heinz.

I set up the cameras and the add-on renders only the ones I pick, each into its version folder. These are four of Heinz's nine.

HeinzHeinzHeinzHeinz
03

Tienda en línea · negocio familiar

Online store · family business

Una tienda con la personalidad del taller

A store with the workshop's personality

El retoThe challenge
Darle al taller familiar de figuras de yeso su propia tienda —catálogo, pedidos y envíos— con un panel que la dueña pudiera usar sola.
Give my family's plaster-figure workshop its own store —catalogue, orders and shipping— with a dashboard the owner could run on her own.
La soluciónThe solution
Tienda completa con dominio propio, montada en Cloudflare, y una marca hecha a la medida: logo vectorizado, stickers con la misma carita, paleta y botones que se sienten de juguete.
A complete store on its own domain, built on Cloudflare, with a made-to-measure brand: a vectorised logo, stickers with the same little face, a palette and buttons that feel like toys.
  • Catálogo y «bolsas para armar» con combinaciones por tallaCatalogue and build-your-own bags with size combinations
  • Cotización de envío en vivo con 8 paqueteríasLive shipping quotes from 8 carriers
  • Panel de productos, pedidos e inventario; etiqueta de envío imprimibleProducts, orders and stock dashboard; printable shipping label
  • Correos automáticos y confeti al comprarAutomatic emails and confetti at checkout

En línea en gart.com.mx; la dueña ya carga y administra sus productos.Live at gart.com.mx; the owner already uploads and manages her products.

Cloudflare WorkersD1R2ReactSkydropx
Visitar gart.com.mxVisit gart.com.mx ↗
gart.com.mx

La marca, pieza por pieza

The brand, piece by piece

Figuras de yeso
Figuras de yesoPlaster figures
Amigurumis
Amigurumis
Kits para pintar
Kits para pintarPainting kits
Empaque
EmpaquePackaging
Etiquetas
EtiquetasLabels
04

Sistema de escritorio · negocio familiar

Desktop system · family business

AdminÓptica

El retoThe challenge
La óptica llevaba ventas y saldos en un Excel y en pólizas de papel: saber quién debía, cuánto y desde cuándo tomaba horas.
The optical shop tracked sales and balances in a spreadsheet and paper ledgers: knowing who owed what, and since when, took hours.
La soluciónThe solution
Una app de escritorio para Windows que funciona sin internet: notas de venta con graduación, cobranza con saldo vivo, caja del día, inventario con código de barras y estadísticas.
A Windows desktop app that works offline: sales tickets with prescriptions, receivables with a live balance, daily cash, barcode inventory and statistics.

Pasó de resolver una óptica a ser un producto con licencia que usan otras ópticas, con actualizaciones automáticas.It went from solving one shop to a licensed product other optical shops use, with automatic updates.

PythonQt (PySide6)SQLiteExcel
AdminÓptica · datos de ejemplo
AdminÓptica — pantalla con datos de ejemplo
AdminÓptica — pantalla con datos de ejemplo
AdminÓptica — pantalla con datos de ejemplo
AdminÓptica — pantalla con datos de ejemplo
AdminÓptica — pantalla con datos de ejemplo
AdminÓptica — pantalla con datos de ejemplo
AdminÓptica — pantalla con datos de ejemplo

Pruébalo aquí

Try it here

Una versión mini, con una óptica y clientes inventados

A mini version, with a made-up shop and customers

Haz una nota, cobra un abono y mira cómo cambian la cobranza y la caja del día. Nada de esto sale de tu navegador.

Create a ticket, take a payment and watch receivables and today's cash update. Nothing leaves your browser (the demo is in Spanish, like the app).

05

App para estudiar japonés

Japanese study app

Kana Study

El retoThe challenge
En mis clases de japonés ninguna app seguía los libros del curso ni funcionaba sin internet.
In my Japanese classes no app followed the course books or worked offline.
La soluciónThe solution
Una app web de un solo archivo, alineada a los libros, que se instala en el celular y funciona sin conexión; con estética de papel, tinta y sello.
A single-file web app aligned with the books, installable on the phone and working offline; with a paper, ink and seal look.
  • Hiragana, katakana, más de 470 palabras y númerosHiragana, katakana, 470+ words and numbers
  • Cinco formas de practicar: reconocer, recordar, dibujar a mano, hira↔kata y parejasFive practice modes: recognise, recall, hand-writing, hira↔kata and pairs
  • Tabla de kana, audio y una celebración al terminarKana chart, audio and a little celebration when you finish

La usan mis compañeros de clase.My classmates use it.

HTMLJavaScriptPWAWeb Audio
Abrir la appOpen the app ↗

Pruébalo: ¿cómo se lee?Try it: how is it read?

Y otras más chicas

And some smaller ones

  • Avisos de render

    Render alerts

    Addon + bot: cuando termina un render en Blender me avisa por Telegram y por la bocina.

    Add-on + bot: when a Blender render finishes it pings me on Telegram and on the speaker.

  • Rifa familiar

    Family raffle

    App web para rifas con código familiar, boletos y pago por SPEI; ya sorteó una rifa real.

    Web app for raffles with a family code, tickets and bank-transfer payment; it already ran a real draw.

  • Este portafolio

    This portfolio

    Un generador en Python: de mis renders originales a páginas por marca, bilingües, con visores 3D y videos automáticos.

    A Python generator: from my original renders to bilingual, per-brand pages with 3D viewers and automatic videos.

← Volver al portafolio← Back to the portfolio