NG
← Inicio

Proyectos

EN PRODUCCIÓN

Caramelito

Plataforma gratuita para ayudar a animales en situación de calle y conectar a las personas que pueden ayudar.

El problema

Los animales en situación de calle necesitan que alguien cercano se entere y pueda ayudar. Caramelito conecta cada reporte con personas cercanas y suma historial de salud de mascotas, vacunas, recordatorios y búsqueda de veterinarias cercanas. El acceso es gratuito para los usuarios.

Mi rol

Mi responsabilidad técnica principal es el backend, desarrollado en Go con Gin: diseño de la base de datos en PostgreSQL y del esquema de RabbitMQ, configuración de buckets en Cloudflare R2 y del entorno de producción en un VPS Linux con Nginx y Docker, además de la configuración del dominio y Authenticated Origin Pulls en Cloudflare.

Proyecto en evolución.

Landing de Caramelito
App de Caramelito

Tecnologías

  • Go
  • Gin
  • PostgreSQL
  • RabbitMQ
  • Cloudflare R2
  • Docker
  • Nginx
  • Linux
EN DESARROLLO

NeatStorage

Almacenamiento local con enfoque en privacidad y seguridad, pensado para ejecutarse en un NAS, un servidor doméstico o un mini-PC.

El objetivo es un servicio en Go que guarde archivos localmente, separados por usuario y cifrados.

Proyecto en desarrollo: no es un producto terminado ni listo para producción. Todavía no tiene repositorio público.

  • Go
  • ChaCha20-Poly1305
  • Linux

Trabajo en curso

  • Servicios backend en Go.
  • Gestión de archivos mediante streaming.
  • Organización del almacenamiento por identificador de usuario.
  • Escritura de archivos y manejo de directorios en Linux.
  • Formato de almacenamiento cifrado por bloques con ChaCha20-⁠Poly1305.
  • Gestión de metadatos y tratamiento de errores de lectura y escritura.

En exploración

  • Modelo de claves: una clave de cifrado por archivo (DEK) protegida por una clave de cifrado de claves (KEK).

Cómo viaja un archivo

  1. Flujo del archivo Lectura por streaming
  2. Bloques Formato por bloques
  3. ChaCha20-⁠Poly1305 Cifrado autenticado
  4. Disco Almacenamiento local
KEK DEK por archivo

La DEK de cada archivo quedaría protegida por la KEK. En exploración.

REPO PÚBLICO

NextWeight API

Backend de un sistema de recomendación de rutinas de ejercicio.

De la consulta a la recomendación

  1. Consulta Músculo, dificultad, intensidad
  2. Vector La consulta se vectoriza
  3. Similitud coseno Contra los ejercicios en memoria (hash map)
  4. Recomendación Ejercicios ordenados por similitud

Cómo recomienda

Recomienda ejercicios según músculo, dificultad e intensidad. Vectoriza los ejercicios y las consultas, calcula la similitud coseno entre ellos y genera las recomendaciones. Al iniciar, carga los datos en memoria con un hash map para facilitar el acceso.

Ver repositorio en GitHub (se abre en una pestaña nueva)

Tecnologías

  • Go
  • PostgreSQL
  • REST API
  • Docker
  • Nginx
enes